SlideShare uma empresa Scribd logo
1 de 40
Baixar para ler offline
機械学習コン講評 
Hiromu Yakura
概要 
• https://mlcon.npca.jp/camp_2014/  
• 日時: 2014/08/18 ~  
• 問題数: 3問
毒キノコを見つけろ 
• NPCAの尊敬すべき偉大なOBである博多市が毒キノコを 
食べることのないように判別してあげる 
• 出典: http://archive.ics.uci.edu/ml/datasets/Mushroom
毒キノコを見つけろ 
• 特徴が20個,カテゴリが2つ(有毒/無毒) 
• 学習用データセットが1000件 
• テスト用データセットが1000件
Classification 
• データを幾つかのカテゴリに分ける 
• 今回は有毒/無毒の2つに分けるのでBinary Classificationとも
Classification 
• よくある手法 (それぞれの手法についての解説は割愛) 
• k-近傍法 
• 決定木 (分類木) 
• サポートベクターマシン
k-近傍法 
• とりあえず1番簡単なk-近傍法で組んでみる 
• https://gist.github.com/hiromu/d5ed079e98caea3b008c#file-mushroom- 
c 
• 10000点 (K = 3) 
• 抜群
出題の意図 
• 分類変数(カテゴリ)なのか連続変数なのかをよく見よう 
• 今回の特徴量はすべてカテゴリ 
• ユークリッド距離とかを取ってはいけない!!!
分類変数か連続変数か 
• e.g. 傘の色 
• 0 = 茶色, 1 = 黄色, 2 = 白色, 3 = 灰色, 4 = 赤色, 5 = ピンク色, 
6 = 黄褐色, 7 = 淡赤色 
• 果たして, 茶色と灰色の違いは 
茶色と黄色の違いの3倍大きいのか??
分類変数か連続変数か 
• 類似度を取るときに 
一致している特徴がどれだけあるかを見れば満点取れる 
• ユークリッド距離を取ったりすると9500点とかに
ちなみに 
• サポートベクターマシンにそのまま投げると一発満点でした 
• つよい
不動産バブルを見極めろ 
• NPCAの尊敬すべき偉大なOBである博多市のために 
物件の適切な家賃を計算する 
• 出典: Suumo
不動産バブルを見極めろ 
• 特徴が7個, 家賃の誤差が5000円以内なら得点が生える 
• 学習用データセットは500件 
• テスト用データセットは500件
Regression 
• データの従属変数と連続尺度の独立変数が~(略) 
• Classificationとの1番の違いは求めたいものが離散値か連続値か 
• 今回求めたいもの = 家賃は連続値
Regression 
• よくある手法 
• k-近傍法 
• 決定木 (回帰木) 
• サポートベクターマシン (SVM万能説)
k-近傍法 
• とりあえずk-近傍法で組んでみる 
• 4000点 
• 絶望
出題の意図 
• 機械学習で重要なこと 
• とりあえずデータを見ろ!! 
• なにをするにもとりあえずデータを見てみる
データを見る 
• 特徴: 7個 
• 都市: 大阪市内, 京都市内, 神戸市内, 奈良市内 
• 間取り: ワンルーム, 1LDK, .... 
• 種別: マンション, 一戸建て, ...
データを見る 
• 特徴: 7個 
• 専有面積 
• 築年数 
• 最寄り駅までの所要時間 
• 家賃
データを見る 
• 最初の3つの特徴は分類変数 
• 間取りはある程度ソートしてるのである程度連続っぽい(?) 
• 残りの4つは連続変数
データを見る 
• 分類変数と連続変数が混ざっている 
• うまい扱いを考えないといけない
データを見る 
• さらによくデータを見てみる 
• 実際のデータを手を動かして調べる
データを見る 
• 都市はあんまり家賃と関係なさそう 
• 逆にマンション,一戸建ての違いはかなり大きな影響がある 
• 間取りの分類番号がソートされているので 
番号が高いほど家賃が高くなってそう
k-近傍法 (2回目) 
• とりあえず都市のデータは無視する 
• 建物の種別ごとに学習を分けてみる 
• つまり4回に分けて学習→テスト 
• これでk-近傍法をしてみる 
• 15000点くらい
出題の意図 
• 自分が物件を選ぶ時のことを想像してみる 
• 部屋が10m2広いのと, 最寄り駅まで10分近いの 
どちらも同じ価値を持つだろうか?
feature selection 
• それぞれの特徴がどれくらい重要か(≒どれだけ相関があるか)を 
調べてみる 
• 貪欲法 
• 焼きなまし法
feature selection 
• それぞれの特徴の重要度を調べる 
• それぞれの特徴に対して係数を掛けてやる 
• この係数の最適値を焼きなましで見つける
feature selection 
• 学習データの一部をさらに特徴選択のための学習データにする 
• 残りのデータで精度を調べる 
• これを繰り返しながら焼きなましをする
k-近傍法 (3回目) 
• https://gist.github.com/hiromu/d5ed079e98caea3b008c#file-estate-c  
• 学習データを2つに分けて10000回焼きなまし 
• 26000点 (K = 3) 
• どうしても誤差は出てくるのでこの辺で頭打ちに
ちなみに 
• 種別ごとに決定木に投げてやる 
• 28000点 
• さっきより強いけどK-近傍法でもある程度迫れる
ネットオークションを制覇せよ 
• NPCAの尊敬すべき偉大なOBである博多市のために 
絵の判別をする 
• 出典: http://www.ioi2013.org/wp-content/uploads/tasks/day1/artclass/ 
Art%20class%20ja%20(JPN).pdf 
• IOI 2013の問題 (入力データは画像の生データ)
ネットオークションを制覇せよ 
• 特徴が262144個 
• 画像の色分布がそのままデータに突っ込まれてる 
• 4つのカテゴリに分類する
データを見てみる 
• データがでかすぎる 
• そのままk-近傍法に突っ込むのは大変 
• モバイルで落とすことを考えずに 
学習データが30MBくらいで申し訳なかったです...
出題の意図 
• さっきと同じくデータを見てみる 
• すでに可視化されてる!!! 
• http://yumetaro.info/uploads/a3dcb4d229de6fde0db5686dee47145d/ 
a3dcb4d229de6fde0db5686dee47145d.zip
出題の意図 
• 色ごとにピクセルの数が列挙されていることに意味はあるの? 
• そもそも画像のサイズがそれぞれ違う 
• データ量が大きすぎるので減らしたい
データの前処理 
• データ量を減らす 
• 隣接するものをまとめてやって64分の1くらいに 
• 比較しやすい数値にする 
• ピクセル数ではなくピクセルの割合にする
k-近傍法 
• データの前処理をしてとりあえずk-近傍法してみる 
• 10000点 
• まあ多少はね
データの前処理 
• そもそもそれぞれのピクセルの色を学習データとするのが微妙 
• 画像を見ると 
どれくらい色が使われているかとかのほうが重要そう
データの前処理 
• 色の分散とかを特徴にしてやればもっと良い点数が出そう 
• 時間が足りなかったのでwriter解として作れてない 
• たぶんかなりいい点数になると思う
おつかれさまでした 
• 1位 akourryプロ 
• 2位 catupperプロ 
• 3位 sugerpoyoプロ

Mais conteúdo relacionado

Mais de Hiromu Yakura

新しいライブ映像再生システムを研究してみた
新しいライブ映像再生システムを研究してみた新しいライブ映像再生システムを研究してみた
新しいライブ映像再生システムを研究してみたHiromu Yakura
 
GAME ON 特別イベント 「ゲームってなんでプログラミング?」
GAME ON 特別イベント 「ゲームってなんでプログラミング?」GAME ON 特別イベント 「ゲームってなんでプログラミング?」
GAME ON 特別イベント 「ゲームってなんでプログラミング?」Hiromu Yakura
 
Arduinoでプログラミングに触れてみよう 続編
Arduinoでプログラミングに触れてみよう 続編Arduinoでプログラミングに触れてみよう 続編
Arduinoでプログラミングに触れてみよう 続編Hiromu Yakura
 
Arduinoでプログラミングに触れてみよう
Arduinoでプログラミングに触れてみようArduinoでプログラミングに触れてみよう
Arduinoでプログラミングに触れてみようHiromu Yakura
 
NPCA夏合宿 2014 講義資料
NPCA夏合宿 2014 講義資料NPCA夏合宿 2014 講義資料
NPCA夏合宿 2014 講義資料Hiromu Yakura
 
イタリアでパスタを食べた話
イタリアでパスタを食べた話イタリアでパスタを食べた話
イタリアでパスタを食べた話Hiromu Yakura
 
Why don't you learn programming?
Why don't you learn programming?Why don't you learn programming?
Why don't you learn programming?Hiromu Yakura
 
CTF, What's in it for me?
CTF, What's in it for me?CTF, What's in it for me?
CTF, What's in it for me?Hiromu Yakura
 
CTFはとんでもないものを 盗んでいきました。私の時間です…
CTFはとんでもないものを 盗んでいきました。私の時間です…CTFはとんでもないものを 盗んでいきました。私の時間です…
CTFはとんでもないものを 盗んでいきました。私の時間です…Hiromu Yakura
 
ナウいAndroidセキュリティ
ナウいAndroidセキュリティナウいAndroidセキュリティ
ナウいAndroidセキュリティHiromu Yakura
 
Trendmicro Security Award 2012 Final Presentation
Trendmicro Security Award 2012 Final PresentationTrendmicro Security Award 2012 Final Presentation
Trendmicro Security Award 2012 Final PresentationHiromu Yakura
 
Androidにおける強制アクセス制御
Androidにおける強制アクセス制御Androidにおける強制アクセス制御
Androidにおける強制アクセス制御Hiromu Yakura
 
SEAndroid -AndroidのアーキテクチャとSE化について-
SEAndroid -AndroidのアーキテクチャとSE化について-SEAndroid -AndroidのアーキテクチャとSE化について-
SEAndroid -AndroidのアーキテクチャとSE化について-Hiromu Yakura
 

Mais de Hiromu Yakura (20)

新しいライブ映像再生システムを研究してみた
新しいライブ映像再生システムを研究してみた新しいライブ映像再生システムを研究してみた
新しいライブ映像再生システムを研究してみた
 
GAME ON 特別イベント 「ゲームってなんでプログラミング?」
GAME ON 特別イベント 「ゲームってなんでプログラミング?」GAME ON 特別イベント 「ゲームってなんでプログラミング?」
GAME ON 特別イベント 「ゲームってなんでプログラミング?」
 
Arduinoでプログラミングに触れてみよう 続編
Arduinoでプログラミングに触れてみよう 続編Arduinoでプログラミングに触れてみよう 続編
Arduinoでプログラミングに触れてみよう 続編
 
Arduinoでプログラミングに触れてみよう
Arduinoでプログラミングに触れてみようArduinoでプログラミングに触れてみよう
Arduinoでプログラミングに触れてみよう
 
NPCA夏合宿 2014 講義資料
NPCA夏合宿 2014 講義資料NPCA夏合宿 2014 講義資料
NPCA夏合宿 2014 講義資料
 
イタリアでパスタを食べた話
イタリアでパスタを食べた話イタリアでパスタを食べた話
イタリアでパスタを食べた話
 
Why don't you learn programming?
Why don't you learn programming?Why don't you learn programming?
Why don't you learn programming?
 
CTF, What's in it for me?
CTF, What's in it for me?CTF, What's in it for me?
CTF, What's in it for me?
 
Arrow Judge
Arrow JudgeArrow Judge
Arrow Judge
 
CTFとは
CTFとはCTFとは
CTFとは
 
CTFはとんでもないものを 盗んでいきました。私の時間です…
CTFはとんでもないものを 盗んでいきました。私の時間です…CTFはとんでもないものを 盗んでいきました。私の時間です…
CTFはとんでもないものを 盗んでいきました。私の時間です…
 
ぃぬ速@LKML
ぃぬ速@LKMLぃぬ速@LKML
ぃぬ速@LKML
 
プラトン
プラトンプラトン
プラトン
 
How to lick Miku
How to lick MikuHow to lick Miku
How to lick Miku
 
ICTのちから
ICTのちからICTのちから
ICTのちから
 
ナウいAndroidセキュリティ
ナウいAndroidセキュリティナウいAndroidセキュリティ
ナウいAndroidセキュリティ
 
Trendmicro Security Award 2012 Final Presentation
Trendmicro Security Award 2012 Final PresentationTrendmicro Security Award 2012 Final Presentation
Trendmicro Security Award 2012 Final Presentation
 
Androidにおける強制アクセス制御
Androidにおける強制アクセス制御Androidにおける強制アクセス制御
Androidにおける強制アクセス制御
 
SEAndroid -AndroidのアーキテクチャとSE化について-
SEAndroid -AndroidのアーキテクチャとSE化について-SEAndroid -AndroidのアーキテクチャとSE化について-
SEAndroid -AndroidのアーキテクチャとSE化について-
 
Nyarlathotep
NyarlathotepNyarlathotep
Nyarlathotep
 

機械学習コン講評