Python
機械学習

年末年始機械学習事始め

2017年12月にスキルアップAIさん主催のPythonを使ったデータ分析・統計入門を受講しまして、
この年末年始に機械学習を集中的に勉強してみようと思い、主にUdemyの動画学習をメインに勉強しましたので、一旦ここにまとめておこうと思います。

右も左も分からない機械学習初心者が書いた記事ですが、何処かの誰かの参考になれば。

おすすめ順

現在進行形で動画を見ているものもあるので、現状感じているおすすめの順番は以下の通りです。

  1. 【ゼロから始めるデータ分析】ビジネスケースで学ぶPythonデータサイエンス入門
  2. みんなのAI講座 ゼロからPythonで学ぶ人工知能と機械学習
  3. 【キカガク流】人工知能・機械学習 脱ブラックボックス講座 - 初級編 -
  4. 【4日で体験しよう!】 TensorFlow x Python 3 で学ぶディープラーニング入門 ※現在学習中
  5. Pythonで機械学習:scikit-learnで学ぶ識別入門

実際に私が見た順番は以下の通りです。
1. 【ゼロから始めるデータ分析】ビジネスケースで学ぶPythonデータサイエンス入門
2. みんなのAI講座 ゼロからPythonで学ぶ人工知能と機械学習
3. Pythonで機械学習:scikit-learnで学ぶ識別入門
4. 【キカガク流】人工知能・機械学習 脱ブラックボックス講座 - 初級編 -
5. 【4日で体験しよう!】 TensorFlow x Python 3 で学ぶディープラーニング入門 ※現在学習中

「Pythonで機械学習:scikit-learnで学ぶ識別入門」は受講時に理解できない点が多く、
後ほど再度学習予定のため一度しか視聴していませんが、それ以外の講座は2回ずつ受講しています。
また、基本的には1.5倍速から2倍速で視聴するようにして、
1回目は概要把握、2回目に実際にソースコードを書いたりで手を動かしています。
後述しますが、もう何度か視聴して理解を深めるのと、頭に定着させたいと思っています。

各講座について

【ゼロから始めるデータ分析】ビジネスケースで学ぶPythonデータサイエンス入門

この講座は、年末年始に集中的に機械学習の勉強をしようと思ったきっかけである2017年12月に受講した
スキルアップAIさん主催のPythonを使ったデータ分析・統計入門と同じような範囲の内容だったため、
まずこの動画から学習しました。
何かを予測するようなモデルを作成する前に、まずは基礎分析が大切、ということで
基礎分析をするための方法がわかるようになっています。

また、DeepAnalyticsというデータを活用したい企業・行政とデータサイエンティストのための
データコンテスト・プラットフォームを用いて、2つの練習問題を取り組み、
コンテストに結果を投稿するという内容になっています。
この動画を受講後に、受講時に投稿した結果よりも良い精度を出すために、
色々試行錯誤して見たりするのが良いかと思います。

みんなのAI講座 ゼロからPythonで学ぶ人工知能と機械学習

こちらはTensorFlowなどを使用せずに、一からシグモイド関数などを定義していき、
ニューラルネットワークを作成する講座になっています。
何が必要かを段階を追って説明されるので、理解しやすいです。

Pythonで機械学習:scikit-learnで学ぶ識別入門

機械学習を勉強していく中で数式を読むことができると何をしているのか
理解ができるようになるため、数学を勉強し直そうと思い、この講座を視聴しました。

結果的には私自身は理系ということもあり、この講座を視聴する必要はなかったかなと個人的に思っています。
主には微分の話が中心となっているのですが、微分がどういうものかなんとなくわかっている、
さらに偏微分についてもなんとなくわかるということであれば、特に受講しなくても大丈夫かと思います。

ただ、自信がない人は受講する価値はあるかと思います。
説明がわかりやすく、数式を手書きで書いて説明してくれるのですが、
式変形などもかなり丁寧にしているので過程がわからなくなるというようなことはないです。

また、Udemyの講座ではなく書籍ですが、微分・積分に関しては以下の本がわかりやすくてオススメです。
ふたたびの微分・積分

【4日で体験しよう!】 TensorFlow x Python 3 で学ぶディープラーニング入門

こちらの講座は現在も受講中となっています。
「みんなのAI講座 ゼロからPythonで学ぶ人工知能と機械学習」で
一からニューラルネットワークを構築することを学びましたが、
TensorFlowを用いてディープラーニングを勉強していく内容になっています。

こういったライブラリを使用する前に、スクラッチでニューラルネットワークを
構築する経験をしたかったため、「みんなのAI講座」を先に受講しましたが、
どちらもディープラーニングを学ぶための良い入門教材だと思うので、
受講順番は好みの問題かなと。

Pythonで機械学習:scikit-learnで学ぶ識別入門

この講座は3番目に受講しました。

「ビジネスケースで学ぶPythonデータサイエンス入門」「みんなのAI講座」を受講した際に
良いモデルを作成するためにはどのような特徴を使うべきか、
あるいは既存データを組み合わせて新たな特徴量を作成するか、
過学習を避けてちょうど良い塩梅で学習をさせるにはどのようにしたら良いか
といったことに疑問を持つようになったため、受講したのですが、途中から難しくて理解ができませんでした。
今後の予定の所でも記載しますが、また後ほど再度学習をしてみようと思います。

今後の予定

今後の予定ですが、まずは学習中の以下の講座を終わらせようかなと思います。

その後は以下の順番で学習を進めていこうかなと思います。

その他

  • Udemyで動画を購入する際、講座によるのかもしれませんが、PCサイトで見た価格とスマホアプリでの価格が異なる場合がありましたので、講座購入前に両方で値段を比較してみるのが良いかも
  • 講座によっては、講師の人が作成している他の講座への割引などの情報も載ってたりするので、割引価格のうちに気になるコンテンツを全部購入してしまうよりかは安く購入できる場合があるかも(私はまとめて買ってしまったので、実際どうなのかは未確認)

また、受講した講座でおすすめのものや良い勉強法などがあれば、記事にまとめるか、本記事を更新しようと思います。
逆に何か機械学習関連でおすすめの勉強法や教材があれば、教えていただきたいです。