Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

実践:今日から使えるビックデータハンズオン あなたはタイタニック号で生き残れるか?知的生産性UPのための機械学習超入門

2,835 views

Published on

超初心者向けのビッグデータをつかった機械学習を実践的に学ぶ入門です。
ブラウザ操作ができればエンジニアではなく一般の人でも学ぶことが出来ます。

この学びの対象者は?
→答えが知りたい人。ブラウザが使えればOK!統計の話は出てこないです。

教えないことは?
→統計については質問しないでくださいorz 理系ですが専門じゃないです。

この資料は㈱テクノモバイルと共同開発しています。

Published in: Technology
  • Be the first to comment

実践:今日から使えるビックデータハンズオン あなたはタイタニック号で生き残れるか?知的生産性UPのための機械学習超入門

  1. 1. TECHNOMOBILE GROUP HEAD OFFICE TOKUSHIMA development section | 5floor Column Minamiaoyama,7-1-5,Minamiaoyama,Minato-ku,Tokyo 107-0062,Japan | 3floor Tokushimakenkohkagaku-center,Hiraishisumiyoshi,Kawauchi-cho,Tokushima-shi Tokushima 771-0134,Japan 実践:今日から使えるビックデータハンズオン あなたはタイタニック号で生き残れるか?知的生産性UPのための機械学習超入門
  2. 2. 2 機械学習とは COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 最近よく聞く「機械学習」っ てなんでしょう?
  3. 3. 3 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 どばーっと大量のデータをパ ソコンに取り込んで。。
  4. 4. 4 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 うーってパソコンが考えて。。
  5. 5. 5 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 とりゃーって答えを教えてく れる仕組みです。
  6. 6. 6 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 統計学の知識が必要なのでは?
  7. 7. 7 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 最近のツールは良く出来ていて、 ブラウザ上でなんとなくブロッ クをつなぎ合わせていくだけで 機械学習ができちゃいます。 ただし、結果が良 いのかどうか評価 できる知識は必要
  8. 8. 8 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 なので、 「採用する前に優秀かどうか知り たくないですか?」 「どこで広告を流すと課金ユーザ になってくれるのか知りたくない ですか?」 そういう答えを知りたいすべての 人に「機械学習」を使って欲しい のです。
  9. 9. 9 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 回帰 クラス分類 レコメンデーション クラスタリング 教師あり 教師なし ※ほかにもいろいろ 答えをもとに学習します データを元に傾向を学習します 機械学習の種類
  10. 10. 10 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 ・回帰...数値を予測します。 ・クラス分類...分類を予測します。 二項分類、多項分類 ・クラスタリング...グループに分けます。 ・レコメンデーション...お勧めを示します。
  11. 11. 11 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 今回は クラス分類(二項分類) を実践形式で学びます。
  12. 12. 12 機械学習するためのワンパターン COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 どうやって「機械学習」って するの? 1つのパターンを覚えれば OK!→あとは調整していく
  13. 13. 13 ワンパターン COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 1. データを取り込む 2. 学習用と評価用にデータを分 ける 3. 学習用データを使って学習す る。 4. 学習した結果を使って評価用 のデータの答えを推測する。 5. 推測した答えを評価する。
  14. 14. 14 早速実践 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 ツールはなにがよいの? マイクロソフトのAzure MLを 使います。1ヶ月無料で使え る。1ヶ月後もFreeプランが あります。 AzureML http://azure.microsoft.com/ja-jp/services/machine-learning/ 料金 http://azure.microsoft.com/ja-jp/pricing/details/machine-learning/
  15. 15. 15 「まずはユーザ登録」のページを実行して、事前にユーザー登録をしておいてく ださい。 6 事前準備
  16. 16. 16 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 この学びの対象者は? →答えが知りたい人。ブラウザが使 えればOK!統計の話は出てこないで す。 教えないことは? →統計については質問しないでくだ さいorz 理系ですが専門じゃないで す。
  17. 17. 17 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 なにを推論するの? おもしろもの!! 今回はタイタニックの乗客が生 き残るかどうか推論しましょ う!ちょっと不謹慎ですが。。。 参考:AzureMLのチュートリアル https://gallery.azureml.net/Details/01b2765fa75147ce99679e18482d280f
  18. 18. 18 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 あなたは生き残れるか!!
  19. 19. 19 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 講師 Gashfara,Inc.代表 デジタルハリウッド大学院客員講師 茂木健一 mogi@gashfara.com kenichi.mogi@tcmobile.jp http://facebook.com/mogiken http://www.slideshare.net/mogiken1 自己紹介 [プロフィール/実績] もぎ・けんいち●青山学院大学大学院卒。(株)東洋情報システム退社後、(株) エイチアイ、グランスフィア(株)、(株)ファッションウォーカーなど数社の ベンチャー企業の立ち上げ・創業期に参画し、ガシュファラ・インクをUSで起業。 システム開発ではゲーム、M&A企業評価システム、動画配信システム、電子マ ネーシステム、ECフルフィルメントシステムなど、多彩な分野を経験。IT関連教 育ではBrew、Java、セキュリティーなどの講師として活躍。現在、(株)HUGG を設立し、スマホのカップル向けSNSサービス[HUGG]をグローバルに展開。㈱テ クノモバイルにて技術サポート。 【著書】 BREWプログラミング実践バイブル [共著] (インプレス)、PHP逆引き大全 516 の極意[共著](秀和システム)
  20. 20. 20 成長を実現させるシステム”モバイルトータルソリュー ション” Web システム 1 スマホ アプリ 2 ゲーム アプリ 3 モバイルトータルソリューション B2B2C • コンシューマ向けの大規模Webシステムの開発からアプリ・ゲーム開発までをマルチデバイスで対応 高い技術力 市場ニーズとマッチ 大規模 Webシステム に強い Java,PHP Strong1 最先端技術・独自 フレームワークで 効率的な 開発 Strong2 高トラフィック、 インフラ ネットワーク に強い Strong3 プライマリー ベンダー、 ヒアリング・ 要件定義 に強い StrongⅠ 情報資産の活用 最先端と 知見に強い StrongⅡ 最先端のマルチ デバイス ウェアラブルに 強い StrongⅢ Mashup Awards 5年連続 受賞 会社名 株式会社テクノモバイル 設 立 2008年 資本金 2,500万円 代 表 播田 誠 従業員数 100名(グループ合計) 本社所在地 〒 107-0062 東京都港区南青山7-1-5 コラム南青山 5F 開発室 〒771-0134 徳島県徳島市川内町平石住吉209-5 徳島健康科学総合センター 3F
  21. 21. 21 まずはユーザ登録 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 ユーザ登録してください AzureML(Machine Learning) http://azure.microsoft.com/ja-jp/services/machine-learning/
  22. 22. 22 ログイン COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. https://studio.azureml.net/?selectAccess=true&o=1 にアクセ スしてください。
  23. 23. 23 ワンパターンその1:データを取り込む COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 データを用意します。 ここのtrain.csvを使います。 乗客の情報と生死がCSVデー タになってます。 https://www.kaggle.com/c/titanic-gettingStarted/data Downloadできないひとは講師に問い合わせて。
  24. 24. 24 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 Excelで開いてみます。それぞ れのデータの意味は PassengerId=顧客ID Survived=1:生存、0:死亡 Pclass=1:一等席、2:二等席、3:3等席 Name=名前 Sex=性別 Age=年齢 SibSp=同乗している兄弟の人数(自分は数えない) Parch=同乗している親または子供の人数(自分は数えない) ticket=チケットNo fare=料金 1等席はだいたい50〜200,2等席10〜80,3等席7〜50 ポンド:1ポンドの現在価値は0.7万円くらいかな? cabin=客室番号 embarked=乗船した場所 C = Cherbourg; Q = Queenstown; S = Southampton Survivedが知りたい情報です。こ れを目的変数(label)と言いま す。 その他のデータは説明変数 (features)です。 labelは1つだけです。featuresは いくつでもOKです。 labelは0,1のように2つの値だけ を持つようなデータで検証する のが分かりやすいです。
  25. 25. 25 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 AzureMLに取り込みます ① ② ⑤train.csvを選択します。 ③ ④ ⑥ DATASETSに 登録されま す。 http://azure.microsoft.com/ja-jp/services/machine-learning/ からログイン または https://studio.azureml.net/?selectAccess=true&o=1
  26. 26. 26 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 データを取り込むロジックを 作成します ① ② ③ ④ ⑤ ⑥train.csvをDragDrop この画面で左にある部品をつ なぎあわせながら機械学習の ロジックを組み立てていきます。 以上
  27. 27. 27 ワンパターンその2:学習用と評価用にデータを分ける COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 ①キーワード検索 ②D&D ③つなぐ 丸いところが接続可能 ④Splitの図 形を選択し て0.6に変更。 6割、4割 にデータが わかれる 6割 4割 以上
  28. 28. 28 ワンパターンその3:学習用データを使って学習する COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 ① ②ここで6割のデータを 使って学習します。 ③ ④ こんな感じに部品を組み立てましょう。labelの指定が必要なので忘れずに。 Two-Class Bayes Point Machineが学習するロジック(model)になります。これを変 更するといろいろなロジックを試すことが出来ます。0,1のようにlabelが2つの値 を持つならば、Two-Class Bayesが吉! labelが3つ以上の値を保つ場合や実数の場合などはそれに応じてmodelを変更する 必要があります。どのmodelを選ぶのかの目安は、名前にTwo-Class Multi-Classな どのようにわかり易い名前が付いています。教師なしmodelもありますが説明は省 略します。 ⑤TrainModelを選択して ボタンを押す ⑥labelにSurvivedを指定します。 以上
  29. 29. 29 ワンパターンその4:学習した結果を使って評価用の データの答えを推測する COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 ①ここで4割のデータを推測する こんな感じに部品を組み立てましょう。 ② ③ 以上
  30. 30. 30 ワンパターンその5:推測した答えを評価する COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 ①ここでScoreModelの結果を評価します こんな感じに部品を組み立てましょう。 ② 以上
  31. 31. 31 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 実行 ロジックが出来たので実行し ます ぽちっと押します。キュー(実行待ち) に入るので完了するまで待ちます 終了すると右上にこんな感じに表示されます。
  32. 32. 32 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 ScoreModelの結果を見ましょう ② ①線をつないでいるポッチを押しましょう。 ③結果が表示されます Splitで分けた4割のデータが表示されます。Scored Labelsが推測した値です。TrainModelでlabel にSurvivedを指定しているのでこの値と比較すれば推測があたっているかどうかわかります。
  33. 33. 33 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 EvaluateModelの結果を見ましょう ② ①線をつないでいるポッチを押しましょう。 ③結果が表示されます ScoreModelでは全体的に良い結果なのかどうか判断しにくいのです。そこでEvaluateModelを 使ってざっくりと推測の精度が良いのかどうか判断します。 とりあえず2つだけポイントを抑えればOKです。他にたくさん指標がありますがGoogleなどで 検索すればどのように評価すればよいのか出ています。
  34. 34. 34 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 EvaluateModelの結果をみる2つのポイ ント(超初心者用) ROCのグラフは対角線を基準として左上側に線があると精度が良いと 考えます。赤い線のようなのが理想的です。 対角線はちょうど五分五分の精度です(要はランダムに推測した結果 に近い)。 Accuracyが1に近いほど精度が良いです。 現状、ROCは対角線に近 く、Accuracyも1には程遠 いので精度は良くないです ね。。。 ※学習modelによって評価の仕方が変わります
  35. 35. 35 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 なにが悪いの? データ? データを良く見てみよう!!
  36. 36. 36 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 改めてCSVデータを見ると、 生死に関係なさそうな値や未 入力の値もありそうです。 これらを削除すれば精度が良 くなるのでは?
  37. 37. 37 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 未入力データがあるものは行 ごと削除 PassengerId、Nameは生死に 関係ないでしょう ticketも関係なさそう cabinもユニークな番号っぽい ので関係ないのでは?
  38. 38. 38 データを綺麗にしよう COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 ② ① ③ ④ ⑤ ⑥ProjectColumunsの設定 ⑦MissingValuesScrubberの設定 こんな感じに部品を組み立てましょう。
  39. 39. 39 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 再度実行 修正出来たので実行します 結果を待ちましょう。。。 どきどきどきどき
  40. 40. 40 EvalutateModelを見ましょう COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 グラフもAccuracy もいい感じ!! 更に精度を高めるには使うデータ の見直し、データを加工して学習 しやすくする、Bayes以外のmodel も試してみる、など試行錯誤して みましょう。
  41. 41. 41 他のデータに応用するには? COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. ①データの変更 ②学習ロジックの変更 0,1のように2つの値ならこのままでもOK ③Labelの変更 たった、3箇所を変更するだけ!
  42. 42. 42 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 あなたは生き残れるか!!
  43. 43. 43 検証データを入力できるようにする COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 AzureMLはAPIとして簡単に インターネットに外部公開で きます。そこからデータを入 力して生き残れるか検証しま す。
  44. 44. 44 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 ① ② ③4割の検証データの代わりにAPIのデー タを使います ④ こんな感じに部品を組み立てましょう。 Webで検証するための入り口と出口が出来ました!
  45. 45. 45 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 これを押すとAPIとして公開されます。押せない時は「RUN」を実行してから再試行します。
  46. 46. 46 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 このサービスにアクセスするAPIが公開されます。アクセスするにはプログラムが必要です。ですが 「Test」を使うと検証が簡単にできます。入力するデータはCSVとおなじ内容です。結果は ScoreModelのVisualで表示されるデータと同じです。 入力 結果:Jason
  47. 47. 47 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 あなたは生き残れるか!! Survived=1:生存、0:死亡 結果のデータなので適当でOK Pclass=1:一等席、2:二等席、3:3等席 Sex=male,female Age=年齢 SibSp=同乗している兄弟の人数(自分は数えない) Parch=同乗している親または子供の人数(自分は数えない) fare=料金 1等席はだいたい50〜200,2等席10〜80,3等席7〜50 ポンド:1ポンドの現在価値は0.7万円くらいかな? embarked=乗船した場所 C = Cherbourg; Q = Queenstown; S = Southampton 検証!!
  48. 48. 48 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 あとは身近なデータでトライ!! コンテストデータはここに https://www.kaggle.com/ 野良データはここにも https://goo.gl/IHxkkO
  49. 49. 49 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 http://goo.gl /jGKrYy 書籍が発売されています。 下記のドキュメントなど を読み込みましょう。 http://azure.microsoft.com/ja- jp/services/machine-learning/ さらに勉強するには
  50. 50. 50 COPYRIGHT(C) TECHNOMOBILE ALL RIGHTS RESERVED. 6 ・Webサービスの知能化 ・データ分析サービスの追加 ・エンジニアのデータ分析能力向上 ・DeepLearningなど先端技術の導入支援 適用事例(経営者・営業担当の方に)

×