機械学習勉強ログ

機械学習に関連した勉強を記録していこうと思います。

線形代数の進捗と機械学習へ向かうためのステップ

今回は主に自分のための備忘録です。

線形代数についてある程度、今読んでいる本の終わりが見えてきたので、 目的である「はじパタ」を読めるようになるには、何をしたら良いか考えていきたいと思います。

やったこと

まずは、ここまで勉強したことを整理しました。

  • 行列・ベクトルの基礎
    • ベクトル、行列の表現方法、基礎的な計算
  • 線形写像
    • やったこと
      • 拡大行列
      • 回転行列
      • 実際の応用例(アナログ時計)
      • 線型独立
    • 応用
      • 3Dグラフィック、ロボットアーム制御等

スカラーだけの表現から、ベクトル、行列を使った表記を使用できるようになったことで、 現実世界での事象を表現、計算しやすくなった。

現在進行形でブログに記載中ですが、連立一次方程式をAx=bという形に 一般化して、コンピュータで扱いやすい形で表現することができるようになった。

また、コンピュータを利用することで、建築で使われるような多数のトラス構造の 構造計算なども強力なマシンパワーで瞬時に解くことができるようになった。

  • 固有値問題
    • やったこと
      • 固有方程式の解き方
      • 固有値を利用した対角化(現在取り組み中)
    • 応用
      • 機械学習での主成分分析、次元削減
      • その他、工学系で多数の応用事例あり。

行列を因数分解する方法として、固有値分解を学んだ。 固有値分解することで、対角化が行え、べき乗が計算しやすくなります。

また、固有値には工学上の意味があり、機械学習の世界だと、PCAという次元削減の 手法に使われていたりする。

今後どうやって機械学習に結びつけるか?

まずは、線形代数の本をクリアする。

線形代数のGOAL

  • 最小二乗法により一番単純な回帰の原理を理解したい。
    • 最終章は最小二乗法による関数フィット(一番単純な回帰)があるので、多項式のモデルでパラメータを求める仕組みがわかると思う。

そこに至るまでに残しているもの

線形代数の次に取り組むことの候補

  • 線形モデルのところを中心に「はじめてのパターン認識」を読み始める。

  • 数理最適化について学ぶ?

    • 学習部分をもう少し突き詰めていくとなると、最適化問題の考え方について知っておいてもいいかもしれない。 どこまで深入りするか迷っている。
  • 確率モデルについての理解ができるように、大学レベルの確率・統計の基礎を学ぶ。

感想

線形代数を勉強したお陰か、ちょっとした数式が出てきても、お手上げ感はなくなりました。 数式はプログラミング言語に比べると凝縮度が高いので、数値を当てはめて式を展開したり、 項や因子ごとに意味を考えたりすることで、解釈していけば理解できることが分かりました。

やはり、ものづくりは、プログラミングもそうですが、 長い目で見れば、原理を知っていて作るのと、そうでないのとは雲泥の差がつくと私は思います。 今このタイミングで動作原理が頭の中に入ってきたことで、今後の応用が楽しみになってきました。

線形代数を学んだことで、他の工学系の資料を読んでも多少は意味がわかるようになってきました。 これは嬉しい副産物です。大学一年で線形、微積フーリエなどをなぜ学ぶのか今ようやっとわかったw。

まぁ、私は私の目的とペースで引き続きやっていこうと思います。