[DSO]勉強会_データサイエンス講義_Chapter3

Please download to get full document.

View again

All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
 5
 
  1. Data Strategy Office Session Vol.2 アルゴリズム を理解しよう 2019年7月12日(金) マーケティング部 データ戦略室 井上 亮弥 2.…
Share
Transcript
  • 1. Data Strategy Office Session Vol.2 "アルゴリズム" を理解しよう 2019年7月12日(金) マーケティング部 データ戦略室 井上 亮弥
  • 2. 教科書 2 Rachel Schutt, Cathy O‘Neil (2014) 「データサイエンス講義」 (瀬戸山 雅人・石井 弓美子・河内 崇・河内 真理子・古畠 敦・ 木下 哲也・竹田 正和・佐藤 正士・望月 啓充 訳) 1章 はじめに:データサイエンスとは 2章 統計的推論、探索的データ分析、データサイエンスのプロセス 3章 アルゴリズム 4章 スパムフィルタ、単純ベイズ、データラングリング 5章 ロジスティック回帰 6章 タイムスタンプと金融モデリング 7章 データから意味を抽出する 8章 レコメンデーションエンジン:ユーザが直接触れる大規模データ製品を構築する 9章 データ可視化と不正検出 10章 ソーシャルネットワークとデータジャーナリズム 11章 因果関係 12章 疫学 13章 データ分析のコンペティションから得られた教訓:データのリークとモデルの評価 14章 データエンジニアリング:MapReduce、Pregel、Hadoop 15章 生徒たちの声 16章 次世代のデータサイエンティスト、データに対する過信と倫理
  • 3. アジェンダ 1. アルゴリズムの意味 2. アルゴリズムの3つのカテゴリ 3. 基本的なアルゴリズム 3選 4. まとめ 3
  • 4. 1. アルゴリズムの意味
  • 5. 1-①:アルゴリズムとは 例) ユークリッド互除法 (世界最古のアルゴリズム?) ● タスク: 2つの自然数の最大公約数を求める ● 手順: 1. 入力を m,n とする。(m≧n) 2. n = 0 ならば、m を出力し、終了する。 3. m を n で割った余りを新たに n 、元の m を n として、 手順2に戻る。 5 タスクを達成するための手続きや手順、またはルールの集合のこと。 『原論』/ ユークリッド
  • 6. 1-②:アルゴリズムに触れてみる 例) 1. 二分探索法 / 二分法 2. マッチング法 3. 深さ優先探索法 (DFS) 4. 幅優先探索法 (BFS) 6 参考: https://ja.wikipedia.org/wiki/%E3%83%95%E3 %83%AF%E3%83%BC%E3%83%AA%E3%82 %BA%E3%83%9F%E3%83%BC
  • 7. 1-③:(参考)アルゴリズムとモデルの違い ● タスクを達成するためのルー ルやステップの集まり 7 ● 世界を記述もしくは捉えよう とする試み アルゴリズム モデル ● アルゴリズムは「計算機科学」 の分野から ● モデリングの出自は「統計」の 分野から ● パラメータの解釈に注力しな い ● パラメータを現実世界に対応 する何かとして解釈したい ● 信頼区間や不確実性の概念が 無い ● 信頼区間と事後分布を計算し て不確実性を取り込む
  • 8. 2. アルゴリズムの3つのカテゴリ
  • 9. 2-①:アルゴリズムの3つのカテゴリ 9 ※ データサイエンスに関して、知っておくべきものに限る データを 変更/準備/処理 する アルゴリズム パラメータを 推定する アルゴリズム 機械学習 アルゴリズム
  • 10. 2-②:データを変更/準備/処理するアルゴリズム 10 ● ソートアルゴリズム ○ データをルールに従って並べ替えること。 ○ 参考: https://qiita.com/r-ngtm/items/f4fa55c77459f63a5228 ● MapReduce ○ Googleが開発した、コンピュータ機器のクラスター上での巨大なデータセット に対する分散コンピューティングを支援するプログラミングモデルのこと。 ○ 参考: https://www.slideshare.net/doryokujin/map-reduce-8349406 ● Pregel ○ 大規模グラフデータ処理のあるアルゴリズム。 ○ 参考: https://www.slideshare.net/maruyama097/graph-31970715 データエンジニアリングの分野。
  • 11. 2-③:パラメータを推定するアルゴリズム 11 ● 確率的勾配降下法 ○ 連続最適化問題に対する勾配法の乱択アルゴリズム。 ○ 参考: https://qiita.com/kenmatsu4/items/d282054ddedbd68fecb0 ● ニュートン法 ○ f(x)=0 になるような x を求めるアルゴリズム。 ○ 参考: https://qiita.com/PlanetMeron/items/09d7eb204868e1a49f49 ● 最小二乗法 ○ 想定する関数がより良い近似になるよう、残差の二乗和を最小とする係数を決 定するアルゴリズム。 ○ 参考: https://mathtrain.jp/leastsquares その名の通り、パラメータを推定する最適化アルゴリズム。
  • 12. 2-④:機械学習アルゴリズム 12 ● パーセプトロン ● Deep Learning ● ロジスティック回帰 ● SVM(サポートベクターマシン) ● K-means(K平均法) ● トピックモデル ● ナイーブベイズ(単純ベイズ分類器) ● 決定木学習(樹木モデル) ● Random Forest ● (多腕/マルチアーム)バンディットアルゴリズム etc... 機械学習により知能が向上していく過程を示したアルゴリズム。
  • 13. 3. 基本的なアルゴリズム 3選
  • 14. 3-①:基本的なアルゴリズム 3選 14 線形回帰 k近傍法 k平均法
  • 15. 3-②:線形回帰 15 例) 最小二乗法 仮定した線と、データの点との距離の二乗和を最小にするように 線のパラメータを決める。 ● 手順: 1. 残差平方和を計算する。 2. 残差平方和が最小となるようなパラメータを計算する。 変数と変数の間に線形の関係性を仮定し、その関係を表すパラメータを決める。 参考: https://mathtrain.jp/leastsquares
  • 16. 3-③:k近傍法 16 ● 手順: 1. 類似度または距離指標を決定する。 2. ラベル付けされたもとのデータセットをトレーニングデータ とテストデータに分ける。 3. 評価指標を選択する。 4. k近傍法を何度か実行する。 5. 評価指標が最高になるkを選択する。 予め分類されたオブジェクトをもとに、分類されていないオブジェクトを分類する。
  • 17. 3-④:k平均法 17 ● 手順: 1. 最初にk個のクラスタの中心点を選択する。 2. 各データポイントを最も近いクラスタの中心点に割り当てる。 3. データポイントの平均位置に中心点を移動する。 4. 割当の変更がなくなるか、ほぼなくなるまで繰り返す。 クラスタの平均を用い、与えられたクラスタ数k個に分類していく。
  • 18. 4. まとめ
  • 19. 4-①:まとめ ● アルゴリズムとは、タスクを達成するための手続きや手順、またはルールの集合の こと。 ● 状況に合わせて臨機応変に最適なものを選ぶ必要がある。(ベスト) ● そのために基本的なアルゴリズムについては知っておきましょう。 ○ 線形回帰 ○ k近傍法 ○ k平均法 ○ その他いろいろ 19
  • 20. Appendix
  • 21. 参考資料1 ● データサイエンス講義 (Cathy O'Neil,2014,オライリージャパン) ● アルゴリズムとは何か!?~文系理系問わず楽しめる精選6問~ (https://qiita.com/drken/items/f909b79ee03e679c7142) ● ソートアルゴリズムを可視化してみた(https://qiita.com/r- ngtm/items/f4fa55c77459f63a5228) ● MapReduce ~入門編:仕組みの理解とアルゴリズムデザイン~ (https://www.slideshare.net/doryokujin/map-reduce-8349406) ● 大規模グラフデータ処理(https://www.slideshare.net/maruyama097/graph- 31970715) 21
  • 22. 参考資料2 ● 確率的確率的勾配降下法とは何か、をPythonで動かして解説する (https://qiita.com/kenmatsu4/items/d282054ddedbd68fecb0) ● ニュートン法とは何か??ニュートン法で解く方程式の近似解 (https://qiita.com/PlanetMeron/items/09d7eb204868e1a49f49) ● 最小二乗法の簡単な説明(https://mathtrain.jp/leastsquares) 22
  • 23. 年齢当てゲーム (二分探索法 / 二分法) Aさんの年齢を当てようとしています。 Aさんは、20歳以上36歳未満であることはわかっています。 Aさんに4回だけ Yes/No で答えられる質問をして、Aさんの年齢を当ててください。 23
  • 24. マッチングゲーム (マッチング法) 24 あなたは男性3人、女性3人の合コンの主催者です。 主催者として、全員が得する組み合わせにしたいです。 相性を見てみると、右図のような結果でした。 どういう組み合わせにすれば全員が得しますか? 参考: https://qiita.com/drken/items/ e805e3f514acceb87602
  • 25. 虫食算パズル (深さ優先探索法) 25 7 1× 3 7 4 3 1つの□に1つの数字 (0~9) を入れられます。 ただし、各行の左端の□には0は入れられません。 これらを考慮して計算を成立させてください。
  • 26. 迷路 (幅優先探索法) 26 右のルート迷路において、 S から G までの最短距離を通る ルートを指定して下さい。 参考: https://qiita.com/drken/items /f909b79ee03e679c7142
  • 27. 参考コード(線形回帰) 27
  • 28. 参考コード(k近傍法) 28
  • 29. 参考コード(k平均法) 29
  • We Need Your Support
    Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

    Thanks to everyone for your continued support.

    No, Thanks
    SAVE OUR EARTH

    We need your sign to support Project to invent "SMART AND CONTROLLABLE REFLECTIVE BALLOONS" to cover the Sun and Save Our Earth.

    More details...

    Sign Now!

    We are very appreciated for your Prompt Action!

    x