機械学習とは??
機械学習について学ぶ
今回は機械学習について超々基礎の部分を学習していきます。
pythonの学習を進めてきましたがどのように機械学習にかかわってくるのか、
すごく楽しみです!
機械学習とは??
人が明示的に挙動を指示することなしにコンピューターに学習能力を与えること。
データを解析し反復的に学習することでパターンを見つけだす
→学習した結果をもとに新たなデータを評価する
主に3つの機械学習の手法がある
- 教師あり学習
- 教師なし学習
- 強化学習
・教師あり学習
正解ラベルが付与されたデータを用いて学習する方法
例:動物の名前をこたえられるAIの場合
学習データ(動物の画像)に犬・猫と正解ラベルが付与されており、
そのデータをもとに学習していく
・教師なし学習
正解ラベルを利用せず、データ間の類似度を計算して
似たデータをグルーピング(クラスリング)したり、データの特徴や性質などを知る手法
例:図形がバラバラ(形・色が)に配置された状態を
図形単位でグルーピング
色単位でグルーピング
・強化学習
とある環境の中で行動を選択して環境から報酬を得ることで、学習を行い、
報酬が最も多く得られるような方策を学習する方法
例:囲碁の強化学習の例
環境-囲碁
行動-碁石を基盤に置く
報酬-相手の石を取り、自分の陣地を広げた時に報酬を与える
最初は適当に碁石を置いていくが、
動かしていくうちにたまたま相手の石が取れる!
→それを学習して最終的に囲碁ができるようになるイメージ
機械学習のワークフロー
前処理:データを学習しやすく整形
↓
学習 :データを学習し、モデルを整形
↓
評価 :生成したモデルの評価(本当に精度が高いか
- モデルとは
コンピュータが分かる形の入力値を受け取り、
何かしらの判定をして出力地を出すもの
機械学習やAIにおいては中心的な役割を担う頭脳のこと
犬の画像を入れた時に「パン」だと判断したら精度が低く、
しっかりと「犬」だと判断したら精度が高いモデルとなる
機械学習では「いかにして精度の高いモデルを生成するか」が重要
モデルの制度を高めるために行っていくことが上記のワークフロー!
前処理について
- 前処理
データには様々な問題があって、、
・悪ふざけ
・欠損値
・同じ意味だが違う値(例:大卒と学部卒など)
・数字などでは単位や「,」の有無など
そのようなデータを前処理でデータを扱えるよう整形する必要がある!
そのあとに、、
- 学習
データ間の関係を学習し、
あるデータを他のデータで説明するようなモデルを生成する
最後に評価!
ざっくりだとこのような感じ。
(後でそれぞれしっかり学習していきます)
所感
今回は流れを学習しました。
細部までは把握できてませんが、なんとなく全体像が見えました。
本当に人間でいうところの「頭脳」のようなものと思っていましたが
学習後の今では頭脳ではなく機械のようなものだと理解しました!
Discussion