第4章 機械学習の具体的な手法
4.1 学習の種類
教師あり学習 |
正解ラベルが未知であるサンプルに対して正解ラベルを予測するモデルを生成する |
教師なし学習 |
データセット内の未知の構造を既存のラベルなしにモデル化することを目的とする |
アンサンブル学習 |
複数の学習モデルが協調し、正解ラベルを予測するモデルを生成する |
半教師あり学習 |
教師あり学習と教師なし学習を組み合わせた手法でラベル付きデータとラベルなしデータの両方を含むデータセットを使用します。必要十分なラベル付きデータが用意できない場合でもより精度を高めることができますが、ラベルなしデータに基づいてモデルが行った予測の精度が確認できないため、教師あり学習より精度が低くなる可能性があります。 |
強化学習 |
エージェントが得られる報酬を最大化するためにどのように行動するべきかを学習する |
※モデルとは入力値から出力値を予測するためのルールのことです。機械学習における学習とはモデルを調整することを言います
4.1.1 分類
教師あり学習における分類問題でデータを3種類以上のカテゴリーに分ける場合を他クラス分類という。
一方、データを類似度によってグルーピングするクラスタリングと呼ばれる手法もデータを分けるという意味では共通している。しかし、クラスタリングは教師なし学習の一種であり、分けるべきカテゴリーを明示的に指定することはない
4.2 代表的アルゴリズム
|
アルゴリズム |
用途 |
教師あり学習 |
線形回帰 |
回帰 |
ロジステック回帰 |
分類 |
|
決定木 |
回帰・分類 |
|
ランダムフォレスト |
回帰・分類 |
|
ブースティング |
回帰・分類 |
|
サポートベクトルマシン |
回帰・分類 |
|
ニューラルネットワーク |
回帰・分類 |
|
教師なし学習 |
k-means法(k-平均法) |
クラスタリング |
主成分分析 |
次元削減 |
半教師あり学習は ブートストラップ法とグラフベースアルゴリズムの大きく二つの手法に分かれます。
ブートストラップ法 は学習したモデルを用いて正解ラベルなしデータの推論を行い、推論結果をもとに正解ラベルなしデータに対して正確ラベルを付与しながら学習を進めていく手法です
グラフベースアルゴリズムはデータとデータの近さ(類似度)をもとに近いものは同じラベルだろうと考えて正解ラベルありデータから正解ラベルなしデータに正解ラベルを伝播しながら学習を進めていく手法です
4.2.1 アルゴリズムの内容
線形回帰 |
回帰は株価の予測や気温の予測といった問題に対して使われ、予測結果を連続値で出力するある事象を予測する際に必要となる値を説明変数、予測の対象となる値を目的変数という回帰分析をする際にはいくつかの手法がある。 利用する説明変数が一つのみの場合は単回帰分析といい、複数の場合は重回帰分析という。 また変数の数だけでなく変数の関係から回帰の種類を分類でき、特に説明変数と目的変数の関係を直線で表現できる回帰を線形回帰という |
ロジスティック回帰 |
ロジスティック回帰は出力にシグモイド関数を用いることで確率を得ることができます。 例えば出力の値が0.5以上であれば正例、0.5未満であれば負例と設定しておくことで確率を元にデータを2種類に分類します。 |
決定木 |
選択肢がフリー状に枝分かれしていくモデルを構築しデータを選択肢に当てはめていくことで出力を決定する機械学習の手法を決定木という。 |
ランダムフォレスト |
複数の決定木による多数決で最終的な出力を決定する手法をランダムフォレストという。 ランダムフォレストにおけるそれぞれの決定木はブートストラップサンプリングによってランダムに抽出したデータによって構築される。 ランダムフォレストのように複数の学習器を組み合わせた手法はアンサンブル学習と呼ばれる。アンサンブル学習の主な手法にバギングとブースティングがある。 |
バギング ブースティング |
バギングとブースティングも抽出した一部のデータを用いて複数の学習器を構築するが、バギングは並列的に学習することで比較的高速に学習し、ブースティングのは前の学習の結果を利用して逐次的に学習することで比較的高い精度を出す傾向にある。ブースティングを用いたアルゴリズムとして adaboost や勾配ブースティングが有名である。 |
サポートベクトルマシン |
サポートベクトルマシンはマージン最大化という考え方で構成されており条件として線形分離ができなければならない |
ニューラルネットワーク |
人間の脳にはニューロンと呼ばれる神経細胞が数多く存在しネットワークを構成している。この人間の脳の神経回路を再現したアルゴリズムのことをニューラルネットワークと呼ぶ。ニューラルネットワークは入力層、隠れ層、出力層から構成される。隠れ層を深くしたディープランニングの登場により精度が向上し大きな注目を集めることになった |
k-means法 |
クラスタリングをするためのアルゴリズム。 クラスター(グループ)の数を決めて、同一のクラスターのデータの距離が近くなるように調整する |
主成分分析 |
主成分分析はデータの中で相関を持つ多数の特徴量から、相関のない少数の特徴量へと次元削減する手法です。 似た特徴が多く存在するとデータが区別しにくくなり精度が下がりやすくなります。 主成分分析で次元を圧縮しデータを解釈しやすい状態にすることで精度の向上と計算量の削減が見込めます。 |
4.3 訓練データとテストデータ
機械学習の目的は、手元にあるデータを学習し特徴を掴むことによって、未知のデータに対して正しく予測・識別できるようになることである。この未知のデータに対する予測能力のことを汎化性能を呼ぶ。
最もシンプルな方法としてはモデルの汎化性能を評価するためデータ全体を訓練データとテストデータに分割する。
訓練データを用いてモデルの学習を行い、データの特徴を掴み、学習済みモデルを作成する。その後、テストデータを使用して学習済みモデルの汎化性能を評価する。
また訓練データに対してのみ予測能力は優れておりテストデータに対しての予測能力つまり汎化性能が劣ってしまう現象のことを過学習と呼ぶ
機械学習における検証の方法でデータの一部を学習データに使い、残りをテストデータに割り当てるというシンプルな方法をホールドアウト検証という。
これとは別によく利用される検証方法としては K 分割交差検証がある。K-分割交差検証ではデータをK個のサブセットに分割する。k-1個のサブセットのデータで学習を行い、残り一個のサブセットのデータでテストを行う。学習・テストに使うサブセットを換えながらえながらこれをk回繰り返す。 K-分割交差検証は少ないデータでも効率よく学習できるという利点がある
4.4 評価指標
2値分割において予測した分類結果と実際の正解ラベルをまとめてまとめた以下の表は混同行列と呼ばれる。
-
分類結果
スパムメールである:真
分類結果
スパムメールではない:偽
正解ラベル
スパムメールである:真
真陽性
(True Positive TP)
偽陰性
(False Negative FN)
正解ラベル
スパムメールではない:偽
偽陽性
(False Positive FP)
真陰性
(False Negative TN)
正解率= (TP +TN) / (TP + FP + TN + FN )
全データの中で予測が当たった確率
適合率 = TP / (TP + FP)
真と予測した中で、正解した(実際の真)割合
再現率 = TP / (TP + FN)
真のデータの中で正解した(実際の真)割合
F値 = 2 * 適合率 * 再現率 / (適合率 + 再現率)
適合率と再現率の調和平均 適合率と再現率とはトレードオフの関係にある
例)
工場で出荷する製品の不良品かどうかを機械学習で識別するとします。
1万個の製品中に不良品が50個含まれているケースで不良品を一個も見つけられなかった場合正解率は99.5%となる。
良品と不良品の割合に大きな差があるため正解率だけでは適切に評価できないこうした場合、他の評価指標を用いて精度を測ることができる。
不良品を見落とすことを避けたい場合は再現率が、ある良品を不良品と誤判定することを避けたい場合は適合率が指標として適する