【G検定学習】機械学習の基礎

機械学習(AI)
スポンサーリンク

前回に引き続き、G検定の出題範囲である、機械学習の基礎についてまとめてみた。

スポンサーリンク
スポンサーリンク
スポンサーリンク

教師あり学習

教師データ(入力とそれに対応する正解ラベルの組)を使って予測値を正解ラベルに近づけることを目標に学習を行う手法。予測の対象によって、回帰分類の2つに分けられる。

回帰

出力値(数値)の予測(例えば、家賃、年収、気温の予測)

回帰の手法

回帰の代表的な手法は線形回帰。線形回帰には、単回帰分析重回帰分析の種類がある。深層学習でも回帰を行うことができる。

分類

あらかじめ設定したクラスにデータを割り振る(クラス分類、例えば、画像に写っている犬や猫の識別)

分類の手法

サポートベクターマシン、決定木、ランダムフォレスト、ロジスティック回帰、kNN法など様々な手法がある。それぞれの詳しい説明は、機械学習の具体的手法にてまとめる。

過学習

過学習とは、学習済みモデルが、学習に用いたデータに対しては、高い精度で正解ラベルを予測できる(訓練誤差が小さい)にもかかわらず、学習に用いていないデータ(未知のデータ)に対しての予測精度が悪いまま(汎化誤差がちいさくならない)になってしまう現象のことを指し、企画学習における最大の問題と呼ばれている。過学習解消のためには、正則化などが用いられる。

ホールドアウト法

教師あり学習では教師データをすべて訓練に用いることはせず、一部を「テストデータ」として分離しておき、残りの「訓練データ」を学習に用いるのが一般的。この手法をホールドアウト法と呼ぶ。この手法でモデルが過学習を起こしていないかを調べることができる。

交差検証(クロスバリデーション)

データをいくつかに分割し、テストデータに用いるブロックを順に移動しながらホールドアウト法による検証を行い、その精度を平均する手法。

計算量が多くなるなどの欠点はありますが、データ数が少ない場合にも、ホールドアウト法と比較して信頼できる精度が得られるなどの理由で、精度検証においてもっともよく用いられている。

教師なし学習

教師データを使わずに、データの本質的な構造を浮かび上がらせる手法。代表的な手法は、クラスタリング次元削減です。

クラスタリング

似たデータがなす「クラスタ」を抽出する(クラスタはデータから自動的に導かれる)

クラス分類とは、別概念であることに注意する。クラス分類とは、エンジニアがあらかじめ設定した「クラス」にデータを適切に分類する(教師データを使う)

クラスタリングの手法

k-means法など与えられたデータ群をいくつかの集まり(クラスタ)に分けることで本質的な構造を浮かび上がらせる手法。例えば、ECサイトの購買履歴をもとに、購買行動が似た顧客をクラスタに分けて顧客の購買行動を分析するなど、マーケティングなどで多く用いられている。

次元削減

データの情報を失わないようにデータを低い次元に圧縮する手法の総称。

次元削減の手法

主成分分析が特によく用いられる手法。データから「主成分」という新たなデータを求める、線形な次元削減の手法を指します。例えば、身長と体重から肥満度を表すBMIを計算する例は、「(身長、体重)⇒BMI」という、2次元から1次元の次元削減の例として有名である。

強化学習

収益(報酬の和)を最大化する方策を獲得することを目的とした手法

エージェント(プレイヤー自身)の目的は収益を最大化する方策を獲得すること。エージェントが収益を最大化するよう行動を選択することで状態が変化しますが、変化した城代で再び最良の行動を選択するという行為を繰り返すことで、収益を最大化する方策を獲得します。

例えば、チェスや将棋、囲碁などのボードゲームのAIプレイヤーなどを強化するのに強化学習が使われる。

強化学習キーワード

エージェント

ある環境で動くプレイヤー

状態

エージェントが置かれている環境

行動

エージェントが取る行動

収益

エージェントが行動することにより得られる評価値

価値観数

将来的に得られる収益の期待値を表す関数

方策

ある状態の時、どの行動をとるべきかを示す関数。決定的に行動を決めるものと確率的に決めるものがある。

Deep Q-Network(DQN)

価値観数の計算を近似計算するディープニューラルネットワーク。ディープマインド社が開発した。DQNを用いる強化学習を、深層強化学習と呼ぶ。

機械学習の手法を利用する際に重要な3つのプロセス

データの前処理

  • データをモデルに正しく入力できるようにする
  • データの大きさをある程度均一にする

モデルを用いてデータを扱うための準備や、学習・予測がうまくいくようにするための工夫を行わなければ、十分な結果が得られない。前処理には次のようなものがある。

  • 欠損値の処理、補間(空欄のあるデータを消去/補間する)
  • 名寄せ(アンケート結果などの標記の揺れを統一する)
  • 正規化(データをスケーリングする)  正則化との混同に注意!
  • 標準化(平均を0、分散を1に変換する)
  • 時系列データの時間粒度の変更
  • 画像データのサイズ統一化、グレースケール化
  • テキストデータの分かち書き、不要文字の削除、半角全角の統一

基礎集計

データの傾向を事前に把握しておくために重要で、前処理よりもさらに前に行われる。

  • 各種代表値(平均、分散、標準偏差など)を計算する
  • 散布図行列をプロットして傾向を調べる
  • 送還行列を表示し、傾向を調べる

特に相関係数の高いペアを探すことは、重回帰分析などを行う際に極めて重要になる。

特徴量エンジニアリング

データの前処理、基礎集計と並んで、特徴量エンジニアリングもとても重要なプロセスです。特徴量とは、今扱っているデータをよく表す特徴を数値で示したものです。例えば、「人間」を表す特徴量としては、身長、体重、根鈴、性別などを上げることができます。

特徴量エンジニアリングとは、モデルが認識しやすい特徴をデータから作ることを言います。例えば、カテゴリカル変数(性別、髪の色、国籍などのように「何かの種類」を表す変数の事)を「カテゴリカル変数であるとわかる形」に変換(encoding)することは特徴量エンジニアリングの一つです。

具体的には、たった1つの成分だけが1、残りの成分は0という形の特徴量(ベクトル)に変換をします。この形の事を one-hot-encoding と呼びます。そのほかにも次のような処理がある。

  • 日付データの変換(文字列などで書かれた日付データを扱いやすい形式へ変換)
  • 多項式特徴量を生成(特徴量を組み合わせてより良い特徴量を作る)

また、重回帰分析を行う際に重要になる「多重共線性の検出」なども重要です。

次回は、機械学習の具体的手法についてまとめる。

コメント

タイトルとURLをコピーしました