それでは毛玉諸君、これにて失敬

日々の精進を備忘録的に綴ります。

プログラミングのための線形代数

概要

相変わらず数学リテラシーの低い僕。
機械学習の本をいくつか読んでみるも、数式を見た途端意識を失う体質なので全く学習が捗らない。
「このままではいかん」と一念発起し、入門書を探してみる。
線形代数機械学習の分野で頻発する分野だが、僕は学部1年の時にやった程度(行列式の計算だけで単位とれた)ので
そもそも行列が何の役に立つのかさっぱり分からない。

ということで色々探した結果この本が分かりやすいらしく、早速取り組んでみた。
f:id:ko_ya346:20200227182927p:plain

あらすじ

「行列は写像だ」

「行列は写像だ」

「行列は写像だ」


この一言に尽きる本でした。
行列はベクトルを別のベクトルに移す写像である点が何度も強調されます。
グラフィックにより行列による写像が視覚化されており、どういう操作が行われているかのイメージがつきやすいです。
あと、タイトルに「プログラミングのための」と書いてありますがプログラミングの話はほとんど出てきません。
途中RubyをLU分解の操作が少し書いてあるくらいです。

何よりこの本が素敵と思った点が、各章、各パートが難易度ごとに分かれている点。
初学者は印のついた章を飛ばして読むだけでも行列の基本操作(逆行列固有値、対角化)が身に付きます。
説明は口語体で理解しやすい書き方となっていますが、正確な表現は注釈に逐一記載があるため厳密さも兼ね備えています。
様々なレベルの読者を想定して書かれているので、幅広い方にお勧めできます。

練習問題はありませんが、そもそも業務などでは手計算する機会が少ないと思うので、Pythonなどにやらせて確認するくらいでいいでしょう。
固有値固有ベクトルを計算するコードはこちらに書きました(はてブロで行列が書けなかった…)。

qiita.com

行列は数式だけではイメージがしずらかったので、この本で学習して大正解でした。
「行列とは何ぞや」という方にはものすごくお勧めします。

「プログラミングのための線形代数
https://www.amazon.co.jp/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AE%E7%B7%9A%E5%BD%A2%E4%BB%A3%E6%95%B0-%E5%B9%B3%E5%B2%A1-%E5%92%8C%E5%B9%B8/dp/4274065782