ひたすら公式本を読む。
学習の種類
- 教師あり学習:入力データを元に出力データを識別・予測する(例:過去の売上から未来の売上の予測、動物の画像を何の動物か識別)
回帰問題:連続値を予測する問題(過去の売上から未来の売上を予測)
分類問題:離散値を予測する問題(動物の画像を何の動物か識別)
- 教師なし学習:出力データがない。入力データの構造や特徴を対象とする(例:ECサイトの売上データから顧客層を認識する)
- 強化学習:行動を学習する仕組み。目的とする報酬(スコア)を最大化するためにはどのような行動を取っていけばいいか学習する(例:車の自動運転)
教師あり学習の具体的手法
- 線形回帰:回帰問題に用いる。データの分布があったときに最も当てはまる直線を考える
線形回帰に正則化項を加えた手法:ラッソ回帰、リッジ回帰
- ロジスティクス回帰:分類問題に用いる、シグモイド関数のモデルを出力。
与えられたデータが正例(+1)になるか、負例(0)になるかの確立が求まる。
出力の値が0.5以上でならば正例、0.5未満であれば負例と設定することで2種類にデータを分けることができる。
→より多くの種類に分けたい場合はソフトマックス関数を用いる
- ランダムフォレスト:決定木を用いる手法。特徴量をランダムに選び出す。学習に用いるデータもランダムに一部を取り出して使用(ブートストラップサンプリング)
それぞれの結果を用いて多数決をとることでモデルの最終的な出力を決定する。
ランダムフォレストのような複数のモデルで学習することをアンサンブル学習と言う。
厳密には全体から一部のデータを用いて複数のモデルを用いて学習する方法をバギングと言う。ランダムフォレストはバギングの中でも決定木を用いる手法という位置づけ。
- ブースティング:一部のデータを繰り返し抽出し、複数のモデルを学習させる(バギングと同様)
バギングは複数のモデルを一気に並列に作成する。
ブースティングは逐次的に作成する。誤ったデータを優先的に学習する。
モデル部分では決定木を用
いており、勾配ブースティング等が有名。
ランダムフォレストよりも良い精度が得られるが、並列処理をしないため学習時間が多い。
- サポートベクターマシン(SVM)-Support Vector Machine
ディープラーニング以前は機械学習において最も人気のあった手法。
異なるクラスの各データ点との距離が最大になるような境界線を求めることで、パターン分類を行う(距離の最大化=マージン最大化)
但し、高次元なデータや線形分類できないデータを想定し対処する必要がある。高次元なデータに対しては超平面で考える。線形分類できないデータは何をもってマージン最大化となるかを指定する。
データをあえて高次元に写像することで、写像後の空間で線形分類できるアプローチをする→この写像に用いられる関数をカーネル関数と呼ぶ。
この時計算が複雑にならないように式変形するテクニックのことをカーネルトリックと言う。
- ニューラルネットワーク
人間の脳の中の構造を模したアルゴリズム。
脳はニューロンと呼ばれる神経細胞が互いに結び付くことで神経回路を構成している。
単純なニュートラルネットワークのモデルとして単純パーセプトロンがある。複数の特徴量を受け取り、1つの値を出力する。入力を受け取る部分を入力層、出力する部分を出力層と表現する。入力層と出力層におけるニューロン間のつながりは重みで表される。
0~1の値をとる場合はシグモイド関数を用いる(モデル名称が単純パーセプトロンからシグモイド関数に変化するため注意)
単純パーセプトロンはロジスティック回帰と数式上の表現は同じになる。
層の間をどのように電気信号を伝搬させるかを調整する関数を活性化関数と言う。
更に層を追加したモデルは多層パーセプトロンと呼ぶ。入力層と出力層の間に追加された層を隠れ層と呼ぶ。隠れ層が追加されたことでネットワーク全体の表現力は大きく向上し、多層パーセプトロンでは非線形分類も可能。
層が増えることで重みの数も増えるが、予測値と実際の値との誤差をネットワークにフィードバックするアルゴリズム、誤差逆伝播法が考えられたことで効率的なネットワークの学習に貢献した。
- 自己回帰モデル(ARモデル)
対象とするデータは時系列データ。例えば株価の日足の推移など。
時系列データ分析のことを単純に時系列分析とも呼ぶ。
過去のデータが複数種類の場合の自己回帰モデルをベクトル自己回帰モデル(VARモデル)と呼ぶ。
教師なし学習の具体的な手法
- 階層なしクラスタリング(K-means法)
元のデータからグループ構造を見つけだし、それぞれをまとめる手法。
グループを分ける個数は自分で設定する必要がある。
グループはクラスタ(cluster)と呼び、k-means法を用いた分析のことをクラスタ分析と呼ぶ。
- 階層ありクラスタリング(ウォード法)
k-means法は別々のクラスタに並列に分類する方法だが、さらにクラスタの階層構造を求めるまで行うのがウォード法になる。
手順は最も距離が近い2つのクラスタを選び、それらを1つのクラスタにまとめる処理を繰り返す(クラスタリング)。
クラスタリングにおける各まとまりを樹形図で表したとき、デンドログラムと呼ばれる樹形図となる。
- 主成分分析
データの特徴量感の関係性、すなわち相関を分析することでデータの構造をつかむ手法。特徴量の数が多い場合に用いられ、少数の特徴量(主成分)を削減することが主たる目的となる。
主成分分析のほかにも特異値分解(SVD)、多次元尺度構成法(MDS)が良く用いられる。
可視化によく用いられる次元圧縮の手法はt-SNEが有名。
- 協調フィルタリング
レコメンデーション(推薦システム)に用いられる手法の一つ。
事前にある程度の参考となるデータがない限り推薦を行うことができない(コールドスタート問題)。
ユーザーではなく、商品側に特徴量を付与して推薦をするのはコンテンツベースフィルタリングと呼ぶ。
- トピックモデル
k-means法やウォード法と同様にクラスタリングを行うモデル。トピックモデルは複数のクラスタにデータを分類する。トピックモデルの代表的な手法に潜在的ティリクレ配分法(LDA)がある。
強化学習の代表的な手法
- 理論概要
- バンディエットアルゴリズム
- マルコフ決定過程モデル
- 価値関数
- 方策勾配