2013 joi春合宿 講義6 機械学習入門
TRANSCRIPT
2013/03/23山下 洋史@utatakiyoshi
JOI 春合宿 講義6機械学習入門
2013/03/242013春合宿 講義6 機械学習入門
おしながき
・9:00~9:30(ぐらい) イントロダクション
・9:30~11:40 コンテスト
(途中自由に休憩してもらってかまいません)
・11:40~12:00 結果発表・まとめ
2
2013/03/242013春合宿 講義6 機械学習入門
Part1: 学習とはPart2: 学習の性能Part3: 簡単な手法の紹介Part4: 今日の問題の紹介
3
イントロダクション
2013/03/242013春合宿 講義6 機械学習入門
イントロダクションPart1:学習とは
4
2013/03/242013春合宿 講義6 機械学習入門
みなさん
5
2013/03/242013春合宿 講義6 機械学習入門
4日間おつかれさまでした
6
2013/03/242013春合宿 講義6 機械学習入門
皆さんが4日間取り組んだ問題は基本的に
『ちゃんとした問題』でした
7
2013/03/242013春合宿 講義6 機械学習入門
『ちゃんとした問題』?代表選抜なんだから,『ふわっとした問題』だったら困るだろ!いい加減にしろ!
8
2013/03/242013春合宿 講義6 機械学習入門
それはそうなのですが,これはそういう意味ではなく,
9
2013/03/242013春合宿 講義6 機械学習入門
『ちゃんとした問題』:論理や計算や数学の世界に属していてその世界の中だけで答えが決まる問題
10
2013/03/242013春合宿 講義6 機械学習入門11
論理や計算や数学の世界
2013/03/242013春合宿 講義6 機械学習入門12
現実の世界 論理や計算や数学の世界
私たちは論理や計算や数学の世界にそのまま住んでいるわけではありません
2013/03/242013春合宿 講義6 機械学習入門13
現実の世界 論理や計算や数学の世界
モデル化
2013/03/242013春合宿 講義6 機械学習入門14
モデル化?
2013/03/242013春合宿 講義6 機械学習入門15
モデル化:
現実の世界を数学の世界に翻訳すること
・いろいろなやり方がある
・ただしある程度の目的はある
・目的は現実世界に即して決まる
(論理や計算や数学の世界からは分からない)
2013/03/242013春合宿 講義6 機械学習入門
・早く走る車が良い → エンジン出力・流体力学...・安くて丈夫な車が良い → 耐久性・製作コスト...
現実と数学の繋ぎ方には複数のやり方が考えられる数学の世界からは早く走る車が良いか安くて丈夫な車が良いかは分からない
16
Example: 車のデザイン
2013/03/242013春合宿 講義6 機械学習入門
現実の事象→データ→知識・天気 →毎日の雲の状態と雨が降ったかどうか →「黒い雲が多ければ雨が降りそう」・物理学 →リンゴが木から落ちる →「重力"F=mg"」(リンゴが木から落ちるというデータだけではこういうモデル化はできなさそうですが…)
17
学習
この流れを計算機の力を借りてやろう
2013/03/242013春合宿 講義6 機械学習入門18
現実の世界 論理や計算や数学の世界
現実の事象
知識活用
問題を定式化
フィードバック
計算機での処理
データをとる データ
学習の流れ
結果
2013/03/242013春合宿 講義6 機械学習入門
始めのステップで問題の構造を捉えそこねて
無駄なデータを集めたりするとその後で何をやってもうまくいきません
19
(天気を予想するのに昨日の夕飯の情報は全く使えない)
有用な情報は何か?をちゃんと考えなければならない
2013/03/242013春合宿 講義6 機械学習入門20
なので,対象の現象や目的についての知識
が必要
2013/03/242013春合宿 講義6 機械学習入門21
論理や計算や数学の世界から現実の世界に開いている
『ふわっとした問題』
2013/03/242013春合宿 講義6 機械学習入門
機械学習におけるタスクの主な分類
教師あり学習教師なし学習強化学習
22
2013/03/242013春合宿 講義6 機械学習入門
教師あり学習入力と出力の組がたくさんある
↓未知の入力
に対しても正しい出力をするようにしたい
23
2013/03/242013春合宿 講義6 機械学習入門
教師なし学習入力しかない
↓これといった「正解」は無いが,
「望ましい」出力をしたいex.クラスタリング
24
2013/03/242013春合宿 講義6 機械学習入門
強化学習何か行動を起こす
↓結果が帰ってくる
↓自発的にデータを取りながらよりよい
結果をもたらす行動を探す
25
ゲームAIとか…
2013/03/242013春合宿 講義6 機械学習入門
今回のコンテストでは教師あり学習
のカテゴリ分類問題のみを扱います
26
2013/03/242013春合宿 講義6 機械学習入門
イントロダクションPart2:
学習の性能
27
2013/03/242013春合宿 講義6 機械学習入門
学習の性能はどうやって測ればよいでしょうか?
28
2013/03/242013春合宿 講義6 機械学習入門
学習の性能はどうやって測ればよいでしょうか?
29
「持ってるデータで全部うまく いけばいいんじゃないの」
2013/03/242013春合宿 講義6 機械学習入門
ほんとうに?
30
2013/03/242013春合宿 講義6 機械学習入門31
身長
体重
男子と女子の身長と体重のデータ男女を分類したい
男子女子
(データは架空の物です)
Example1:
2013/03/242013春合宿 講義6 機械学習入門32
身長
体重
ウオオと線を引いて区切る全部正しく分類できた! 常勝 !!!
2013/03/242013春合宿 講義6 機械学習入門33
身長
体重
よく考えると意味不明
身長が高いなら男子ちょっと高いなら女子まあまあ高いなら男子
→なんで?
2013/03/242013春合宿 講義6 機械学習入門34
身長
体重
新しいデータについてもうまくいかない
2013/03/242013春合宿 講義6 機械学習入門35
身長
体重
(こう分割すればそれっぽくなる)
2013/03/242013春合宿 講義6 機械学習入門36
3/20の6~18時の1時間毎の気温時刻 6 7 8 9 10 11 12 13 14 15 16 17 18
気温 15.3 15.6 15.8 16.5 17.9 18.8 18.3 19.9 19.5 20.6 20.0 19.8 19.7
中間の時間の気温を予想しよう!
Example2:
2013/03/242013春合宿 講義6 機械学習入門37
y(x)は多項式とするx:時刻 y:気温
y=a+bx+cx^2+...+mx^12
未知数が13個・データ点が13個適当に代入して連立方程式を解く
データ点全部通る! 常勝!!!
2013/03/242013春合宿 講義6 機械学習入門38
やってみた
2013/03/242013春合宿 講義6 機械学習入門39
やってみた
2013/03/242013春合宿 講義6 機械学習入門40
やってみた6時30分40℃
17時30分54℃
2013/03/242013春合宿 講義6 機械学習入門41
54℃
2013/03/242013春合宿 講義6 機械学習入門42
2013/03/242013春合宿 講義6 機械学習入門43
2013/03/242013春合宿 講義6 機械学習入門44
2013/03/242013春合宿 講義6 機械学習入門45
(アカン)
2013/03/242013春合宿 講義6 機械学習入門46
このように,学習データに対しては成功するが,
新しいデータに対しては失敗してしまう
2013/03/242013春合宿 講義6 機械学習入門
これを過学習
といいます
47
2013/03/242013春合宿 講義6 機械学習入門
また,新しいデータに対しても成功できる能力
これを汎化性能といいます現実にフィードバックして使いたいので,
過学習せずに汎化性能を高めたい
48
はんか
2013/03/242013春合宿 講義6 機械学習入門
汎化性能の測り方
49
2013/03/242013春合宿 講義6 機械学習入門50
新しいデータに対する適応力汎化性能 is
2013/03/242013春合宿 講義6 機械学習入門51
新しいデータに対する適応力汎化性能 is
→新しいデータを持ってきてうまく行くか見ればよい
2013/03/242013春合宿 講義6 機械学習入門
とはいえ,新しいデータは正解がわからないから,汎化性能のテストには使えない
52
2013/03/242013春合宿 講義6 機械学習入門
なので,データを2つに分ける・トレーニングセット
・検証用セットトレーニングセットで学習し,
検証用セットで汎化性能を測定する
53
2013/03/242013春合宿 講義6 機械学習入門
使えるデータが少ない時
54
トレーニングセットを出来るだけ大きく取りたい
T T T V T T T TT T
データを N 分割し, 1 個を検証セット
N-1 個をトレーニングセットにする
検証セットを変えながら繰り返す
交差検証(Cross-validation)
2013/03/242013春合宿 講義6 機械学習入門
イントロダクションPart3:
ごく簡単な手法の紹介
55
2013/03/242013春合宿 講義6 機械学習入門
イントロダクションPart3:
ごく簡単な手法の紹介
56
2013/03/242013春合宿 講義6 機械学習入門
アヤメ(Iris)
57
・アヤメの がく(petal)・花弁(sepal)の長さと幅
→アヤメの種 (setosa・versicolor・virginica)
・これをつかって説明します
Sepal.LengthPe
tal.Len
gth
2013/03/242013春合宿 講義6 機械学習入門
・データ領域を適当に分割
・新しいデータが来たら,それが入っているマスに入っている学習データを列挙し,最も多い種に分類する・学習データのないマスにきたらどうしようもないのでランダムに決める
マス目で多数決作戦
58
に分類
2013/03/242013春合宿 講義6 機械学習入門
最近傍法
・新しいデータが来たら,それに最も近い学習データを探し,それと同じ種に分類
59
に分類
2013/03/242013春合宿 講義6 機械学習入門
k-近傍法
・新しいデータが来たら,それに1~k番目に近い学習データを探し,k個で多数決して分類
60
2-3→ に分類
k=5
2013/03/242013春合宿 講義6 機械学習入門
イントロダクションPart4:
今日の課題の紹介
61
2013/03/242013春合宿 講義6 機械学習入門
Task1:アヤメ(Iris)
62
・アヤメの がく(petal)・花弁(sepal)の長さと幅
→アヤメの種 (setosa・versicolor・virginica)
・20pts × 50データ
2013/03/242013春合宿 講義6 機械学習入門
Task2: Mushroom(キノコ)
・キノコの特徴 → 食用? or 毒?
・属性: 22個 カテゴリデータ
・食用を回避するより毒を食べる方がヤバい
63
edible poisonous
score 食用と判定 毒と判定食用 0pts -3pts毒 -15pts 0pts
提出すれば10pt×500データ +
×500データ (毒の個数<=300)
2013/03/242013春合宿 講義6 機械学習入門
Task3[難]: arXiv
・comp(コンピュータ科学),math(数学),phys(物理),stat(統計学)の4つのジャンルの論文たち
・タイトル → ジャンル
・タイトルの単語は数字に変換してあります
・10pts × 300データ64
arxiv.org: 物理学を中心とした論文を保存・公開しているウェブサイト
2013/03/242013春合宿 講義6 機械学習入門
Good Luck & Have Fun
65
2013/03/242013春合宿 講義6 機械学習入門
まとめ
66
2013/03/242013春合宿 講義6 機械学習入門
参考文献・サイト
67
・PRMLの略称で有名
・今回のイントロダクションはこの本の第1章の受け売り
・図がカラーで綺麗
・上巻は基本的な話題(学習とは.確率分布,線形回帰・識別モデル,ニューラルネットワーク 下巻はそれを元にした発展的な手法の数々(まだ読んでないので知らない)
『パターン認識と機械学習 - ベイズ理論による統計的予測』 (上下巻) 丸善出版 C.M.ビショップ
2013/03/242013春合宿 講義6 機械学習入門
参考文献・サイト
・数学(確率論,行列,微積分,etc...)
的な記述が多く,慣れていないと大変
『パターン認識と機械学習の学習』(暗黒通信社) という同人誌が出るほど
・上下巻揃えると結構値が張る:¥14,300(税抜)
68
↓たとえばこんなの
2013/03/242013春合宿 講義6 機械学習入門
参考文献・サイト
・今日の課題のようなコンテストが開かれている 賞金アリ
・Blue Book for Bulldozers:ブルドーザーの車種,製造年,販売年,販売場所等のデータから販売価格を予測する.4/10に〆切
69
www.kaggle.com
2013/03/242013春合宿 講義6 機械学習入門
参考文献・サイト
70
UCI Machine Learning Repository
http://archive.ics.uci.edu/ml/
・機械学習のアルゴリズムを試すのに有用なテストデータが置いてある
2013/03/242013春合宿 講義6 機械学習入門
おつかれさまでした
71