本ページでは以下のページを要約するとともに、個人的な解説も記載しています。独特な解釈をしている部分があるので、誤りなどの指摘はtwitterまでお願いします。
参考ページ
はじめに — scikit-learn 1.1.2 ドキュメント
https://scikit-learn.org/stable/tutorial/basic/tutorial.html
閲覧日:2022年10月8日
https://www.yosoaidol.com/p/scikit-learnpython.html
よりも少しだけ高度な内容になっています。
こちらのページではscikit-learnの学習を進める上での用語と簡単な学習の例を紹介します。
問題設定
一般的に機械学習では、任意の数のデータから、未知のデータから得られる解答を予測しようとする試みです。1つ1つのデータが複数の値からなる場合、そのデータは複数の「特徴」があるという表現をします。
※「特徴」、「特徴量」などと表現されます。
問題はいくつかにカテゴリに分類することができます。
教師あり学習
既知のデータから、そのデータに付属するグループや値を予測します。
さらに教師あり学習は次の2つがあります。
分類
それぞれのデータは2種類以上のグループに所属しています。既にグループのラベル付けされたデータから、ラベルがついていないデータのグループを予測する学習のことを分類と呼びます。
分類問題の例としては、手書きの数字認識があります。この問題の目的は、入力された値(画像データ)を有限個のグループどどれかに割り当てることです。
回帰
予測される値が分類のように有限個のグループではなく、連続変数になる場合の問題を回帰と呼びます。回帰問題の例として、鮭の体長を年齢と体重の関数として予測するような問題があります。
教師なし学習
学習用のデータは、教師あり学習のデータと異なり答えとなる教師データを持ちません。
この問題の目標は3つあります。
・クラスタリング・・・大量のデータを複数のグループに分割する
・密度推定・・・データを生成する確率密度関数を推定
・次元削減・・・高次元からデータを射影し、次元数を減らす
データの分割
機械学習はデータを分析し学習、予測を行います。学習と予測に使うデータが同じだと、そのAIモデルを評価した際に高い値が出てしまい、未知のデータに本当に有効なものかはわかりません。
そこで、データセットを学習用とテスト用に分割します。学習用のデータのことを本ブログでは「学習データ」とよび、評価用のデータのことを「テストデータ」と呼びます。
学習データを使いAIモデルを作成し、テストデータを使ってAIモデルの評価を行います。