機械学習の勉強を初めて一年 / 2022年2月2日
機械学習の勉強を初めてちょうど一年たったらしい。当時は機械学習についてよく解ってなかったのだけど、今は広く浅くの機械学習・データサイエンス知識や実プロジェクトの実務経験、現状の自分の知識でできること・できないこと等々解ってきて楽しい日々。まだまだ覚えたいことがたくさんあって楽しいし、やればやるだけできることが広がっていく実感があり、時間を投資したらその分だけスキルが上がる的な状態が継続している。
夕方散歩で1万歩の森に行き、その後那須山温泉という先日と同じパターン。前回も今回も温泉ではサウナに入らず、カジュアル使いが進む。
ベクトル・行列からはじめる最適化数学読み進めは、3章のノルムと距離のJulia(日本語)とPythonのノートブック読み。Juliaのほうは日本語訳されたものがあるので、意図は Julia で読み取りつつ、実装は Python を実行しながら読む。ベクトル計算視点での numpy の使い方が毎度参考になる。例えばベクトルの合計を求めるには x.sum()
を使わずに、内積計算 np.inner(x, np.ones(len(x)))
でプログラム的には冗長に計算したしたり等。また Julia は様々な計算を関数ではなく syntax で書けるので、数学的な視点や科学技術計算ではとても読みやすい言語なのだなぁ、と Python と比較して思う。
相関係数も統計学なら偏差と共分散を求めて…みたいな求め方だけど、本書では幾何学的な求め方をしていてこれまた面白いなー。
本書とは直接的な関係はない話だが、numpy での std
関数は自由度が0で、pandas の std
は自由度が1(標本標準偏差)なので、なぜ広く使われるライブラリで挙動が異なるのだろう、どちらかに合わせてくれればよいのにと当初は思っていたが、統計学的な視点を標準で加味するかで、numpy は加味しない、pandas は加味する(というかRのDataFrameの挙動に合わせる)、という違いから来てるのだろうなぁ。