機械学習とは何か
機械学習とは、コンピュータが、たくさんの例から、自分で判断のしかたを見つけることです。人が「雨なら少ない」と規則を書くのではなく、答え付きの例を大量に見せて、似た例から判断させます。
写真の仕分けや、おすすめ表示にも使われています。今日は、いちばん単純な方法を、手で動かして理解します。
このレッスンのゴール
メモ
コンピュータが例から学ぶ流れを説明し、k近傍法で分類して、偏りに気づくことができる。
キーワード
| ことば | いみ | れい |
|---|---|---|
| 機械学習 | 例から、判断のしかたを自分で見つけるしくみ | |
| 特徴量 | 判断の手がかりにする数 | 気温、雨の量 |
| ラベル | その例の正しい答え | 混雑、静か |
| 訓練データ | 学習のために見せる、ラベル付きの例 | |
| テストデータ | 学習に使わず、力を確かめるために取っておく例 | |
| 偏り | 例の集め方が片寄っていて、一部の人や場合に弱いこと |
学生が入力するセルは、このプレビューでは空白です。
始める前に
メモ
上のバーの Start the lab を押してください。起動に1分ほどかかります。このレッスンでは、貸し出し数が300回以上の日を「混雑」、それより少ない日を「静か」と呼びます。ラボの出力には、英語の busy と quiet で出ます。
機械学習は例を見せて、力を測る
流れは3つです。1つ目は、ラベル付きの例を集めることです。2つ目は、その一部の訓練データで学習させることです。
3つ目は、取っておいたテストデータで、当たるかを確かめることです。ここでは、気温と雨の量から、その日が混雑か静かかを当てます。
気温と雨から、混雑か静かかを当てる
docker exec jupyter python3 steps/knn.pyここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。
正解率の読み方
accuracy は、テストの日のうち、当たった割合で、0.815、つまり約8割です。一方、always saying quiet は、何も考えず「静か」と答え続けたときの割合で、0.641 です。
学習した予想が、何も考えない答え方より、ずっと上でないと意味がありません。
k近傍法は似た例の多数決
k近傍法は、新しい日と気温と雨がいちばん近い例を、k個探します。その k 個の中で、いちばん多いラベルを答えにします。
近さは、2点の距離で測ります。気温の差と雨の差を2回ずつかけて足し、平方根を取ります。
例: 新しい日 (気温7度、雨5ミリ) の判断
| 例 | 気温、雨 | 距離 | ラベル |
|---|---|---|---|
| A | 5度、6ミリ | 約2.2 | 静か |
| B | 3度、8ミリ | 5.0 | 静か |
| C | 6度、10ミリ | 約5.1 | 静か |
| D | 20度、0ミリ | 約13.9 | 混雑 |
学生が入力するセルは、このプレビューでは空白です。
k = 3 のとき、何と答えるか
近い順に、A、B、C の3つです。ラベルは、静か、静か、静かなので、答えは「静か」です。D は遠いので、選ばれません。
k = 1 でも A だけを見て、「静か」と答えます。kを変えると、答えが変わる日もあります。
k を変えて、当たり方を比べる
docker exec jupyter python3 steps/knnk.pyここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。
kが小さすぎても大きすぎても困る
k = 1 では、学習した日の正解率が 0.963 と高いのに、取っておいた日は 0.728 まで下がります。例を丸暗記してしまい、新しい日に弱いのです。
k = 5 と 15 では、取っておいた日が 0.815 です。k = 45 と 135 では 0.826 で、ほとんど変わりません。
偏ったデータからは、偏った判断が生まれる
機械学習は、見せた例から学ぶので、例が偏れば判断も偏ります。夏の日だけで学習したら、冬の日には、ほとんど当たりません。
人に関わる判断では、もっと深刻です。ある地域の人の例が少ないと、その地域の人に対する判断が、まちがいやすくなります。
よくある間違い
注意
正解率が高ければ、いつでも良い予想だと考える人がよくいます。何も考えない答え方でも、64%は当たるのです。必ず、何も考えない答え方の正解率とくらべて、さらに、どんな日で外れるかを確かめましょう。
さらに挑戦: 外れた日を調べる
knn.py の最後に出る4つの数は、当たりと外れの内訳です。行が本当の答えで、列が予想です。
「混雑」を「静か」と予想した日と、その逆は、どちらが多いでしょうか。貸し出しサービスにとって、どちらの外れが困るか、考えてみましょう。