機械学習の概要
機械学習
機械学習とは
機械学習はAIを実現するための手段の一つである。コンピュータが読み込んだデータからパターンを見つけ出し、そのパターンに従って分類や回帰などを実施する。機械学習の全体像を以下に示す。
機械学習の処理パターン
機械学習のアルゴリズム
機械学習には様々なアルゴリズムがあり、課題に適したアルゴリズムを選択する必要がある。代表的なアルゴリズムを以下に示す。
主な教師あり学習アルゴリズム
アルゴリズム | 分類 | 回帰 |
線形回帰 | ✕ | ◯ |
ロジスティック回帰 | ◯ | ✕ |
サポートベクトルマシン | ◯ | ◯ |
ナイーブベイズ | ◯ | ✕ |
決定木 | ◯ | ◯ |
ランダムフォレスト | ◯ | ◯ |
GBDT | ◯ | ◯ |
kNN | ◯ | ◯ |
ニューラルネットワーク | ◯ | ◯ |
主な教師なし学習アルゴリズム
アルゴリズム | 次元削減 | クラスタリング |
PCA | ◯ | ✕ |
LSA | ◯ | ✕ |
LDA | ◯ | ✕ |
k-means | ✕ | ◯ |
混合ガウス | ✕ | ◯ |
t-SNE | ◯ | ✕ |
線形回帰
線形関数を用いて予測する手法である。平均二乗誤差が最小になるように学習する。ただし、非線形なデータや外れ値を含むデータのように、適切な結果を得られない場合もある。
ロジスティック回帰
シグモイド関数を用いて分類カテゴリの確率を予測する手法である。名前に「回帰」と入っているが分類問題に利用される。ロジスティック損失(ログロス)が最小になるように学習する。決定境界(分類結果が切り替わる境界)は線形になるため、複雑な分類は出来ない。
サポートベクトルマシン
マージン最大化という、決定境界を学習するアルゴリズム。ロジスティック回帰と同様に決定境界は線形だが、サポートベクトルマシンの方が良い結果が得られる場合がある。
ナイーブベイズ
主に自然言語の分類で用いられる。ベイズの定理を基に、文章内に出現する単語から各カテゴリに分類される確率を計算し、確率が最も大きくなるものに分類する。(追記予定)
kNN
kNNは、学習データすべてを記憶しておき、未知データと学習データすべてとの距離を計算し、近傍k個のデータのラベルで多数決をとり、未知データの予測をする。
決定木
決定木は、学習データに対して条件分岐を繰り返して予測する手法。分岐時に不純度(一つのグループに含まれるラベルの数)が最も減少するように学習する。
ランダムフォレスト
ランダムフォレストでは、複数の独立した決定木を利用して、多数決をとることで予測精度を向上させる。
決定木を学習する際に、同じデータで学習してしまうと、すべての決定木が全く同じ予測結果を出すようになってしまい、多数決の意味がなくなる。そこで、学習データからランダムに復元抽出(ブートストラップ法)した上で、特徴量をランダムに選択したデータを用いて学習を実施する。
GBDT(勾配ブースティング木)
GBDTは、複数の決定木を直列につなげた構造になっていて、2本目以降の決定木では、目的変数とそれまでの決定木の予測値の差から、予測精度が上がるように修正していく。
ニューラルネットワーク
パーセプトロン
パーセプトロンでは、入力x1, x2, x3, …から出力yを得るアルゴリズムである。
入力が3つのの場合、yの計算は以下のように表せる。
ここで、w1, w2, w3は各入力に対する重み、fは活性化関数である。重みというパラメータを調整することで、様々な課題に対して有効なモデルを作ることができる。パーセプトロンの活性化関数はステップ関数で以下のように表せる。
ニューラルネットワーク
ニューラルネットワークはパーセプトロンを多段階に組み上げて、モデルをより複雑にしたもの。
パーセプトロンとは異なり、各ノードの出力は0か1かの二値ではなく、微分可能な連続的な値を取るような活性化関数を用いる。代表的な活性化関数にシグモイド関数がある。
誤差逆伝搬法
ニューラルネットワークでは、現在のパラメータを使って予測値を計算する順伝搬と、予測値と正解値のずれからパラメータを更新する逆伝搬を交互に繰り返すことによって学習が進む(誤差逆伝搬法)。パラメータの初期値はランダムに設定されていて、微分計算を用いて予測値が正解値に近づくようにパラメータを調整していく。
ディープラーニング
ニューラルネットワークの層を増やして深くしたモデル。最近ではニューラルネットワークというとディープラーニングを表していることも多く、特に区別する必要はない。
PCA(主成分分析)
次元削減の代表的な手法。身長と体重のように相関の強いデータに対して有効。新たな軸(主成分)は元の変数の数だけ作ることができ、情報量(分散)が多い順にPC1, PC2, …と設定する。各主成分が持つ情報量の割合は寄与率と呼ばれ、元の情報は寄与率の大きい主成分のみで表現できる。例えば、「身長-体重データ」の場合、PC1(第一主成分)を「体格」などと解釈し、PC1のみでもある程度の情報を表現できる。
LSA(潜在意味解析)
次元削減の手法の一つ。特異値分析を用いて次元圧縮を行う。(追記予定)
PLSA
次元削減の手法の一つ。LSAを確率生成モデルとして考え直したもの。(追記予定)
LDA(潜在的ディリクレ配分法)
次元削減の手法の一つ。PLSAをベイズ化したもの。(追記予定)
k-means法
クラスタリングの代表的な手法。各データにランダムにクラスタを割り当てた後、各クラスタの重心の計算と各データのクラスタを最近傍のクラスタ重心へ更新する作業を、クラスタの割り当てが変化しなくなるまで繰り返す。
GMM(混合ガウス分布)
k-means法ではデータは必ず一つのクラスタに属するようにクラスタリングされる。一方GMMでは、複数のガウス分布を線形に重ね合わせることで複数のクラスタに確率的に属するようにクラスタリングできる。各ガウス分布のパラメータ(平均と分散)をランダムに初期化した後、データの重みの計算とパラメータの更新を、パラメータが収束するまで繰り返す。
t-SNE
次元削減の手法の一つ。PCAと異なり、非線形な関係に対しても適用できる。高次元空間でのデータ間の距離を維持するように低次元空間に次元を圧縮する。