Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
osaka_tamai.pdf
Search
tama-chang
October 11, 2019
Technology
0
1.8k
osaka_tamai.pdf
tama-chang
October 11, 2019
Tweet
Share
More Decks by tama-chang
See All by tama-chang
データ分析の世界で今後必要とされる役割 「Purple People」とは
cmtamai
3
2.8k
Transform〜メトリクスレイヤーとは何か? データ分析に必要な「指標」を管理する
cmtamai
0
2.1k
アナリティクスエンジニアとは(What is Analytics Engineer)
cmtamai
1
8.7k
DWH御三家の各特徴と選び方〜SnowflakeとBigQueryとRedshiftと〜
cmtamai
0
9.5k
禁忌解放~TableauとLookerを連携して究極のBI環境を召喚する
cmtamai
0
3.3k
Lookerはじめの一歩
cmtamai
0
2.2k
Snowflakeはじめの一歩
cmtamai
2
2.4k
スティーブン・セガール出演作品の邦題に「沈黙」がつくかどうか判別する機械学習モデルを作ろうとしてみた
cmtamai
0
870
スティーブン・セガール出演作品の邦題に「沈黙」がつくかどうか判別する機械学習モデルを作ろうとしてみた
cmtamai
0
1.4k
Other Decks in Technology
See All in Technology
AGIについてChatGPTに聞いてみた
blueb
0
130
Introduction to Works of ML Engineer in LY Corporation
lycorp_recruit_jp
0
130
強いチームと開発生産性
onk
PRO
35
11k
SREによる隣接領域への越境とその先の信頼性
shonansurvivors
2
520
The Role of Developer Relations in AI Product Success.
giftojabu1
1
130
SSMRunbook作成の勘所_20241120
koichiotomo
3
150
Flutterによる 効率的なAndroid・iOS・Webアプリケーション開発の事例
recruitengineers
PRO
0
110
iOSチームとAndroidチームでブランチ運用が違ったので整理してます
sansantech
PRO
0
140
TypeScriptの次なる大進化なるか!? 条件型を返り値とする関数の型推論
uhyo
2
1.7k
Why App Signing Matters for Your Android Apps - Android Bangkok Conference 2024
akexorcist
0
130
Zennのパフォーマンスモニタリングでやっていること
ryosukeigarashi
0
120
TypeScript、上達の瞬間
sadnessojisan
46
13k
Featured
See All Featured
It's Worth the Effort
3n
183
27k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
44
2.2k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
26
2.1k
Designing for humans not robots
tammielis
250
25k
How STYLIGHT went responsive
nonsquared
95
5.2k
Product Roadmaps are Hard
iamctodd
PRO
49
11k
Measuring & Analyzing Core Web Vitals
bluesmoon
4
130
Making Projects Easy
brettharned
115
5.9k
Being A Developer After 40
akosma
87
590k
Visualization
eitanlees
145
15k
Into the Great Unknown - MozCon
thekraken
32
1.5k
The Invisible Side of Design
smashingmag
298
50k
Transcript
スティーブン・セガール出演作品の邦題に 「沈黙」がつくかどうか判別する機械学習モ デルを作ろうとしてみた データアナリティクス事業本部 玉井励
スライドは後で入手することが出来ますので 発表中の内容をメモする必要はありません。 写真撮影をする場合は フラッシュ・シャッター音が出ないようにご配慮ください
3 自己紹介 玉井 励(タマイ レイ) • データアナリティクス事業本部 • 大阪オフィス勤務 •
奈良県奈良市出身 • 奈良県葛城市在住 • 群れない 媚びない 頑張らない
4 空前の機械学習ブーム
5 空前の機械学習ブーム
6 機械学習をやるために必要そうなもの
7 機械学習をやるために必要そうなもの
8 勉強できそうな本もたくさん
9 技術的なことはわかってきた
10 でも、これらの技術を実際に使ってみた話は あんまり聞いたことがない?
11 今日は機械学習を実際にやってみた話をします
12 本日お話すること
13 本日お話すること • 機械学習を使ったデータ分析プロジェクトをやって みたという経験談(Alteryxというツールを使用) • スティーブン・セガールに関する簡単な説明
14 Alteryx?
15 Alteryx Designer
16 本日お話しないこと
17 本日お話しないこと • Alteryxの詳しい説明 • 機械学習に関する高度な説明 • データ分析におけるベストプラクティス • AWS等のインフラ関係
• →本作品はローカルPCの中が舞台です • スティーブン・セガールに関する詳しい説明
18 「やってみた」という物語~沈黙の分析
19 仕事ではじめる機械学習 めちゃくちゃ 参考にしました
20 書評も書きました https://dev.classmethod.jp/book-review/donated-book-machine- learning-to-begin-with-work/
21 機械学習でデータ分析する時の流れ
22 「仕事ではじめる機械学習」より 1. 問題を定式化する 2. 機械学習以外の方法を考える 3. アルゴリズムを選定する 4. 特徴量、教師データとログの設計をする
5. 前処理をする 6. 学習・パラメータチューニング 7. 評価
23 「仕事ではじめる機械学習」より 1. 問題を定式化する 2. 機械学習以外の方法を考える 3. アルゴリズムを選定する 4. 特徴量、教師データとログの設計をする
5. 前処理をする 6. 学習・パラメータチューニング 7. 評価
24 ビジネスだったら • ECサイトの売上をあげたい • 工場の消費電力のコストを下げたい
25 ビジネスだったら • ECサイトの売上をあげたい • ECサイトの売上を上げるために、ユーザー毎におすすめ商 品を提示する • 工場の消費電力のコストを下げたい •
工場の消費電力を最適化するために、消費電力を予測する
26 問題を定式化する 今回は?
スティーブン・セガール出演作品の邦題に 「沈黙」がつくかどうか判別する機械学習モ デルを作ろうとしてみた (再掲)
28 セガール映画の邦題 主演作の邦題には「沈黙の~」で始まるものが多いため、 まとめて『沈黙シリーズ』と呼ばれることが多いが、実 際のシリーズ作は『沈黙の戦艦』とその続編『暴走特 急』(シリーズ原題『Under Siege』)のみである。他 は日本国内での配給権を得た会社が、配給会社にかかわ らず、原題とは無関係に「沈黙の~」としているにすぎ ない。
https://ja.wikipedia.org/wiki/%E3%82%B9%E3%83%86%E3%82% A3%E3%83%BC%E3%83%B4%E3%83%B3%E3%83%BB%E3%82% BB%E3%82%AC%E3%83%BC%E3%83%AB
29 問題を定式化する • スティーブン・セガールが出演する映画で、「沈 黙」がつくのは、どういう作品になるのか知りたい • スティーブン・セガールが出演する映画で、まだ邦 題がついていない作品に、もし邦題がつくとしたら、 「沈黙」がつくかどうか知りたい
30 問題を定式化する セガール映画のデータを元に、 邦題に「沈黙」がつくかどうか予測する
31 こういう人もいるかもしれない スティーブン・セガールって?
32 スティーブン・セガールについて スティーヴン・フレデリック・セガール(Steven Frederick Seagal / 1952年4月10日 - )は、アメリ カ合衆国の俳優で、テキサス州ハズペス郡保安局の執行
官、武道家。合気道七段。 https://ja.wikipedia.org/wiki/%E3%82%B9%E3%83%86%E3%82% A3%E3%83%BC%E3%83%B4%E3%83%B3%E3%83%BB%E3%82% BB%E3%82%AC%E3%83%BC%E3%83%AB
33 スティーブン・セガールについて 17歳の時から10年以上大阪府に滞在していたため、日 本語が堪能。千葉真一と親交があり、千葉がハリウッド に拠点を移してからは、セガールが流暢な大阪弁で「千 葉先生、居てはりまっか?」などと、頻繁に千葉へ連絡 している。淀川長治とも日本語で対談を行い、淀川の 「日本語がお上手ですね」に対してセガールは「恐れ入 ります」と応えた。 https://ja.wikipedia.org/wiki/%E3%82%B9%E3%83%86%E3%82%
A3%E3%83%BC%E3%83%B4%E3%83%B3%E3%83%BB%E3%82% BB%E3%82%AC%E3%83%BC%E3%83%AB
34 スティーブン・セガールについて 遅刻と早退の常習犯で、『沈黙の脱獄』と『沈黙の傭 兵』を製作したキル・マスター・プロダクションと ニュー・イメージから、映画製作を遅らせたとして訴え られた。その訴訟内容の中には脚本の勝手な書き換えや、 取り巻き連中による撮影の妨害という内容まである。 https://ja.wikipedia.org/wiki/%E3%82%B9%E3%83%86%E3%82% A3%E3%83%BC%E3%83%B4%E3%83%B3%E3%83%BB%E3%82% BB%E3%82%AC%E3%83%BC%E3%83%AB
35 スティーブン・セガールの受賞歴 ゴールデンラズベリー賞 • 最低監督賞:受賞『沈黙の要塞』、最低作品賞:ノミネート『沈黙の要塞』、 最低主演男優賞:ノミネート『沈黙の要塞』(1994年) • 最低助演男優賞:ノミネート『エグゼクティブ・デシジョン』(1996年) • 最低主演男優賞:ノミネート『沈黙の断崖』、最低主題歌賞:ノミネート『沈
黙の断崖』、最低作品賞:ノミネート『沈黙の断崖』、最低スクリーン・カッ プル賞:ノミネート『沈黙の断崖』(1997年) • 最低主演男優賞:『奪還 DAKKAN -アルカトラズ-』(2002年) https://ja.wikipedia.org/wiki/%E3%82%B9%E3%83%86%E3%82%A3% E3%83%BC%E3%83%B4%E3%83%B3%E3%83%BB%E3%82%BB%E3 %82%AC%E3%83%BC%E3%83%AB
36 「仕事ではじめる機械学習」より 1. 問題を定式化する 2. 機械学習以外の方法を考える 3. アルゴリズムを選定する 4. 特徴量、教師データとログの設計をする
5. 前処理をする 6. 学習・パラメータチューニング 7. 評価
37 機械学習以外の方法を考える 機械学習(をビジネスに組み込むの)は難しい • (予測に対して)必ず一定の間違いが発生する • モデルをずっとメンテナンスし続ける必要がある • 機械学習を用いたシステムは技術的負債が蓄積しやすい •
そういう論文があります • https://ai.google/research/pubs/pub43146
38 機械学習以外の方法を考える 目的は「問題を解決すること」
39 機械学習以外の方法を考える • 機械学習自体が目的ではない • 例えばBIツール等でデータを分析してみて、それで問題解決へのア クションが分かればそれに越したことはない
40 機械学習以外の方法で予測してみた例 2010年代から全部「沈 黙」がついている →今後の作品も全部 「沈黙」がつくので は?
41 「仕事ではじめる機械学習」より 1. 問題を定式化する 2. 機械学習以外の方法を考える 3. アルゴリズムを選定する 4. 特徴量、教師データとログの設計をする
5. 前処理をする 6. 学習・パラメータチューニング 7. 評価
42 機械学習の種類 • 分類 • 回帰 • その他
43 分類 • このメールはスパムかどう か? • この画像は犬か猫か? • 教師あり学習 •
入力データとそれに対する正 解カテゴリ(クラス)をもと に学習し、未知のデータに対 してカテゴリを予測する
44 回帰 • 来年の売上を予測したい • うちのWebサイトのアクセス 数はどうなる? • 教師あり学習 •
入力データとそれに対する正 解の数値をもとに学習し、未 知のデータに対して数値(連 続値)を予測する
45 強化学習
46 その他 • クラスタリング • 次元削減 • 推薦 • 頻出パターンマイニング
• 異常検知(outlier detection) • …など
47 アルゴリズムを選定する 今回は?
48 アルゴリズムを選定する 「沈黙」がつくかどうか
49 アルゴリズムを選定する 分類です
50 分類のアルゴリズム • ロジスティック回帰 • サポートベクターマシン • ニューラルネットワーク • 決定木
• ランダムフォレスト • …などなど
51 アルゴリズムを選定する 複数のアルゴリズムを併用して 一番結果が良いものを選択する
52 今回はこの4つを試したいと思います • ロジスティック回帰 • ニューラルネットワーク • 決定木 • ランダムフォレスト
53 ロジスティック回帰とは • シンプルなアルゴリズム • 予測性能はそこそこ • 学習速度が速い • (予測時に)確率が出る
• Google Mapの駐車場の空き 具合推定に使われている • https://ai.googleblog.com/2017/02/u sing-machine-learning-to- predict.html
54 ニューラルネットワークとは • 脳の神経回路の情報伝達の方 法から着想を得たので、この 名前(らしい) • 学習速度は遅め • GPUを活用することで改善
• パラメータの数が多い • チューニングが難しい • 過学習しやすい • これがめっちゃ進化したのが ディープラーニング
55 決定木とは • ツリー型のアルゴリズム • 人間がみて理解しやすいモデ ル • IF文が連発してる感じ •
過学習しやすい • 「枝刈り」という手法で対策
56 ランダムフォレストとは • 決定木をの応用版 • 決定木を複数並行で行い、結 果を多数決で統合する • 決定木より予測性能は高い (といわれている)
• 過学習しやすい • 「枝刈り」がない(しない)
57 「仕事ではじめる機械学習」より 1. 問題を定式化する 2. 機械学習以外の方法を考える 3. アルゴリズムを選定する 4. 特徴量、教師データとログの設計をする
5. 前処理をする 6. 学習・パラメータチューニング 7. 評価
58 特徴量、教師データとログの設計をする どんなデータをどこからとってきて どういう形にするべきか
59 ざっくり考えてみる… • スティーブン・セガールが出演した映画のデータ • 出演者 • 公開年 • ジャンル
• 上映時間 • …など • 邦題も必要
60 データ取得先の候補 TMDb API OMDb API
61 The Movie Database API (TMDb API) • APIでデータをとってこれ る
• 無償(重要) • 特徴量として使えそうな データが少なめ • https://www.themovied b.org/
62 The Open Movie Database API(OMDb API) • APIでデータをとってこれ る
• 無償(重要) • 特徴量として使えそうな データが多め • http://www.omdbapi.co m/
63 OMDb APIに決定しそうな勢いだったが… OMDb APIは必ず作品名か IMDbのIDを投げないといけない
64 どういうことか 理想はリクスエストパラメータに「Seagal」とか投げ て、セガール映画のデータを一気に取りたかった • OMDb APIはそれができない(タイトルかIMDb IDがい る) •
セガール映画のIDリストを別途用意して、それをもとに OMDb APIに投げる必要あり
65 セガール映画のIMDb IDを一気に取得したい TMDb APIで可能
66 データ取得先の候補 2つのAPIを両方使うことに決定
67 次の問題 邦題はどうする?
68 Wikipediaをスクレイピングせざるをえない
69 APIのデータとWikipedia(邦題)データ 「原題」で結合する
70 まとめ • TMDbのAPIからスティーブン・セガールが出演した 映画のIMDbのIDを取得する • OMDbのAPIからスティーブン・セガールが出演した 映画のデータを取得する • スティーブン・セガールのWikipediaから原題と邦題
のデータを取得する • 上記2つのデータを「原題」で結合する
71 「仕事ではじめる機械学習」より 1. 問題を定式化する 2. 機械学習以外の方法を考える 3. アルゴリズムを選定する 4. 特徴量、教師データとログの設計をする
5. 前処理をする 6. 学習・パラメータチューニング 7. 評価
72 前処理をする • TMDbのAPIからスティーブン・セガールが出演した 映画のIMDbのIDを取得する • OMDbのAPIからスティーブン・セガールが出演した 映画のデータを取得する • スティーブン・セガールのWikipediaから原題と邦題
のデータを取得する • 上記2つのデータを「原題」で結合する
73 /discover/movie • /discover/movie • ここに欲しい映画に関す るワードをリクエストに 投げれば、IMDb IDがレ スポンスとして取得でき
る
74 リクスエストパラメータ セガールの名前ではなくIDが必要
75 /search/person • /search/person • queryに「seagal」と投げ てセガールのIDを取得す る
76 ついにAlteryxが登場
77 1.セガールID取得ワークフロー
78 1.セガールID取得ワークフロー
79 1.セガールID取得ワークフロー
80 1.セガールID取得ワークフロー
81 2.セガール映画データ取得ワークフロー
82 2.セガール映画データ取得ワークフロー セガールIDを使用して セガール映画のIMDb IDを取得
83 2.セガール映画データ取得ワークフロー
84 2.セガール映画データ取得ワークフロー セガール映画のIMDb IDを使用して セガール映画のデータを取得
85 2.セガール映画データ取得ワークフロー
86 2.セガール映画データ取得ワークフロー
87 2.セガール映画データ取得ワークフロー
88 前処理をする • TMDbのAPIからスティーブン・セガールが出演した 映画のIMDbのIDを取得する • OMDbのAPIからスティーブン・セガールが出演した 映画のデータを取得する • スティーブン・セガールのWikipediaから原題と邦題
のデータを取得する • 上記2つのデータを「原題」で結合する
89 3.セガール映画の邦題取得ワークフロー
90 Dashblock Webサイトの任意の値を API化して取得できるア プリケーション https://dashblock.com/
91 3.セガール映画の邦題取得ワークフロー DashblockでWikipediaのデータを API化し、そこからGET
92 3.セガール映画の邦題取得ワークフロー 取得したJSONを整形
93 3.セガール映画の邦題取得ワークフロー
94 前処理をする • TMDbのAPIからスティーブン・セガールが出演した 映画のIMDbのIDを取得する • OMDbのAPIからスティーブン・セガールが出演した 映画のデータを取得する • スティーブン・セガールのWikipediaから原題と邦題
のデータを取得する • 上記2つのデータを「原題」で結合する
95 3.セガール映画データと邦題の結合ワークフロー
96 3.セガール映画データと邦題の結合ワークフロー 原題で結合
97 3.セガール映画データと邦題の結合ワークフロー 想定以上に結合漏れする映画が発生 (数十件)
98 どういうことか API側とWikipediaで大文字と小文字の表記が異なっ ていた • 「Above the Law」と「Above The Law」など
• 双方とも全て大文字に変換してから結合することで対策
99 3.セガール映画データと邦題の結合ワークフロー それでも結合漏れする映画が発生
100 1つづつ確認していく そもそも日本未配給だった(要するに邦題がない) • Get Bruce! • The Unbeatable Bruce
Lee • How to Blow Up a Helicopter (Ayako's Story) • Sheep Impact • The Joe Show • 80’s Blockbusters: When Hollywood Played Tough
101 本来結合するべきはずの映画たち Urban Justice • 原題は「Renegade Justice」(Wikipediaはこっち) • しかしアメリカ版DVDだけ「Urban Justice」(API側は
こっち) • ちなみに邦題は「沈黙の報復」
102 本来結合するべきはずの映画たち Cartels • 英語版Wikipediaの説明文 • Cartels also known as
Killing Salazar[1] is a 2017 action film starring Steven Seagal and directed by Keoni Waxman. • セガールの日本語Wikipediaには「Killing Salazar」とい う映画が記載。99%とこの作品と判断。 • ちなみに邦題は「キリング・サラザール 沈黙の作戦」
103 この2作品はどうする? 面倒なので出力したcsvを直接編集した
104 3.セガール映画データと邦題の結合ワークフロー 邦題に「沈黙」を含んでたらTrue
105 3.セガール映画データと邦題の結合ワークフロー
106 これでデータは揃った…? まだ前処理は終わらない
107 機械学習の前処理として避けられない • ダミー変数(化) • 欠損値の補完 • 正規化
108 ダミー変数とは 題名 脚本 Above the Law Andrew Davis (story)
Hard to Kill Steven McKay Marked for Death Michael Grais Out for Justice R. Lance Hill
109 ダミー変数とは 題名 脚本_Andrew Davis (story) 脚本_Steven McKay … Above
the Law 1 0 … Hard to Kill 0 1 … Marked for Death 0 0 … Out for Justice 0 0 …
110 欠損値とは • 一言でいうとNULLのこと • NULLがあると学習が回らない • 補完する必要がある • 手法はいろいろ…
• 平均を代入する • 中央値を代入する • 最頻出値を代入する • 任意の固定値を代入する • …などなど
111 正規化とは データ等々を一定のルール(規則)に基づいて変形し、 利用しやすくすること。 • by Wikipedia • 例えば身長と体重は純粋に数字だけで比較できない •
同じ粒度に変換して、計算や比較を行いやすいようにする
112 4.欠損値補完、正規化、ダミー変数化するWF
113 4.正規化とダミー変数化するワークフロー
114 「仕事ではじめる機械学習」より 1. 問題を定式化する 2. 機械学習以外の方法を考える 3. アルゴリズムを選定する 4. 特徴量、教師データとログの設計をする
5. 前処理をする 6. 学習・パラメータチューニング 7. 評価
115 沈黙予測モデル作成ワークフロー
116 沈黙予測モデル作成ワークフロー サンプルデータだけ抽出 ※詳細は後述
117 沈黙予測モデル作成ワークフロー
118 ロジスティック回帰ツール 目的変数 (予測したい値) 説明変数 (予測に使用する変数)
119 ロジスティック回帰ツール 目的変数 (沈黙フラグ) 説明変数 (出演俳優とかジャンル とか…)
120 ロジスティック回帰ツール よくわかんないので全カラム指定してみた
121 ロジスティック回帰ツール
122 ロジスティック回帰ツール エラー
123 ロジスティック回帰ツール データ数に対して説明変数が多すぎると うまく学習できないらしい
124 ロジスティック回帰ツール データ数に対して説明変数が多すぎると うまく学習できないらしい
125 そもそもデータ数ってどれくらいいるのか? https://scikit-learn.org/stable/tutorial/machine_learning_map/index.html
126 そもそもデータ数ってどれくらいいるのか?
127 そもそもデータ数ってどれくらいいるのか?
128 そもそもデータ数ってどれくらいいるのか? 54件は少なすぎでしょ…
129
130 沈黙の復活 さすがにここでは終われないので 無理やりにでも続けます
131 ロジスティック回帰ツール データ数に対して説明変数が多すぎると うまく学習できないらしい
132 説明変数を極端に減らしてみると成功
133 ロジスティック回帰ツール どの説明変数をどれだけ指定するのが ベストなのか?
134 p値が低すぎる説明変数を省く • データが偏りすぎている変数は省く • 1が一つしかないダミー変数とか • p値が高すぎる説明変数を省く • 手法がいくつかあります
135 p値が低すぎる説明変数を省く • データが偏りすぎている変数は省く • 1が一つしかないダミー変数とか • p値が低すぎる説明変数を省く • 手法がいくつかあります
136 p値が低すぎる説明変数を省く AIC(赤池情報量基準)を使用する • 統計学者の赤池弘次氏が考案 • そのモデルのAICが小さいほど、そのモデルの精度は良い と評価できる • 説明変数を選択する基準によく用いられる
137 AICはいいんだけど… 「p値が一番大きい変数を1つずつ外してはAIC を確認…外してはAICを確認…」 面倒そう…
138 AICはいいんだけど… Alteryxは自動でできる
139 ステップワイズツールを投入する
140 ステップワイズツールを投入する 基準はAIC、p値が大きい ものから減らしていく方 法を指定
141 ついにロジスティック回帰成功か? これでいけるか?
142 ついにロジスティック回帰成功か? エラー
143 ついにロジスティック回帰成功か? いくらステップワイズツール入れても やっぱり説明変数多すぎるらしい
144 どっちの対策もやることに • データが偏りすぎている変数は省く • 1が一つしかないダミー変数とか • p値が低すぎる説明変数を省く • 手法がいくつかあります
145 データが偏りすぎている変数は省く • 俳優系のダミー変数はほぼ全部偏っていた • 大体、一度しか出演してない俳優 • (当然ながら)逆にセガールは全部出ている • 公開国のダミー変数もほぼ全部偏っていた
• 逆にアメリカはほとんど全部公開国 • 脚本家とかもほとんど全部偏っていた • …など
146 説明変数の選択 偏っているか微妙なデータはどうする?
147 説明変数の選択 センス
148 データに対する知見は絶対必要 • もちろんグラフ等で偏りをしっかり確認するのは大事 • しかし、データに対する知見(センス)も必要 • 例:監督がキオニ・ワックスマンかどうかは必要と思う • キオニ・ワックスマンはいつもの何とも言えないセガール映画
を量産している監督で有名 • キオニ・ワックスマンが監督の時は「沈黙の~」になるので は??という仮説も浮かんだり。
149 そして… ひとまずロジスティック回帰 動きました
150 最終的に選択した説明変数
151 今回は他のアルゴリズムも使います 他のアルゴリズムも同じ要領で設定する
152 他のアルゴリズムも投入
153 他のアルゴリズムも投入 決定木 ランダムフォレスト ニューラルネットワーク
154 学習結果が明らかにおかしい場合もある 学習結果が明らかにおかしい場合 • 例:結果が良すぎる場合 • p値がどれも0に極めて近い(全部が有意になっている)
155 学習結果が明らかにおかしい場合もある 過学習(または未学習)の可能性
156 過学習とは • 学習したデータはバッチリ予測できる • 未知のデータはてんでダメ • テスト勉強で問題を丸暗記しただけ、な状態 • →テスト以外の問題問題が出たら解けない
157 交差検証(クロスバリデーション) 全データ 開発データ テストデータ 訓練データ 検証データ ※交差検証にも 色々な手法があります
158 交差検証(クロスバリデーション)
159 「仕事ではじめる機械学習」より 1. 問題を定式化する 2. 機械学習以外の方法を考える 3. アルゴリズムを選定する 4. 特徴量、教師データとログの設計をする
5. 前処理をする 6. 学習・パラメータチューニング 7. 評価
160 モデルの評価 そのモデルの予測精度はいいのか? それとも悪いのか?
161 モデルの評価指標 • 正解率 • 適合率 • 再現率 • F値
162 正解率(Accuracy) 正解した数 / 予測した全データ数 • シンプル • これでいい?
163 正解率(Accuracy) 正解率で精度を評価するのはダメ
164 正解率(Accuracy) すべて「沈黙がつく」と予測するモデル • データの偏りによってはそれなりの精度になる • そのモデルに意味はあるか?
165 ではどうすれば? 適合率と再現率を見る
166 適合率と再現率 適合率(Precision) • モデルがTrueと予測したうち、実際に正解していた割合 • 「沈黙がついている」と予測したうち、実際に正解してい た割合 再現率(Recall) •
全データに含まれるTrueのうち、モデルが正解した割合 • 実際に「沈黙」がついている映画のうち、モデルが実際に 正解した割合
167 適合率と再現率 適合率と再現率はトレード・オフの関係 正確性 見逃し 適合率 高 多 再現率 低
少
168 適合率、再現率、F値 どの指標を優先するかは、分析の要件による • 今回の「沈黙の予測」は予測するからには外したくないの で、適合率優先でいきます。
169 F値 • 適合率と再現率のバランスを表した指標 • 1に近いほどよい
170 どうやって出すのか Alteryxはこれらの指標も出してくれます
171 モデル比較ツールを投入する
172 モデル比較ツールを投入する
173 モデル比較ツールを投入する
174 混同行列(Confusion Matrix) 実際の結果が負 (沈黙なし) 実際の結果が真 (沈黙なし) 予測した結果が 負(沈黙なし) 予測した結果が
真(沈黙あり)
175 混同行列(Confusion Matrix) 実際の結果が負 (沈黙なし) 実際の結果が真 (沈黙なし) 予測した結果が 負(沈黙なし) 真陰性
偽陰性 予測した結果が 真(沈黙あり) 偽陽性 真陽性
176 混同行列(Confusion Matrix) 実際の結果が負 (沈黙なし) 実際の結果が真 (沈黙なし) 予測した結果が 負(沈黙なし) 3
2 予測した結果が 真(沈黙あり) 6 5
177 混同行列(Confusion Matrix) 実際の結果が負 (沈黙なし) 実際の結果が真 (沈黙なし) 予測した結果が 負(沈黙なし) 3
2 予測した結果が 真(沈黙あり) 6 5 5 / 6+5 = 適合率
178 混同行列(Confusion Matrix) 実際の結果が負 (沈黙なし) 実際の結果が真 (沈黙なし) 予測した結果が 負(沈黙なし) 3
2 予測した結果が 真(沈黙あり) 6 5 5 /2+5 = 再現率
179 再掲
180 数値の名前を説明に合わせます 正解率 F値
181 数値の名前を説明に合わせます 再現率 ※なぜか適合率はない…
182 今回の結果 適合率 再現率 F値 ロジスティック 回帰 45% 71% 0.42
決定木 54% 85% 0.57 ランダム フォレスト 58% 100% ※ 0.61 ニューラル ネットワーク 58% 100% ※ 0.61 ※100%とか出てる時点でダメダメすぎるんだけどこのまま続行
183 頂上決戦
184 頂上決戦 真陽性 偽陽性
185 今回の結果 ランダムフォレスト(で作成したモデル)を 採用します
186 他にも評価するための手法は色々あります • リフトチャート • 適合率再現率曲線 • …など
187 圧倒的沈黙…ッッ… ついに「沈黙」を予測する時がきた
188 沈黙のワークフロー
189 沈黙のワークフロー 予測したいデータ
190 沈黙のワークフロー さっき作成したモデル
191 沈黙のワークフロー 予測したいデータの形式も、 学習時と同一にしておく (ダミー変数化や正規化など)
192 沈黙の予測結果
193 沈黙の予測結果 「Sheep Impact」と「80’s Blockbusters~」 に邦題をつけるとしたら、約60%の確率で 「沈黙」がつく
194 80's Blockbusters, When Hollywood Played Toughを詳しく • 80年代アクションスターに関するドキュメンタリー •
スタローンとかシュワちゃんとか • どうやら制作はフランス? • 作品としての評価はあまり良くない • https://www.amazon.com/Blockbusters-When-Hollywood- Played-Tough/dp/B076QX1HV1#customer-review-section • そもそもセガールはメインじゃない
195 所詮は機械学習… セガールが主人公じゃないドキュメンタリー なんかに「沈黙」の名は与えられない
196 Sheep Impactを詳しく • 2010年に放映されたオーストラリアの短編映画(4分) • カールトン&ユナイテッドブルワリーズの広告として制作 された(ほとんどCM) • セガールとその友人がバーベキューに肉を持ち込んだら起
訴されて色々揉める話? • YouTubeで普通に見れる • https://youtu.be/LgXXC7OTD3g
197 私が命名します 「沈黙の羊たち」
198 セガール vs レクター博士? どこかで聞いたことがあるような…?
199 まとめに入ります
200 今回のプロジェクトの問題点 データ少なすぎ • そもそも問題設定からして無理があった • 一人の俳優が出演した作品数なんて多くても2桁どまり • モデルの精度にも影響が出た アルゴリズムわかってなさすぎ
• ハイパーパラメータの調整とか一切やってない • そもそもアルゴリズムの選び方が適当すぎる
201 総まとめ 問題設定はしっかり 機械学習以外の方法を真剣に考える データに対する知識のある人が必要 • そのデータの内容をわかっていないと分析は不可 アルゴリズムの使い方がわかる人が必要 • 今回のようになあなあでやってもモデルは作れてしまう
前処理はやっぱり時間がかかる
202
203 「沈黙の分析」 3作目 制作決定
204 忘れられし説明変数… 「映画のあらすじ」… 自然言語処理…難解…
205 映画ポスター画像のURLまで… 画像認識…? 何に使えるというのか…?
206 「沈黙の分析3」 11月1日(金) 東京都 ベルサール東京日本橋 5F
207