機械学習に必要な数学を学ぶ「人工知能プログラミングのための数学がわかる本」

こんにちは、たくろー(@takuro_data )です!

ニュースなどで人口知能(AI)という言葉を聞かない日はありません。人工知能は広い概念で、人工知能を学ぶとしたら機械学習(ディープラーニング含む)ではないでしょうか。

機械学習を学んでいて、数学を復習したくなり、本書を購入しました。

概要

本書は、機械学習に特化した数学書です。機械学習のアルゴリズムを理解するのに、大学の基礎科目で習う「微積分」「線形代数」が必要ですが、頻繁に使うものには偏りがあります。ですので、本書では「微分」は扱われますが「積分」が扱われなかったりします。

本書に記載がありますが、以下の目的・対象者を想定しています。

目的
  • 人工知能理論に関する書籍に含まれる数式に対する抵抗感をなくし、人工知能に関する専門書を読むために必要な基礎力をつける。
  • いくつかの人工知能のアルゴリズムを理解し、数式の意味を理解できるようになる。

対象者
  • 人工知能アルゴリズムを用いてモデリングを行っているが、その根底のアルゴリズムはブラックボックス状態であり、数学を一度復習したい方。
  • 人工知能アルゴリズムを体系的に学ぼうと思っているが、数学を忘れており、専門書に現れる数式がほとんど理解できない方。
  • 人工知能アルゴリズムに興味があるが、ハードルが高くてまだ触られていない方。

読んでみて、ある程度の数学知識があり効率的に復習するのに適していると感じました。章立ては以下の通り。

  1. 数学基礎
  2. 微分
  3. 線形代数
  4. 確率・統計
  5. 実践編1:回帰モデル
  6. 実践編2:自然言語処理
  7. 実践編3:ディープラーニング

本書は、基礎編(1〜4章)と実践編(5〜7章)に分かれています。基礎編で、機械学習で使われる数学理論を学び、実践編で「回帰モデル」「自然言語処理」「ディープラーニング」に基礎編で学んだことを応用します。基礎編のそれぞれの項目について「人口知能ではこう使われる!」があることが本書の特徴です。

機械学習に必要な数学

各章の項目ごとに「人工知能ではこう使われる!」を紹介します。

数学基礎

  • 対数:尤もらしさを表す度合いとして尤度が使われ、尤度を示す関数を尤度関数という。計算するのに対数尤度関数が用いられることが多い。
  • シグモイド関数活性化関数として、利用されることが多い。
  • 三角関数音声認識を行うときに、音の波を解析するために、フーリエ変換が行われることがある。フーリエ変換は、複雑な波形を持つ関数を三角関数の足し算で表現する。
  • 絶対値とユークリッド距離:ユーグリッド距離は例えばk近傍法で使われる。訓練フェーズで訓練データをベクトル空間上にプロット。推論フェーズで、未知データがどのカテゴリに属するか判別するのに利用される。
  • 数列ニューラルネットワークの入力される値は、「入力値」に「重み」をかけ全て足し合わせたものになる。数列の和で使われるΣで表現される。

微分

  • 微分基礎:損失関数の最小値を求める手法を勾配降下法と呼び、微分が使われる。
  • 常微分と偏微分:人工知能に関する書籍や論文に「d」や「∂」の記号が頻出。
  • グラフの最大値・最小値:線形回帰で使われる最小2乗法で、誤差の2乗和が最小値を求める。
  • 初等関数・合成関数の微分法・積の微分法:ニューラルネットワークの重みの調整量は、誤差の値を重みで偏微分した値を考慮したもの。誤差逆伝播法という手法で計算され、合成関数の微分法が使われる。
  • 特殊な関数の微分:ニューラルネットワークの重みの調整する際、活性化関数も微分される。

線形代数

  • ベクトル:コンピューターが言語を扱うために、単語をベクトル化するWord2Vecという概念がある。
  • ベクトルのノルム(移動距離):L1ノルム(マンハッタン距離、総移動距離)とL2ノルム(ユークリッド距離、直線距離)は、線形回帰モデルで過学習を避けるため正則化項として使われる。
  • コサイン類似度:ベクトル化された単語または文章同士の関係性の近さを計算するために使われる。
  • 線形変換ニューラルネットワークの、パラメータと重みによる掛け算は、線形変換とみなすことができる。
  • 固有値と固有ベクトル主成分分析で、データが最もバラツキを持つような軸を考えるとき、式変換を行うと固有値、固有ベクトル問題に帰着される。

確率・統計

  • 確率とは?:人工知能の状況判断の一つの方法として、最も正解に至る確率が高い選択肢を正解として選ぶ。
  • 確率変数と確率分布:観測結果を離散型確率変数として捉え、離散確率分布を得ることで、次に起きる事象の確率を過去のデータから推測。適切な連続確率分布を与えることで、少ない試行回数から、将来起こる事象を推測。
  • 結合確率と条件付き確率:予測モデルの精度や正確性を表す方法はさまざまあり、目的によって指標を選択する必要がある。
  • 平均・分散・共分散:過去のデータから特徴や傾向を明らかにする最も基本的な方法で、人工知能モデルを組む前に、データの特徴を把握するために用いられる。
  • 相関係数:無数にあるパラメータの組み合わせの相関係数を計算し、大きな相関関係を持つ組み合わせを洗い出すことで、直感的に理解しにくく見つけにくい関係性を探索。
  • 最尤推定:得られたデータから、背後に隠れた確率モデルのパラメータを推定する統計手法。

さいごに

本書で、機械学習に必要な数学を基礎から復習することができました。PythonやRでコマンドを実行していたことの理解が深まりました。目的がある学習は楽しく、基礎と応用をセットで学ぶ重要性を感じました。

PythonやRで実行しているコマンドの意味を理解するために、数学を復習してみるのはいかがでしょうか。