【世界で55万人が受講】データサイエンス25時間ブートキャンプのUdemyレビュー

物流部門には様々な種類の大量のデータが集まります。
ところがせっかくの宝の山のデータを十分に活用しきれていないというのが、多くの物流部門における現状ではないでしょうか?
この講座で取り上げているデータサイエンスにより、大量のデータの山の中から意味のある法則を見つけて、予測の精度を上げることができます。
【世界で55万人が受講】データサイエンティストを目指すあなたへ〜データサイエンス25時間ブートキャンプ〜
機械学習・ディープラーニング・人工知能に関するビジネス上の課題を、回帰分析・ニューラルネットワーク・K平均法等を使って解いていきます。python、jupyter、numpy、pandas、tensorflow等のスキルも身に付きます。
管理人はこの手の数値分析は得意な方なのですが、今まではExcelを使ってゴリゴリにやっていました。
この講座を受講してみて、Pythonを使うともっと簡単にかつ深い分析ができることがわかったので、これからはPythonを使ってスマートにやろうと思います。
実データを使った分析事例については別記事で紹介するとして、本記事ではこの講座で教えていること、及びそのレベル感を紹介します。
全体を通してのレビュー
受講し終えた時の率直な感想は、「やっと終わったー」です。
講座のサブタイトルに25時間ブートキャンプと書いてあるのですが、管理人はそんなの気にしなかったため「いつ終わるのだろう?」と常に思いながら受講していました。
今まで受けた講座は3~4時間で終わるものだったため、とても長く感じました。
逆に言えば、同じ価格でこれだけの内容を網羅しているのだからコスパ最高ともいえます。
内容のクライマックスはTensorFlowを使ったディープラーニングですが、そこに至るまでに必要な数学やPythonの知識もすべて学習できます。
ディープラーニングは4つの事例を取り上げていますので、最初はわからない箇所があっても、最後にはわかるようになります。
また題名にもあるようにデータサイエンスのための講義ですので、カテゴリーデータの扱い方や、意味のない変数をどのように定量的に判断するかということも統計学を使って解説しています。
個別章のレビュー
数学基礎
データサイエンスに必要な数学として確率、統計、線形代数について解説しています。
これだけの内容がそれぞれ3時間、3時間、1時間に凝縮されています。
確率
確率については期待値や順列/組み合わせから入ります。
後者のクライマックスはロトで当たる確率を求める事例です。
次に出てくるのはベイズ理論です。
この下地になっているのは条件付き確率ですが、何が条件になっているのかは混同しやすく間違える人も多いところです。
本章では、そこを丁寧に解説しています。
そしてこの章のハイライトは確率分布です。
二項分布などの離散確率分布から正規分布などの連続確率分布までいろいろありますが、データサイエンスで重要なのはt分布、カイ二乗分布、ロジスティック分布でしょう。
これだけの内容を3時間で学ぶことができますが、ところどころに「これははしょっているな」という箇所もありますので、自分で他サイトを見ながら補完する必要はあると思います。
統計
記述統計と推計統計に分かれます。
記述統計とは平均や分散、歪度、相関係数などの統計量によりデータの特徴を明らかにすることです。
PythonのStatsModelやsklearnではfitメソッドを使うことによりこれらの記述統計量をまとめて表示してくれるので、それが何を意味するのかわかるためにも理解しておくことは必要です。
加えて、データの特徴を図示するためにヒストグラムの解説もあります。
推計統計とは正規分布やt分布などの確率分布を利用して、標本データから母集団の性質を推定する手法です。
どのくらい推定量が信頼できるのかを示す信頼区間の計算が肝になり、母分散が既知の場合と未知の場合とで計算方法が異なったり、複数の標本が従属の場合と独立の場合とでも異なったりして複雑なのですが、丁寧に解説されています。
また推測統計には仮説検定も含まれ、棄却域や有意水準、p値の考え方も解説しています。
この考え方は、重回帰分析やディープラーニングにおいて、多すぎる従属変数を減らす時(次元削減)にその基準を与えてくれるので重要です。
線形代数
ここではスカラー、ベクトル、行列、テンソルの違いから解説しています。
スカラーは1とか2とかの数字でゼロ次元、ベクトルは複数のスカラーを縦に並べたもので一次元、行列はそのベクトルを横に並べたもの(もしくはスカラーを縦横に並べたもの)で二次元、テンソルはその行列を複数重ねたものでn次元というのが一般的な考え方です。
つまり、テンソルというのが最も汎用的で、その特殊形がスカラー、ベクトル、行列だともいえます。
ディープラーニングにおいてテンソルが重要だといわれているのは、これを使うことにより計算のためのコードが簡単になること、画像データの扱いが簡単になること、及び従属データの数を減らして次元削減するのに便利ということが挙げられます。
ディープラーニングに適したライブラリーであるTensorFlowではデータをテンソルで扱うことを前提としており、また行列のドット積(内積)を知らないとテンソルの計算がエラーになってしまうこともあるので、線形代数の知識は必須だといえます。
Python基礎
ここではJupyterによる環境設定から始まり、基礎的な文法までを約3時間かけて解説しています。
Udemyの講座は3時間くらいのコースも多いので、このPythonの基礎だけでも1講座分くらいの価値はあると思います。
管理人は前に受けた講座で大体理解していたため、この章は二倍速で視聴しました。
Pythonを使った統計分析
この章ではPythonによる統計分析の方法を解説しています。
使用するライブラリーはStatsModelとsklearnです。
統計分析の種類としては線形回帰分析、重回帰分析、ロジスティック分析、クラスター分析を取り上げています。
このうち線形回帰分析と重回帰分析はExcelの分析ツールを使えばできますが、ロジスティック分析とクラスター分析はロジックを理解して自分で関数を使って実装しないとExcelではできません。
これらがPythonを使えば本当に簡単にできてしまいます。
ディープラーニング
そして最後にクライマックスのディープラーニングです。
ここには多くの時間が割かれていて、なんと約10時間の講義になっています。
最初はわかりにくい点があっても、気にしないで視聴していけば、同じような内容が何回も出てくるので段々理解できるようになります。
まずは目的関数の説明から入ります。
回帰分析のように量的変数を予測するニューラルネットワークでは目的関数としてL2ノルム損失を、分類問題のようにカテゴリ変数を予測する場合にはクロスエントロピー損失を計算します。
そして、これらの目的関数を最小化する点を求めるために使う勾配降下法を解説した後に、一旦、Numpyを使ってゼロからPythonでコードを書いていきます。
この講座では最終的にTensorFlowを使ったディープニューラルネットワークの実装の習得を目的にしていますので、同じ問題をTensorFlowでも解いています。
この問題は線形回帰で層も浅いニューラルネットワークであるため、TensorFlowのありがたさはわからないのですが、TensorFlowの実装の仕方を理解することができます。
次に、隠れ層もあるディープニューラルネットワークの解き方の解説に移ります。
ここでのポイントはバックプロパゲーション(誤差逆伝播法)ですが、その解説は8分間しかないため、初めて学習する人は他のサイトを見るなりして補完した方が良いでしょう。
またこの時に、過学習と過少学習についても学び、アーリーストッピングの方法についても触れられています。
その他、ハイパーパラメータである重みの初期値の決め方や、学習率を固定するのではなく、適応的に変化させる手法であるAdaGradやRMSProp、更にはAdamの考え方まで解説されています。
管理人が本講座で力を入れて解説していると感じた点は、データの前処理の方法です。
機械学習自体は関数を使えば1行で終わってしまいますが、その前に学習を正しく効率的に行わせるために、データの前処理を適切に行うことが重要になります。
これにはデータの欠損値を処理したり、時系列のデータを相対データに変換したり、指数関数的なデータの場合は対数に変換したり、平均値ゼロ/標準偏差1の標準化データに変換したり、カテゴリ変数をワンホットエンコーディングしたりといったようなことが含まれます。
実際、その後3つの事例をTensorFlowで実装していくのですが、このデータの前処理に多くの時間を割いています。
同じような前処理を何度も解説してくれますので、3つの事例を視聴し終わった時にはTensorFlowへの実装の仕方が理解できるようになります。
まとめ
データサイエンスに必要十分な知識をゼロから解説してくれます。
そのためには数学の知識も必須なため、これらを含めると25時間という長時間の講義になってしまいますが、大変受講しがいのある講座です。
仮に理解できなかった箇所があっても、その箇所だけ自分で別に勉強すれば良いだけの話しです。
これだけを理解すればデータサイエンティストとしての一通りの知識を身に着けれられるという良い道しるべにもなります。
とてもお薦めです。
【世界で55万人が受講】データサイエンティストを目指すあなたへ〜データサイエンス25時間ブートキャンプ〜
機械学習・ディープラーニング・人工知能に関するビジネス上の課題を、回帰分析・ニューラルネットワーク・K平均法等を使って解いていきます。python、jupyter、numpy、pandas、tensorflow等のスキルも身に付きます。