Slide 1

Slide 1 text

第2回 Cpaw AI competition 筑波大学 田尻

Slide 2

Slide 2 text

目次 ◎ Programming ○ 問題概要 ○ 試した方法 ○ 結果 ◎ hand-RPS ○ 問題概要 ○ 試した方法 ○ 結果 2

Slide 3

Slide 3 text

1. Programming解説 3

Slide 4

Slide 4 text

問題概要 ◎ ソースコードから該当するプログラミング 言語を予測する問題 ◎ プログラミング言語(6種類): ○ C# ○ C++ ○ Go ○ JavaScript ○ Rust ○ Scala 4

Slide 5

Slide 5 text

データ例1 ◎ C# 5 ◎ C++

Slide 6

Slide 6 text

データ例2 ◎ Go 6 ◎ JavaScript

Slide 7

Slide 7 text

データ例3 ◎ Rust 7 ◎ Scala

Slide 8

Slide 8 text

データoutline ◎ Github上のソースコードを取得 8 sklearn.feature_extraction.text.CountVectorizerを使用

Slide 9

Slide 9 text

言語別ヒストグラム(回数/単語ID) 単語ベースの手法でいけそう・・・? 9

Slide 10

Slide 10 text

試した方法 ◎ Tf-idf ○ Scikit-learn のTfIdfVectorizer ○ ソースコードから特徴ベクトルまで変換 ○ 他のデータではあまり出ない単語(記号)を重視す る 特徴量 ◎ リッジ回帰を用いたクラス分類 ○ scikit-learnのRidgeClassifiar ○ データを実現するような関数を求める ○ 二値分類を元に多数決で分類 10

Slide 11

Slide 11 text

結果 ◎ tf-idf + RidgeClassifier ◎ 正解率:95.87% 11

Slide 12

Slide 12 text

2. hand-RPS解説 12

Slide 13

Slide 13 text

問題概要 ◎ 手の画像からグー・チョキ・パーを予測する 問題 ◎ マーカーでキャリブレーション済み 13

Slide 14

Slide 14 text

データ例 14 ◎ パー ◎ グー ◎ チョキ

Slide 15

Slide 15 text

試した方法 ◎ Hog特徴量 ○ Scikit-imageのhog ○ グレースケールにしてそのまま ◎ Logistic Regression ○ scikit-learnのLogisticRegression ◎ SVM ○ scikit-learnのSVC ○ データ点からの距離が最も大きくなるような 分離超平面を求める ○ カーネル法によって線形以外のデータも分類可能 15

Slide 16

Slide 16 text

結果 ◎ 16

Slide 17

Slide 17 text

Credits Special thanks to all the people who made and released these awesome resources for free: ◎ Presentation template by SlidesCarnival ◎ Photographs by Unsplash & Death to the Stock Photo (license) 17