67
デデデデデデデデデデデデデデデデデデデデデデデデデデデデデデデデデ デデデデデ DW デデデデ

データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7

Embed Size (px)

Citation preview

Page 1: データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7

データサイエンティストに聞く!

今更聞けない機械学習の基礎から応用まで

株式会社九 DW中村俊輔

Page 2: データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7

今日の流れ

何故今機械学習なのか 機械学習を取り巻く環境とビジネス機会の関係

機械学習のしくみ 図で分かる機械学習、中では実際に何をしているのか

データサイエンティストに必要な要素 どんな力を身につければよいのか

データサイエンティスト体験 数式、プログラミングいらず。ビジネス課題を実際に解決

機械学習のこれから 機械学習とどう付き合っていくか 機械学習の今後の動きとあるべき姿

おまけ ポケモンで分かるデータサイエンティストの育て方

ここがメイン

Page 3: データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7

勉強会が終わったときにあなたは

今日の勉強会で… 機械学習でビジネス課題を解決する考え方が分かる データサイエンスの楽しさがわかる…かもしれない

Page 4: データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7

自己紹介

学生時代 大学でアメフト部で相手チームのデータ分析 大学、大学院で機械学習を専攻 研究テーマ : 機械学習によるアメリカンフットボールの戦略推定

社会人 楽天でキャリアスタート

Hadoop を使ったビッグデータ処理、 Web アプリケーション開発 機械学習を使う機会には恵まれず

cherry-pick 入社 自社サービスの機械学習部分の開発

九 DW CTO 就任 受託開発の機械学習部分

注意 サッカー選手ではありません

データ!アメフト!

データ!データ!

中村俊輔@shun_naka

Page 5: データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7

自己紹介

個人の活動 NFL でデータ分析屋さんになるべく

アメフトのアプリの研究開発をそろそろやります@ 京都

一般社団法人 Japan American football Dreamの一員として活動もしてます

サッカーではなくアメフト

中村俊輔@shun_naka

データ!とスポーツ ( 特にアメフト )で面白いことをやりたい!

Page 6: データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7

お知らせ

手元で動かしながら体験したい人は準備をお願いします 後半に R を利用したハンズオンを予定しております。 ( ハンズオンは v 3.3.1 で動作確

認済 ) “R インストール”で検索してインストールお願いします

http://www.okadajp.org/RWiki/?R%20%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB

以下 URL を開いておいてくださいhttps://github.com/shunnakamu/machine_learning_training

Page 7: データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7

何故今、機械学習なのか?機械学習を取り巻く環境とビジネス機会の関係

Page 8: データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7

まずは頭の整理

よく聞く単語ってどこにいるの?

人工知能

汎用人工知能

機械学習

クラス分類器

Deep Learning

特化型人工知能

人間の脳を計算機で作るぞ!

人間の知的な行動の一部を計算機で実現したい

Page 9: データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7

はじめに

機械学習? 人間が自然に行っている学習能力と同様の機能を

コンピュータで実現しようとする技術・手法 (Wikipedia) 1959 年から存在 特別新しい技術ではない

Page 10: データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7

はじめに

何故今注目されている? コンピュータのほうが安く

よりよく課題を解く場面が増えた

何故そんな場面がふえたのか 人間 vs コンピュータ

人間の得意なこと 曖昧さを許容 多様な知識を自ら学習

コンピュータの得意なこと 大規模計算が正確、高速 不眠不休

コンピュータの性能上昇、データ量増加 コンピュータのほうが安く

よりよく課題を解く場面が増えた 今ある仕事のいくつかはコンピュータになる…

かも

実用例 スパムメール検知 カメラの顔検出 …等

Page 11: データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7

機械学習がもたらす影響

現在進行形で産業革命が 2 つ起こっている ICT革命 人工知能革命

機械学習でビジネス課題を解決できると競争力があがる 機械学習を使った方が低コストでよりよく解決できる課題が多くなる

その課題を機械学習を使って解決することで競争力があがる

Page 12: データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7

機械学習のしくみ図で分かる機械学習、中では実際に何をしているのか

Page 13: データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7

どうやって動いてるの?

解きたい問題をコンピュータに解ける状態にして解く 人間の問題解決を数値計算で表現する(数値計算に意思をもたせる)

賢く解かせる 現実の問題は厳密に最適解を求めることは難しい

例 ) 巡回セールスマン問題 厳密な最適解のためには総当たり計算が必要 NP困難 (有限時間で計算が終わらない )

最適じゃなくていいからそれっぽいものを出そう 機械学習! 人間がやっているようなことをまねる

http://sssslide.com/www.slideshare.net/DataScientist_JP/09-53539349

Page 14: データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7

機械学習って…

色々な手法が登場して全容が掴みづらい

Deep Learning

サポートベクターマシン

ロジスティック回帰

線形判別分析線形回帰分析

K-means クラスタリング主成分分析

自己組織化マップ

K近傍判別

ランダムフォレスト

決定木分析

ニューラルネットワーク

サポートベクター回帰

Page 15: データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7

機械学習って…

まとめると クラス分類

回帰

クラスタリング

その他

Deep Learningサポートベクターマシン

ロジスティック回帰 線形判別分析

線形回帰分析

K-means クラスタリング

主成分分析

自己組織化マップ

K近傍判別

ランダムフォレスト

決定木分析

ニューラルネットワーク

サポートベクター回帰

Page 16: データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7

機械学習って…

大きく分けると 3 つの問題を解く道具 クラス分類 回帰 クラスタリング その他

3 つの問題と、代表的な解き方を学ぶことで全容が分かる

Page 17: データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7

代表的な手法を通じて問題と解き方を理解する

クラス分類 線形判別分析

回帰 線形回帰分析

クラスタリング K-means クラスタリング

Page 18: データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7

教師あり学習、教師なし学習

さらに大きく分けると 2 つに分かれる 教師あり学習

クラス分類 回帰

教師なし学習 クラスタリング

Page 19: データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7

教師あり学習

教師データ コンピュータに推定させたいものの正解のデータ

教師あり学習をするためには以下が必要 教師データ ( 目的変数 , 基本的に 1変数 ) 教師データを推定できる情報 (説明変数 , 複数可 )

例 スパムメール検知

教師データ : メールごとのスパムメール or 通常メール 推定できる情報 : メールタイトル、本文に登場する単語等

アイスクリーム売り上げ推定 教師データ : 日ごとの売り上げ金額 推定できる情報 : その日の気温、湿度

[1] "make" "address" "all" "num3d" [5] "our" "over" "remove" "internet" [9] "order" "mail" "receive" "will" [13] "people" "report" "addresses" "free" [17] "business" "email" "you" "credit" [21] "your" "font" "num000" "money" [25] "hp" "hpl" "george" "num650" [29] "lab" "labs" "telnet" "num857" [33] "data" "num415" "num85" "technology" [37] "num1999" "parts" "pm" "direct" [41] "cs" "meeting" "original" "project" [45] "re" "edu" "table" "conference" [49] "charSemicolon" "charRoundbracket" "charSquarebracket" "charExclamation" [53] "charDollar" "charHash" "capitalAve" "capitalLong" [57] "capitalTotal" "type"

例 ) メールのデータ

Page 20: データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7

クラス分類と回帰の違い

教師データの種類が違う クラス分類

教師データが離散値、大小、順序関係を持たない 例

スパムメール検知

回帰 教師データが連続値、大小、順序関係を持つ 例

売り上げ推定

[1] "Ozone" "Solar.R" "Wind" "Temp" "Month" "Day"

例 ) オゾンのデータ

Page 21: データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7

教師なし学習

教師なし学習のためには なんらかの特徴を持ったデータ

例 顧客のセグメンテーション

データ : 年齢、性別、購買頻度、購買金額

[1] "Sepal.Length" "Sepal.Width" "Petal.Length" "Petal.Width"

例 ) 植物のデータ

Page 22: データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7

解いてみよう!

代表的な解き方を使って解いてみましょう!

実際にお手元で解いていただきます

Page 23: データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7

クラス分類

線形判別分析 群間の分散と郡内の分散の比が最大になる判別用の超平面のパラメータを求める

z = ax + by + cうまく分類できる a, b, c を求めるa,b,c を求めておけば z の正負で分類できる

z : 目的変数x, y : 説明変数a, b, c : 教師データを使って求めるパラメータ -> これを利用することで未知のデータの分類ができる

モデルを作成するとも言う

性能はテストデータの正答率で評価

Page 24: データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7

R で線形判別分析

https://github.com/shunnakamu/machine_learning_training/blob/master/R/01_LinearDiscriminantAnalysis.R

# load iris datadata(iris)

# check data summarynrow(iris)names(iris)

# set odd & even numberodd.n <- 2*(1:50) -1even.n <- 2*(1:50)# checkodd.neven.n

# divide data into train and testiris.train <- iris[odd.n,]iris.test <- iris[even.n,]

# load librarylibrary(MASS)

# lda (linear discriminant analysis)iris.lda <- lda(Species~., data=iris.train)# ignore warning# In lda.default(x, grouping, ...) : group virginica is emptyiris.lda

# plot summaryplot(iris.lda, dimen=1)# predictiris.pre <- predict(iris.lda, iris.test[,-5])table(iris.test[,5], iris.pre$class)

x <- data.frame("Sepal.Length" = 1, "Sepal.Width" = 2, "Petal.Length" = 3, "Petal.Width" = 4)predict(iris.lda, x)$class

トレーニングデータ : 学習用 (パラメータ a,b,c を求めるための ) データテストデータ : 学習したモデルの汎化性能 ( 知らないデータに対しての性能 ) をチェックするためのデータ

Page 25: データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7

iris データセットとは?

日本語で Edgar Anderson のあやめのデータ

説明 この有名な (Fiher もしくは Anderson の ) あやめのデータセットは三種類のあやめの品種のそれぞれからの 50 の花のセンチメートル単位の蕚 ( がく )片の長さと幅、花弁の長さと幅の計測結果を与える。 品種は Iris setosa, versicolor そして virginica である。

書式 iris は 150 例 ( 行 ) と、名前 Sepal.Length, Sepal.Width, Petal.Length, Petal.Widthそして Species を持つ 5 変量 (列 ) からなるデータフレームである。

データフレーム : この場合 2次元データフレームなので表形式のデータ

http://www.is.titech.ac.jp/~mase/mase/html.jp/temp/iris.jp.html

Page 26: データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7

クラス分類 ( おまけ )

Deep Learning 脳の情報処理の方法を真似て作られたネットワークであるニューラルネットワークをより多層 (Deep) にしたもの

入力層、中間層、出力層からなるネットワークノードはニューロンで特定の信号に対して発火 ( 特定の値をとる ) する

ニューラルネットワーク自体はかなり前からある(1943 年 )※

以前は Deep にすると過学習する傾向にあったが、過学習しないための仕組みが発見され、一気にブーム

良いところ 画像、音声等の特徴量が多いデータに対して強い

悪いところ 何をやっているのか人間に理解できない※Warren S. McCulloch; Walter Pitts (December 1943). "A

logical calculus of the ideas immanent in nervous activity".

Page 27: データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7

回帰

線形回帰分析 目的変数を説明変数の式で表現し誤差が最小になる係数を求める

y = ax + by をうまく表現する (誤差が最小になる )a, b を求めるx が与えられれば y が求まる

y : 目的変数x : 説明変数a, b : 教師データを使って求めるパラメータ

性能はテストデータへの誤差で評価

Page 28: データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7

R で線形回帰

https://github.com/shunnakamu/machine_learning_training/blob/master/R/02_LinearRegression.R

# load airquality datadata(airquality)

# check data summarynrow(airquality)names(airquality)

# linear regressionairquality.lm <- lm(Ozone ~ Solar.R + Wind + Temp, data=airquality)summary(airquality.lm)

# see Multiple R-Squaredairquality.lm$residuals

# see average of errormean(abs(airquality.lm$residuals))

# see function coefficientsairquality.lm$coefficients

Page 29: データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7

airquality データセットとは?

日本語で ニューヨークの大気状態観測値

説明 ニューヨークの大気状態観測値。 1973 年の五月から九月

書式 6 変量を持つ 154 観測値からなるデータ。

[,1] Ozone 数値 オゾン (ppb)[,2] Solar.R 数値 日射量 (lang)[,3] Wind 数値 風力 (mph)[,4] Temp 数値 温度 (華氏 F)[,5] Month 数値 月 1~ 12[,6] Day 数値 月のうちの日にち 1~ 31

http://www.is.titech.ac.jp/~mase/mase/html.jp/temp/airquality.jp.html

Page 30: データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7

クラスタリング

K-means クラスタリング クラスタ数を決める 初期値を与える

1. 各クラスターの中心(平均値)を求める2. 各データをもっとも近いクラスター中心に割り当てなおす3. 1, 2 を実行して割り当てが変化しなければ終了

Page 31: データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7

R で K-means

https://github.com/shunnakamu/machine_learning_training/blob/master/R/03_KMeans.R

iris.km <- kmeans(iris[,-5], 3)iris.km$clusteriris.pc <- prcomp(iris[1:4])

# plot resultpar(mfrow=c(2,2))# left: actual, right; clusterplot(iris.pc$x[,1], iris.pc$x[,2], pch = 21, bg = c("red", "green3", "blue")[unclass(iris$Species)])plot(iris.pc$x[,1], iris.pc$x[,2], pch = 21, bg = c("red", "green3", "blue", " black ", " white ")[unclass(iris.km$cluster)])

# if cluster number is 5iris.km <- kmeans(iris[,-5], 5)iris.km$clusteriris.pc <- prcomp(iris[1:4])par(mfrow=c(2,2))plot(iris.pc$x[,1], iris.pc$x[,2], pch = 21, bg = c("red", "green3", "blue")[unclass(iris$Species)])plot(iris.pc$x[,1], iris.pc$x[,2], pch = 21, bg = c("red", "green3", "blue", " black ", " white ")[unclass(iris.km$cluster)])

Page 32: データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7

機械学習はビジネス課題を解くときの一部でしかない

実際のビジネス課題を解く手順例 問題選定 データ選定 前処理 機械学習で分析 結果確認、再処理

Page 33: データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7

データサイエンティストに必要な要素

Page 34: データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7

データサイエンティストに必要な要素 3 つ

※ミッション、スキルセット、定義、スキル . レベル by データサイエンティスト協会http://www.datascientist.or.jp/news/2014/pdf/1210.pdf

黎明期の現在はすべてを持ち合わせる必要がある さらに素早く成果物を出すには一人ですべてカバーしている必要がある

Page 35: データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7

よくある光景 ( ビジネス力が足りていない )

Page 36: データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7

よくある光景 ( データサイエンス力が足りていない )

Page 37: データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7

よくある光景 ( データエンジニア力が足りてない )

Page 38: データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7

スキルセットが必要な場面

実際のビジネス課題を解く手順ごとに必要なスキル 問題設定 ( ビジネス力、データサイエンス力 ) データ選定 ( ビジネス力、データサイエンス力 ) 前処理 ( データエンジニアリング力、データサイエンス力 ) 機械学習で分析 ( データエンジニアリング力、データサイエンス力 ) 結果確認、再処理 ( データエンジニアリング力、データサイエンス力 )

これから体験してもらうところ 問題設定 ~ 前処理の一部まで 体験しながら自分の現在のスキルや

どんなスキルが必要なのか理解しよう

Page 39: データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7

データサイエンティスト体験数式、プログラミングいらず。ビジネス課題を実際に解決

Page 40: データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7

ビジネス課題を機械学習を使って解決

今までのまとめ 使うだけなら簡単 資料も Web にたくさんある

重要なところ どう使うの? どんなデータをどう処理するの? 出した答えをどう理解するの?

経験、ノウハウが必要でビジネスで差が出るところだが資料は少ない

Page 41: データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7

ビジネス課題を機械学習を使って解決

今からやってもらうもの あるビジネス課題を機械学習で解決するロールプレイ

重要な部分をわざと曖昧にしてありますほしい情報は質問して入手してください

何人かでチームを作って課題解決にあたってください プログラミングはしません

対象フェーズ 問題設定 ( ビジネス力、データサイエンス力 ) データ選定 ( ビジネス力、データサイエンス力 ) 前処理 ( データエンジニアリング力、データサイエンス力 ) 機械学習で分析 ( データエンジニアリング力、データサイエンス力 ) 結果確認、再処理 ( データエンジニアリング力、データサイエンス力 )

Page 42: データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7

シチュエーション

会社 旅行代理店 (J○B, H○S)

ボス 「過去の宿泊予約の履歴からその日に泊まる人数を予測するサービスを立ち上げたい」 「持ってるデータはこれだから」

お客様性別お客様都道府県決済手段宿泊年宿泊月宿泊日販売年販売月販売日施設所在都道府県

地区コード施設コード施設名施設形態客室タイププラン名食事お客様年齢金額泊数

室数大人男大人女小人人数計

持っているデータ (過去の宿泊予約の履歴 )

Page 43: データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7

やること

対象フェーズ 問題設定 ( ビジネス力、データサイエンス力 ) データ選定 ( ビジネス力、データサイエンス力 ) 前処理 ( データエンジニアリング力、データサイエンス力 ) 機械学習で分析 ( データエンジニアリング力、データサイエンス力 ) 結果確認、再処理 ( データエンジニアリング力、データサイエンス力 )

ポイント ボスに質問して詳細を聞き出そう しばらくしたら先輩データサイエンティストが登場

Page 44: データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7

問題設定

どの問題として解くか? クラス分類 回帰 クラスタリング その他

何に対して解くか? 都道府県?地域?宿泊施設?

Page 45: データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7

やること

対象フェーズ 問題設定 ( ビジネス力、データサイエンス力 ) データ選定 ( ビジネス力、データサイエンス力 ) 前処理 ( データエンジニアリング力、データサイエンス力 ) 機械学習で分析 ( データエンジニアリング力、データサイエンス力 ) 結果確認、再処理 ( データエンジニアリング力、データサイエンス力 )

ポイント 持っているデータのどれを利用するか?

( どんな式にするか? ) しばらくすると先輩データサイエンティストとの答え合わせ

Page 46: データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7

変数設定、データセット作成

データセットは自分たちが作らないといけない サンプルのように整備されたものはない

目的変数 目的変数に設定すべきものは?

説明変数 説明変数に設定すべきものは?

お客様性別お客様都道府県決済手段宿泊年宿泊月宿泊日販売年販売月販売日施設所在都道府県

地区コード施設コード施設名施設形態客室タイププラン名食事条件お客様年齢金額泊数

室数大人男大人女小人人数計

持っているデータ

Page 47: データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7

変数設定 設定例

目的変数 人数計

説明変数 宿泊日 _ 年 宿泊日 _月 宿泊日 _ 日 客室タイプ 食事条件 金額

モデルを作成する単位 施設コード

お客様性別お客様都道府県決済手段宿泊年宿泊月宿泊日販売年販売月販売日施設所在都道府県

地区コード施設コード施設名施設形態客室タイププラン名食事条件お客様年齢金額泊数

室数大人男大人女小人人数計

持っているデータ

Page 48: データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7

前処理

前処理が必要なデータ 人数計

日付ごとに合計データにしておく 宿泊日

曜日を算出しておく 客室タイプ、食事条件

種類ごとにベクトル化、数が少ないものはその他に

お客様性別お客様都道府県決済手段宿泊年宿泊月宿泊日販売年販売月販売日施設所在都道府県

地区コード施設コード施設名施設形態客室タイププラン名食事条件お客様年齢金額泊数

室数大人男大人女小人人数計

持っているデータ

Page 49: データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7

データサンプル

月 火 水 木 金 土 日ツイン

シングル 和室

和洋室 洋室

客室タイプ _その他

2食付き

朝食付き

食事無(ルームチャージ)

食事条件_ その他

金額宿泊人数

0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 16100 1

1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 24300 1

0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 8100 11 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 8100 11 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 7420 10 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 7420 20 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 1607

0 50 0 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 7636 11 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 7300 10 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 7300 10 0 0 0 1 0 0 0 1 0 0 0 0 0 0 1 0 7200 10 0 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 8500 10 0 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 7924 10 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 6736 10 0 0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 1080

0 2

※金額はこの後 0-1 の範囲にする

場合によっては対数もとる

Page 50: データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7

分析

travel <- read.table(“travel_data.tsv”, header=TRUE, sep=“\t”, na.strings=“NA”, dec=“.”, strip.white=TRUE)

travel.lm <- lm(宿泊人数 ~. , data=travel)summary(travel.lm)summary(travel$宿泊人数 )

# 誤差の平均を確認するtravel.lm.pre <- predict(travel.lm, travel[,-23])travel.lm.result <- abs(travel.lm.pre - travel[,23])summary(travel.lm.result)# Min. 1st Qu. Median Mean 3rd Qu. Max.# 1.000 1.000 2.000 2.634 3.000 30.000

# モデルのパラメータtravel.lm$coefficients

# 誤差が一番大きかったデータを確認するwhich.max(travel.lm.result)# データを目検。

Page 51: データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7

結果を確認する

回帰がうまくできなかったデータはどのような特徴があるのか? 対応すべきか否か?

外れ値かどうか?

これを繰り返して賢く問題を解く機械学習のモデルを作っていく これがデータサイエンティストの仕事のメイン データの前処理も結構メインだったりする

解きたい問題の本質は何かを考える 目的変数を表現できる情報を与えてあげれば機械は正しい答えを出してくれる 目的変数を表現できる情報とは?

Page 52: データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7

まとめ

実際のビジネス課題を機械学習で解いた 問題選定 データ選定 前処理 機械学習で分析 結果確認、再処理

実際にビジネス課題を解くとすると… 機械学習で分析の部分は簡単、 Web で探せばいくらでも資料がある

大切なこと 問題の本質をとらえる 機械が解ける状態にする 結果を正しく理解する

Page 53: データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7

機械学習のこれから機械学習とどう付き合っていくか 機械学習の今後の動きとあるべき

姿

Page 54: データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7

機械学習のこれから

現在進行形で産業革命が 2 つ起こっている ICT革命 人工知能革命

機械学習でビジネス課題を解決できると競争力があがる 機械学習を使った方が低コストでよりよく解決できる課題が多くなる

Page 55: データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7

機械学習を取り巻く環境

使うだけなら誰でもできる 機械学習ライブラリの充実

R Python

機械学習プラットフォームの充実 Amazon Machine Learning Microsoft Azure Machine Learning

結果を読み取ったり、より良くするできることが大切 機械学習の PDCA をうまく回せる人がビジネス課題を解決できる これができる人、組織は現在少ない

Page 56: データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7

機械学習とどう付き合うか?

経営者や管理者 どの課題を機械学習で解決すべきなのかを理解できるようにする

機械学習で解決すべきでない課題を機械学習で解いてもうれしくない Deep Learning もビジネス課題を解決する目的なら力を発揮しない場面が多い

機械学習で課題を解決できる環境を作る 人材確保 取引先確保

データサイエンティスト 基礎としての数学を身につける

PDCA を回すときに数学ができないと結果を正しく理解できない 大学数学の線形代数、微分積分は必須 基本的な機械学習の手法は数式から理解するべき

ビジネス課題を解決する教科書はない、経験値が大切 基本的には仕事は ICT エンジニアと変わらないが、ノウハウがない

Page 57: データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7

さいごに

 データサイエンスは楽しい!

今まで人間が解けなかった問題が解ける働き方をどう変えるか?は我々次第

Page 58: データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7

おまけポケモンで分かるデータサイエンティストの育て方

Page 59: データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7

データサイエンティストに必要な要素 3 つ

※ミッション、スキルセット、定義、スキル . レベル by データサイエンティスト協会http://www.datascientist.or.jp/news/2014/pdf/1210.pdf

黎明期の現在はすべてを持ち合わせる必要がある さらに素早く成果物を出すには一人ですべてカバーしている必要がある

Page 60: データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7

 どうすれば 3 つの要素を持ち合わせられるのか?

Page 61: データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7

 その前にポケモンの話をしよう

※ポケモン GO ではなくて本家ポケモン

Page 62: データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7

強いポケモンの育て方

ポケモンの個体ごとの強いものを選ぶ

強くしたいステータスを育てる 倒したポケモンに応じて成長する

倒すとこうげきが上がる 倒すとぼうぎょが上がる

Page 63: データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7

効率よく育てるために

狙っているポケモンが出現する草むらでポケモンを倒す

ん…?

データサイエンティストになりたければ3 つの能力が上がる場所で活動する…

ポケモンと同じだ!たまげたなぁ

イワヤマトンネル おつきみやま

Page 64: データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7

つまり…

ポケモン データサイエンス

倒すポケモン 仕事

草むら 職場

Page 65: データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7

データサイエンティストに必要な要素 3 つが身に着く現場

大学、大学院 数学、機械学習を身に着ける 論文を読んだら実装できる

大企業、中企業 開発、運用の基礎を身に着ける 高速な開発と容易な運用、いわゆるきれいなコードを書けるようになる

ベンチャー企業 自ら問題解決をする 自社、クライアントの問題をデータサイエンスでどう

解決するかを提案できる

九 DW 多種多様なクライアントとすべてのことができる! データサイエンティストのパイオニアになる

ビジネス力

データサイエンス力データエンジニアリング力ビジネス力

データサイエンス力データエンジニアリング力ビジネス力

データサイエンス力データエンジニアリング力

ビジネス力

データサイエンス力データエンジニアリング力

※個人の感想です

Page 66: データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7

さいごに

 データサイエンスは楽しい!

今まで人間が解けなかった問題が解ける働き方をどう変えるか?は我々次第

Page 67: データサイエンティストに聞く!今更聞けない機械学習の基礎から応用まで V7

さいごに 2

 興味を持ってくれた人へ

やってみたい人で学生の人 : インターンっぽいのがあるのでやってみませんかやってみたい人で働いてる人 : 副業してみませんか

何かデータで困っている人 : 力になります。お話を聞かせてください