DS講座 機械学習講座

【機械学習講座2】機械学習

こんにちは,shun(@datasciencemore)です!!

今回は機械学習についてやっていきます.

よく機械学習って聞くけど,改めて何かと聞かれるとよくわからないと思います.

そこで今回は機械学習について掘り下げていきます!

0.機械学習ってなに??

機械学習ってなんですか??

機械学習は,コンピュータにデータを与え,そのデータから付加価値となる情報を得る技術のことだよ!!
機械学習は,大きく次の3種類に分類できるんだ!!
1.教師あり学習
2.教師なし学習
3.強化学習

はい,これだけ聞いてもよくわからないですね笑

イメージとしてはこんな感じです.

こんな感じで

①データを用意する.

②コンピュータにそのデータを渡す.

③コンピュータが渡されたデータを何らかの方法で計算し,付加価値を出力する.

でこの何らかの方法のことを機械学習と呼んでいます.

ちなみにAI(人工知能)と機械学習とディープラーニングの関係は次のようになります.

よく見る図なので見たことある方も多いと思います.

これは,AIの一部が機械学習であり,機械学習の一部がディープラーニングってことですね.

個人的にはなんで機械学習のうち,ディープラーニングが特別扱いされているか謎ですが,ディープラーニングが数々のブレイクスルーを起こしてきたのも事実なので,ディープラーニングをピックアップしたいんだと思います.

機械学習はディープラーニング以外も色々あるので,そこだけは誤解しないでくださいね!

ちなみにAIの定義は広すぎるのと専門家のあいだでも意見が割れているのでここでは深入りしないことにします.

それでは,次項から教師あり学習,教師なし学習,強化学習についてもう少し詳細に説明していきます.

1.教師あり学習

教師あり学習は,学習データ(train)から正解パターンを学習し,それを評価データ(test)に適用することで,評価データの予測値を算出するという処理のことです.

教師あり学習は,予測値が数値のときは回帰,カテゴリのときは分類と2つのグループに細分化されます.

以下,回帰と分類の例を見てみましょう.

1.1.回帰

まずは回帰の例を見てみましょう.

以下の図のように健康診断データがあるのですが,一部のデータのみ身長がわからないため,身長がわかる残りのデータをもとに身長がわからない一部のデータの身長を予測することを考えてみましょう.

ここで,予測したいデータ(今回の場合は身長)を目的変数,予測の元となるデータ(今回の場合は,性別,年齢,体重)を説明変数と呼びます.

この場合,身長がわからない一部のデータを評価データ,身長がわかる残りのデータを学習データとし,以下の流れで身長の予測を行います.

① 学習データをコンピュータに渡す.

② コンピュータが機械学習を用いて,学習データから正解パターンを学習する.
※この学習データから学習した正解パターンのことをモデルという.

③ 評価データを②で得たモデルに適用する.

④ 評価データの目的変数に対する予測値が出力される.

1.2.分類

続きまして分類です.

1.1.の回帰の例を少し変えて,健康診断データのうち,一部のデータが性別がわからず,性別がわかる残りのデータをもとに性別がわからない一部のデータの性別を予測することを考えてみましょう.

この場合は,

説明変数:年齢,体重,身長

目的変数:性別

となりますね!

流れについては,1.1.回帰の場合と同様なので省略します.

2.教師なし学習

教師なし学習は,教師あり学習と違い,学習データに正解(目的変数)がありません.

教師なし学習は,与えたデータの特徴を抽出し,分類する処理のことです.

先ほどと同様,健康診断データで考えてみましょう.

学習データとして,年齢,体重,身長がわかっているデータがあるとします.

このデータを使用して,性別が男性か女性かを分類したいとします.

この時,以下の流れで男女の分類が行われます.

① 学習データをコンピュータに渡す.

② コンピュータが機械学習を用いて,学習データの特徴パターンを学習する.

※この学習データから学習した特徴パターンのことをモデルという.

③ 学習データを②で得たモデルに適用する.

④ 学習データが特徴パターンに応じて分類される.

ざっくり説明すると,左上の散布図から右上の散布図のようにデータを分類するというイメージです.

3.強化学習

強化学習は,試行錯誤を通じて,将来的な価値を最大にする行動を学習する処理のことです.

これも言葉だけだと何言ってるかよくわかりませんが,概念としてはそんなに難しくありません.

要はいい行動をした時にはほめてあげて,悪い行動をした時には注意してあげる,それを繰り返すとどんどん悪い行動をしなくなっていい行動が増えていくよねってことを言っています.

以下の図のように小学生に物事を教えることをイメージするとわかりやすいと思います.

小学生が良いこと(テストでいい点を取る,寄り道しないで帰ってくるなど)をする ⇒ ほめる

小学生が悪いこと(テストで悪い点をとる,寄り道して遊んでくるなど)をする ⇒ 注意する

ということを繰り返すと,小学生は良いことをどんどん学習していき,最終的には悪いことはほとんどしないで,良いことをたくさんするようになります.

現実はこんなにうまくいきませんがね笑
イメージとしておさえておきましょう!
ちなみに強化学習は,エージェントやら環境やら報酬やら難しい専門用語がでてきますが,さきほどのイメージを難しい用語にしただけです.

まとめ

機械学習は,大きく以下のように分類できるのでした.

1.教師あり学習
2.教師なし学習
3.強化学習

このうち,本講座では,1.教師あり学習に焦点を当てていきます.

なぜかというと,教師あり学習は,データ分析プロジェクト全体の大部分(7割程度)を占めるため,教師あり学習ができないと仕事にならないからです.

ほんとは全部をまんべんなくやるのが理想ですが,我々にはそんな時間はありません.

なので,一番使用頻度の高い教師あり学習の基礎をまずはサクッと学習してしまいましょう!

教師あり学習だけでもボリュームはかなりありますよ!

次回からはいよいよ機械学習(教師あり学習)を具体的にどのように実施していくかについて説明していきます.

お疲れ様でした!!

-DS講座, 機械学習講座