同志少女よ、敵を撃て / 2022年4月18日
苦土石灰をまいて再び耕す。徐々に中和されていくのを待つため、植え付けは一週間後ぐらいかな。鍬大活躍。
萌芽が始まるとともに、庭に色々と植物が生えだす。見たことがない新芽は知識がないので雑草かどうか見分けがつけず、Google画像検索にかける。たとえばこの植物はヤブガラシ(雑草)のようだ。根っこが地中深くうまり、ほって置くと大変になるらしい。
小説同志少女よ、敵を撃てを読む。時事的なこともあいまって、2022年本屋大賞を受賞したらしい。ラノベ的な感じでサクサクと読みやすく一気に読んでしまった。登場人物たちのビジュアル(表紙絵以外は絵としては一切出てこない)が、沙村広明氏が描くキャラとして自分の脳内で保管されたのも面白かったな。
ベクトル・行列からはじめる最適化数学読み進めは15.3の逆問題(inverse problem)。y = Ax + b
の最小二乗解ではなく、b = Ax - y
という問題を考える。説明例では、周期データ(例では24時間の時系列データ)をデータフィッティングする際に、周期成分は緩やかな方が望ましいと仮定しそれを正則化項(=副目的関数)として考える。その正則化項が強ければ、周期成分は緩やかになるが、主目的関数の最小二乗値は悪くなる。ただこれは、過剰適合を防いでいるとも言えるであろう。逆問題は色々なことに応用でき、例えば画像のボケ成分(上下左右の画素の差の二乗)の除去などにも適用できる。
15.4正則化付きデータフィッティング。過剰適合を防ぐため、f(x)
の変動に敏感にならないように目的関数を作って求める。正則化がl2なら本書で扱っているリッジ回帰、l1なら本書では扱ってないがラッソ回帰。
15.5計算量。リッジ回帰の計算量を減らす方法として、グラム行列をキャッシュして再計算時に使い回す方法とカーネルトリックがある。カーネルトリックを用いることでm > n
である場合、n x n
サイズの逆行列を求め計算することで圧倒的に計算量を下げることができる。カーネルトリックはWikipediaによると
カーネル関数は、特徴空間中のデータの座標の明示的な計算を経由せずに、特徴空間における内積をデータから直接計算する手段を与える。内積を評価するためにカーネル関数を使うと、明示的な座標の計算を経るよりもしばしば計算量が少なくて済む。カーネル関数を使って、計算複雑度の増大を抑えつつ内積にもとづく解析手法を高次元特徴空間へ拡張するアプローチを、一般にカーネルトリックと呼ぶ。
なるほど。今までカーネルトリックはSVMで使わてるアレ、ぐらいのイメージだったけどもうちょっと理解が進んだ。