機械学習の数学


気になる記事があったのでメモ。
http://datascience.ibm.com/blog/the-mathematics-of-machine-learning/



<hr>


ここ数ヶ月で、私は、データ科学の世界への挑戦と、機械学習（ML）技術を使用して統計的規則性を探り、完璧なデータ駆動型製品を構築するという熱意について、私に連絡しました。しかし、私は実際に有用な結果を得るために必要な数学的な直感とフレームワークがないことを知っています。これが私がこのブログ記事を書くことにした主な理由です。最近では、scikit-learn、Weka、Tensorflow、R-caretなどの使いやすいマシンやディープ・ラーニング・パッケージが多数利用できるようになっています。機械学習理論は、統計的、確率的、コンピュータ的データから繰り返し学習し、インテリジェントなアプリケーションを構築するために使用できる隠された洞察を見つけることから生じる科学的およびアルゴリズム的な側面。マシンとディープ・ラーニングの巨大な可能性にもかかわらず、これらのテクニックの多くを徹底的に数学的に理解することは、アルゴリズムの内部動作をよく理解し、良い結果を得るために必要です。


#なぜ数学について心配していますか？

機械学習の数学が重要である理由はたくさんありますが、以下ではそれらのいくつかを強調します。

1.正確さ、トレーニング時間、モデルの複雑さ、パラメータの数、およびフィーチャの数に配慮することを含む適切なアルゴリズムを選択する。

2.パラメータ設定と検証戦略の選択。

3.バイアス偏差のトレードオフを理解することで、アンダーフィットとオーバーフィットを特定します。

4.適切な信頼区間と不確実性の推定。


#どのレベルの数学が必要ですか？

機械学習のような学際的な分野を理解しようとするときの主な質問は、必要な数学の数と、これらの技法を理解するために必要な数学のレベルです。 この質問に対する答えは、多次元であり、個人のレベルと関心に依存します。 数学的な研究の研究と機械学習の理論的進歩が進行中であり、一部の研究者はより高度な技術に取り組んでいます。 私は機械学習科学者/エンジニアになるために必要な数学の最小レベルと各数学的概念の重要性と信じていることを述べます。
![MathML.png](https://qiita-image-store.s3.amazonaws.com/0/64334/7532013c-4822-d87d-d694-7a276c038220.png)


###1.線形代数：
同僚のSkyler Speakmanは最近、「線形代数は21世紀の数学である」と述べ、私はその話に同意します。 MLでは、線形代数はどこにでも現れます。 （PCA）、特異値分解（SVD）、行列の固有値分解、LU分解、QR分解/ファクタライゼーション、対称行列、直交化と直交化、行列演算、射影、固有値と固有ベクトル、ベクトル空間とノルム機械学習に使用される最適化手法を理解するために必要です。線形代数の驚くべき点は、非常に多くのオンラインリソースがあることです。私はいつも伝統的な教室はインターネット上で利用可能な膨大な資源のために死ぬと言ってきました。私の好きな線形代数コースは、MITコースウェア（教授Gilbert Strang）が提供するコースです。
http://ocw.mit.edu/courses/mathematics/18-06-linear-algebra-spring-2010/

###2.確率論と統計：
機械学習と統計はあまり異ならない分野です。実際、ある人は最近Machine Learningを「Macで統計をやっている」と定義しました。確率論と確率、ベイズの定理、ランダム変数、分散と期待、条件付き分布と同時分布、標準分布（ベルヌーイ、二項数、多項式、一様およびガウス分布）、モーメント（Maximum Likelihood Estimation、MLE）、前後および後部、最大事後推定（MAP）およびサンプリング方法を含む。

###3.多変量解析：
必要なトピックの中には、微分積分、部分微分、ベクトル値関数、方向勾配、ヘッセ行列、ヤコビ行列、ラプラシアン分布、ラグラグ分布などがあります。

###4.アルゴリズムと複雑な最適化：
これは、機械学習アルゴリズムの計算効率とスケーラビリティを理解し、データセットのスパース性を利用するために重要です。データ構造（バイナリツリー、ハッシュ、ヒープ、スタックなど）、動的プログラミング、ランダム化およびサブラインアルゴリズム、グラフ、グラディエント/確率的降水およびPrimal-Dual法の知識が必要です。

###5.その他：
これは、上記の4つの主要な領域でカバーされていない他の数学のトピックで構成されています。それらには、実数と複素数解析（集合と順序、トポロジー、メトリック空間、単一値と連続関数、限界、コーシーカーネル、フーリエ変換）、情報理論（エントロピー、情報ゲイン）、関数空間とマニフォールドが含まれます。


機械学習に必要ないくつかの数学トピックを学習するためのオンラインMOOCと資料は、次のとおりです。

カーンアカデミーの線形代数、確率と統計、多変数微積分と最適化。
https://www.khanacademy.org/math/probability
https://www.khanacademy.org/math/calculus-home/multivariable-calculus
https://www.khanacademy.org/math/differential-calculus/derivative-applications/calc-optimization/e/optimization

ブラウン大学Philip Kleinによるコンピュータサイエンスアプリケーションによる行列のコーディング：線形代数。
http://codingthematrix.com/

線形代数 - テキサス大学のRobert van de GeijnによるFrontiers to Foundiers
https://www.edx.org/course/linear-algebra-foundations-frontiers-utaustinx-ut-5-04x

線形代数の応用、パート1とパート2。David Chartier、Davidson Collegeの新しいコース。
https://www.edx.org/course/applications-linear-algebra-part-1-davidsonx-d003x-1
https://www.edx.org/course/applications-linear-algebra-part-2-davidsonx-d003x-2

Joseph Blitzstein - Harvard Stat 110講義。
http://projects.iq.harvard.edu/stat110/youtube

ラリーワッサーマンの本 - すべての統計：統計的推論の簡潔なコース。
http://read.pudn.com/downloads158/ebook/702714/Larry%20Wasserman_ALL%20OF%20Statistics.pdf

BoydとVandenbergheのスタンフォード大学からの凸面最適化コース。
http://stanford.edu/~boyd/cvxbook/

線形代数 - edXのフロンティアまでの基礎
https://www.edx.org/course/linear-algebra-foundations-frontiers-utaustinx-ut-5-04x

Udacityの統計入門。
https://www.udacity.com/course/intro-to-statistics--st101

最後に、このブログ記事の主な目的は、機械学習における数学の重要性と、これらのトピックの熟練のために必要なトピックと有用なリソースについて、賢明な助言を与えることです。しかし、一部の機械学習愛好家は数学の初心者であり、おそらくこの投稿が心配している（真剣には、これは私の目標ではない）ことがわかります。初心者の方は、機械学習を始めるために数学を必要としません。基本的な前提条件は、このブログの記事で説明しているようにデータ分析であり、より多くの手法やアルゴリズムを習得していくうちに数学を学ぶことができます。