目標としてます。随時更新します。
◎ 機械学習
☆機械学習とは、コンピュータに学習させて人間と同じような認識・判断をさせる人工知能の一種のことです。
◎ 学習
☆機械学習における学習とは、目的達成のために機械学習アルゴリズムの性能を最大化するプロセスのことです。
具体的には、「取得した特徴量を解析し、重み付け、閾値、その他パラメータを調整」することです。
◎ 機械学習の種類
☆機械学習には、
- 「教師あり学習」
- 「教師なし学習」
- 「強化学習」
という3つの学習方法があります。その背後には「回帰」「分類」「クラスタリング」などの統計学があります。また、解を求めるために「決定木」「SVM」「k平均法」などのアルゴリズムが存在します。
○ 学習方法
教師あり学習
学習データに正解ラベルを付けて学習する方法。
例
教師なし学習
学習データにラベルを付けないで学習する方法。
例
強化学習
正解を与える代わりに将来の価値を最大化することを学習する方法。
例
回帰(Regression)
☆ 回帰とは、「たくさんのデータをプロットをした時に、その関係性を表す線(関数)を見いだすこと」です。
コンビニの売上予測に使うとしたら「これまでのデータを元に傾向(関数)を導き出し、今後の売上(数値)を予測する」というような使い方ができます。
分類(Classification)
☆ 分類とは、「未知のデータを自動分類すること」です。
クラスタリング(Clustering)
☆ クラスタリングとは、「色々なものの中から似た者同士を集めてグループ化すること」です。クラスタリングは、大量のデータをカテゴライズするのに適しています。
○ アンサンブル学習
☆ アンサンブル学習とは、個々に学習した複数の学習器を融合させて汎化能力を高める学習手法。
アルゴリズム例)
・バギング
・ランダムフォレスト
・ブースティング
◎ 水増しと転移学習
○水増し
水増しとは、元の学習データに変換を加えてデータ量を増やす手法のことです。
変換の種類は以下のようなものがあります。
・ノイズ増加 ・コントラスト調整 ・明るさ調整 ・平滑化
・拡大縮小 ・反転(上下左右) ・回転 ・シフト(水平垂直)
・部分マスク ・トリミング
・変形 ・変色
・背景差し替え
また、学習データを増やすことを大事ですが、本番データとしてありえないようなデータまで学習させてしまうと、正解率が下がってしまいます。
水増しは本番データを意識して行うことが重要です。
○ 転移学習
☆ 転移学習とは、ある領域(ドメイン)で学習したモデルを、別の領域に使って普通に少ないデータで追加学習させる手法です。
転移学習の基本は、既存モデルが一生懸命学習した結果を利用することです。
つまり、誤差逆伝播を繰り返してチューニングされた各ノード間の重み付けを再利用することです。
◎ 機械学習の問題
☆機械学習には、以下のような典型的な問題がいくつかあります。
- 学習不足
- 過学習
- バグ
○ 学習不足(Under fitting)
☆学習不足とは、学習データが少なくモデルが単純すぎるため汎化誤差が大きくなることです。また、そのケースはバリアンスが大きいと言います。
○ 過学習(Over fitting)
☆過学習とは、特定の訓練データばかりを学習しすぎて、分類器がそのデータだけに強い(一般のデータには弱い=汎化能力が低い)モデルになってしまうことです。また、そのケースはバリアンスが大きいと言います。
学習する際は、評価データで精度向上具合を確認してある程度、飽和したところで学習を終了させる必要があります。
○ バイアスのバリアンス
バイアス
機械学習でいうバイアスとは、モデルと学習データの平均的なズレのことです。
例えば、データに対して学習不足でモデルが単純すぎて汎化誤差が大きい場合、バイアスが大きい(アンダーフィッティング)と言います。
バリアンス
機械学習でいうバリアンスとは、モデルの複雑さの度合いのことです。
例えば、特定のデータで過学習をしてしまい、そのデータに依存したモデルとなってしまって汎化誤差が大きくなることをバリアンスが大きい(オーバーフィッティング)と言います。