機械学習のための数学
機械学習のために必要な数学知識ってなに?
一般的には以下の知識が必要と言われております。
・線形代数
・微分積分
・確率統計
理工系大学の1、2年生で学ぶ数学の知識が必要となってきます。
理系じゃなきゃ難しいのかな?と感じるかもしれませんが基礎知識としては高校数学レベルがあれば十分に理解できる内容となっております。
おさらいとして簡単に以下で説明していきます。
より詳しく勉強したい方は書籍やWebが充実しておりますのでそちらを参考にしてみてください。
線形代数
ベクトルと、行列という分野を扱います。
高校数学BとCで学習した方がいらっしゃると思います。
ベクトルはプログラムでよく使う配列やリストみたいなものと思ってください。
行列はベクトルの一種で行ベクトルと列ベクトルがあります。
表計算ソフトのシートをイメージすると理解しやすいかもしれません。
複数の値を一つの式で扱うときに使用し複数のベクトルをひとまとめに表現できます。
連立方程式を解くための記法と捉えておいてください。
微分積分
高校数学Ⅱで関数の傾きを求める問題がよく出題されていましたね。
微分は傾き、積分は面積を求めることと捉えておいてください。
機械学習では可能な限り誤差を小さくするために微分を扱います。
可能な限り誤差を小さくするとは傾きが0のことです。
勾配降下法・最小二乗法など最適化アルゴリズムで多く利用されます。
確率統計
大量のデータを扱うため分類や解釈が必要不可欠となります。
統計は収集したデータから平均や分散などを明らかにし、そこからデータの傾向や性質を理解することができます。
機械学習でよく使われる問題は2つあり、回帰問題では入力データから数値の予測を行います。(気温に対して商品がどれくらい売れるか予測するとか)
分類問題では入力データがどのクラスに属するかという問題です。(画像からだれに似ているかを分類するとか)
これらは確率統計を利用し判断しております。
さいごに
最近はクラウドのサービスが充実してきて数学の基礎知識をあまり必要とせず手軽に機械学習にチャレンジできるようになってきましたね。
どういう仕組みで動いているのか想像することで違った視点を持つことができるのではないでしょうか。
学校の勉強もきちんと生活の中で役に立っていると実感できます(笑)
- 当ページの人物画像はNIGAOE MAKERで作成しました。