A Day in the Life

雨上がりの朝散歩・最適化数学学習 / 2022年4月22日

雨上がりの朝散歩。草木のみずみずしさよ。


ベクトル・行列からはじめる最適化数学読み進めは17章の制約付き最小二乗法の応用。ポートフォリオ最適化ではリスクとリターンを多目的関数とし、リターンを固定した場合(制約条件)のリスクの最小化問題とする。フィードバック制御のところは難しかったのでささっと飛ばし読みしてしまった…。

この本の監訳者の玉木徹氏がUdemyで無料講座で教えているベイズ推定とグラフィカルモデル:コンピュータビジョン基礎1が機械学習の基礎の包括的内容で良かった、という話を教えてもらい、ちょっと動画を見てみたがなるほどこちらもわかりやすそう。コンピュータビジョン数学基礎:数式とPythonで学ぶ最適化と最小二乗問題も線形代数と解析学基礎も教えていて、これも面白そうだな~。

撮影機材α7C/voigtlander apo-lanthar 50mm f2 aspherical vm

ゴビ・マンチュリアン / 2022年4月21日

世界一周中にそれまでは知らなかったけど食べて美味しかった料理の一つ、ゴビ・マンチュリアン。インド風中華料理、満州風カリフラワー揚げ旨辛風的なもの。インド中華ではとりわけ有名なようで、インドの料理屋では結構メニューにあって、見かけるとたいてい頼んでいた。自宅でも妻が何度か作っているのだけど、今回のは今までで一番の出来で旨い。ただ、本場の味を忘れかけてしまっているので、またインドに行って食べたいなー。


つい見かけると撮りたくなる芝桜。ご近所の方がちょうど花壇を作っていて、芝桜を植えるらしい。この辺は結構な家が庭の空きスペースに芝桜がある。春の花は敷き詰められ綺麗だし、冬も芝っぽい感じでモサモサしてるし、増殖力も強いし、雑草も生えにくいしで良いことずくめなのかもしれない。


近隣で雑木林を整地していて空き地を作っていた。何ができるのだろうか。雑木林整備ついでに小道の草木も切られ、散歩がちょっとしやすくなる。写真は空き地そばの鉄塔。

撮影機材E-M1 Mark III/LEICA DG SUMMILUX 25/F1.4 II/OLYMPUS M.60mm F2.8 Macro

キングフィッシャー・Captive Portal / 2022年4月20日

暖かくなってきたし、管理釣り場に行ってみよう、ということでキングフィッシャーというトラウトやバス釣りが楽しめる管理釣り場へ。ルアー釣りをやったことがなかったので、そもそもキャストがうまくできず、糸はこんがらがるわで一時間ぐらいあれこれやって意気消沈。

通りかかったスタッフに管理釣り場、というかルアー釣り初めてなんですけど〜と声をかけると、丁寧に基礎から教えてくれ、自分が持ってないルアー(というかスプーン数種類しか持っていなかった)を数種類持って来て貸してくれたりと、至りしつくせり。初心者に釣りの楽しさを知ってほしい感じが伝わって来てありがたかった。

徐々にコツを掴んで、キャストもできるようになったり、ルアーを変えて活性を見るなども少しずつわかって来た。ルアー変えまくるの、何が楽しいのかと思っていたけど、自分でやると状況を考え取捨選択する要素がゲーム感覚で楽しい。最終的に10匹ぐらいキャッチ&リリースして終了。3時間券だったけど、あっという間にスギてしまった。次はクーラーボックス持ってきて、釣った魚を家で食べたい。


図書館みるるのWiFiは公衆無線WiFiでよくあるアカウントログインが必要。様々なOAuthプロバイダに対応していて良いのだけど、iPadではwebviewでログイン画面が出るためにCookieが存在せず、毎度ログインする必要がある。

この仕組み、よく知らなかったのだけどCaptive Portalというらしい。Appleのデバイスなら、http://captive.apple.com/hotspot-detect.html にアクセスしてリダイレクトが発生した画面をwebviewで表示してるぽいので、Safariから直接このURLにアクセスすれば認証画面が出る。これでいちいちログイン情報入れずに1クリックで認証できるようになった、便利。


夜はみるるに行く前に丸信本家でチャーシューメンネギダブルで。最初に食べた時、正直ふつうな味だなぁと思ったのだけど、もう3回目。一回じゃわからなかった良さがあって、時たま無性に食べたくなる。3分ぐらいでラーメンが出てくるのささっと食べれて嬉しい。

撮影機材RICOH GR III

povo 2.0・華久の鶏白湯ラーメン / 2022年4月19日

iPadのみで完結しそうなタスク(主にbigquery書く業)が溜まっていたので、野外やカフェで iPad + Magic Keyboardで作業をする。redashはiPadのSafariではちょくちょくキーボード操作の挙動がおかしくなって(iPhoneのSafari向けの処理が適用される?)割と辛い。GCPのWeb上のBigQuery Consoleは挙動は問題ないのだけど、Web UI上のHTMLでレンダリングされているタブをCommand + W で閉じようとしてしまい、ブラウザタブをうっかり閉じてしまうミスが多発してしまった。

せっかく外で作業するので、使わなければ月0円運用でき330円で24時間回線使い放題プランが有るAUのpovo 2.0に加入して使ってみる。物理SIMに楽天モバイル、eSIMにpovoをと思ったのだけど、iPadではpovoを使う際にAPNプロファイルの適用が必須なようで、物理SIMの楽天モバイルに戻した際にAPNプロファイルを削除する必要があり、またeSIMのpovoに適用した際に再度APNプロファイルのインストールが必要になったりと手間がかかるようだ。iPhone(+iOS 15)ならAPNプロファイルを入れる必要がないようなのだけど。

使ってみた感じiPadの作業なら動画でも見ない限りは24時間使い放題はオーバースペックで、SIM切り替えの煩雑さを考えると、複数SIMでの運用を止めてIIJのギガプランを使ったほうが良い気がしている。

野外は風が強く、風よけが無いと辛い感じだった。やはりタープが必要そうだ。


気になっていたラーメン屋、華久で鶏白湯ラーメン。店員さんがこれでもかというくらい丁寧な対応で恐れ多い。久しぶりに鶏白湯を食べたなー、引っ越し以降初な気がする。那須では貴重だ。


ベクトル・行列からはじめる最適化数学読み進めは16章の制約付き最小二乗法。Ax + bの最小二乗解を求めつつ、Cx = d という制約を満たす条件の物を解く。15章でやった、多目的最小二乗法の問題として考えることができる。制約の例では区分多項式だったり、Cx が合計予算だとすると、その予算において最適な最小二乗解を求めることができる。16.2では解法を、16.3では実際に制約付き最小二乗法を解く実装を解説している。

撮影機材α7C/Voigtlander NOKTON Vintage Line 50mm F1.5 Aspherical II VM SC

同志少女よ、敵を撃て / 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で使わてるアレ、ぐらいのイメージだったけどもうちょっと理解が進んだ。

撮影機材E-M1 Mark III/OLYMPUS M.60mm F2.8 Macro

土を耕す / 2022年4月17日

そろそろ家庭菜園でも始めてみようか、と本を読む。苗を買ってきて植えればオッケー、というものでもなく、前準備として土を耕し苦土石灰などで日本の酸性土壌を中和し中性土にすると良いらしい。この家は以前住んでいた方が家庭菜園にしていた場所があり、まずはその場所の草を抜き鍬を入れる。あとは苦土石灰を買ってきて混ぜれば良い感じかな。

ナスやミニトマトを育てたいが、以前どんな物を育てていたかで連作障害が起きるという。さすがに何をどの場所で育てていたかはわからないので、発生しなければよいのだけど。


近隣散歩。田んぼへの水入れ時期で、景色がまた変わる。突然水上に村が出来上がったかのような景色で面白い。カエルも元気に鳴き始めているのだけど、水入れが始まったばかりなのにどこからやってきたのであろう。今産卵して、夏が合唱本番という感じなのだろうなぁ。

撮影機材α7C

赤沼せせらぎ公園でぼーっと過ごす / 2022年4月16日

良い天気だなーと、赤沼せせらぎ公園にイスとテーブルを持っていってぼーっと過ごす。山も川も見え、見え田畑・森林に囲まれ、水道もトイレも有り、公園は広くて土日だけど人口密度は低い。居る人は各々好きに過ごしている少人数キャンパー。チルスポットとしては最高感あるなぁ。

ちょっと風があって、日差しもこれからのシーズン強くなるであろうから、タープが欲しくなる。

撮影機材α7C/voigtlander apo-lanthar 50mm f2 aspherical vm

図書館みるる・集中作業とアップルパイ / 2022年4月15日

昨日に引き続いて寒い日。日中、近所の工事が非常に大きい音で集中できず、図書館みるるへ。無料WiFiもあるし、集中部屋もあるし、作業机がたくさんあるので気分を変えるのにちょくちょく移動できるし、コーヒー屋(モリコーネ)も図書館内部にあるし(蓋付きなら館内どこでも飲んで良い)、とても良い環境。難はビデオチャットができないことぐらいか。モリコーネでは球根ごとチューリップをディスプレイしていた。


これは昨日食べたアップルパイ。


ベクトル・行列からはじめる最適化数学読み進めは15章多目的最小二乗法。15.1, 15.2の制御まで。多目的最小二乗法はAx + b 一つではなく、複数の式で最小化する。互いに相反するので、目的に応じた係数で必要な妥協・妥当ラインを求める。例では、複数エアコンを利用して温度を均一に保ちたいが、それらにかかる電力消費量もなるべく下げたい、バランスの良い係数は何か、など。

撮影機材RICOH GR III

家のチューリップ / 2022年4月14日

昨日より最高気温が15度ぐらい低く、だいぶ寒い一日。寒暖差があるからそう感じてるだけで、2・3月にくらべたらこれでもだいぶ暖かいのだけど。


冬に球根を植えたチューリップが数日前から咲き出す。穴ほって植えるだけ(簡単といいつつも、ほぼ妻がやってくれたのだが…)で咲いて偉い。寒かったり明け方や曇りの陽が出ていない時は花が開かず、暖かく陽がさすと花が開く。健気な感じが微笑ましい。


芝桜の花びらも色々なタイプがあるなぁ。これは白とピンクのブレンド。


ベクトル・行列からはじめる最適化数学読み進めは14章、最小二乗識別。2クラス分類と多クラス分類を最小二乗法で行う方法の解説。多クラス分類は二クラス分類をN種分やってargmaxをとるのだけど、N種やるのは計算機効率が悪いがQR分解した結果を使いまわすことで大幅に計算量を削減できる。もしくはワンホット化した値を使う。

機械学習では通常2クラス分類は0,1を当てるのだけど、この本ではわかりやすくするために-1,1を使っていてなるほど。0,1なら0.5が中心だが、-1,1で0が中心のほうが理解しやすいなぁ。softmaxも使わず、シンプルで分かりやすい解説。

章の最後に、ランダムな値を作って説明変数の積をとったものをmax(0, x)な、いわゆるReLU関数に通して非線形化して特徴量を水増しする。この水増し特徴量を加え、最小二乗法でクラス分類すると、水増し前は約86%の正解率が、水増し後は95%強ほどになってえっビックリ。自分でも書いて試して腑に落ちた、なるほど線形関数では結局特徴表現は変わらないので、非線形化することで意味のある特徴になるのか。なお非線形化しないと、正解率はほぼ変わらない。

ついでに最小二乗解の計算に結構時間がかかっていたので、numpyからjaxに書き換えて試す。ほぼnumpyママ動くし、colabのGPU上で超簡単に動かせて、numpyなら24秒ほどの処理が1-2秒ほどに。3分ぐらいの処理は20秒ほどに。おおお、jaxいいじゃん。こういうやつが欲しかった。

撮影機材E-M1 Mark III/OLYMPUS M.60mm F2.8 Macro

桜ヶ城・春のPARADIS / 2022年4月13日

先日車で通ったとき、山あいに沢山の桜があってここは何だろう?と後日調べると芦野氏陣屋跡(芦野御殿山公園・御殿山)という場所らしい。芦野氏の屋敷(居城)跡で、桜ヶ城とも呼ばれるぐらい桜が見事とのことでなるほど。すぐ手前の隈研吾建築である石の美術館は有名だけど、この芦野氏陣屋跡なんて存在自体全く知らなかった。


入り口には稲荷神社。御殿山を登ると見晴らしが良い休憩所があり、芦屋~茶臼岳(たぶん)を一望できる。ちょうど桜は散り始めて、それもまた良かったな。


中腹にある樹齢500年のコウヤマキ。ご立派。

山を登っているお年寄りは結構いらっしゃったが、全体的にほとんど人はおらず、桜と景観を堪能できた。周りも芦野の自然あふれる良い場所で、また違う季節に来たい。お気に入りの場所が一つ増えた。


お昼は伊王野山の駅で水車蕎麦。暑い日のため、蕎麦屋は大変賑わっていた。外のテントの下で食べたのだけど、春の陽気が最高の調味料という感じで、大変美味しくいただけた。


その後はgarden AUX PARADISへ。かつて無いほどの混み用で、店内には入らずテイクアウトでジェラートを頼む。はじめはここでランチをと思っていたけど、混みそうな予感がしたので水車蕎麦で正解であった。

春のPARADISの敷地は花々に囲まれもう最高という感じで言うことなし。店の周りを散歩している人は少なく、なんとも勿体ない。


暖かいを通り越して汗がでるような日が続いたので散髪へ。約一ヶ月半ぶりでサッパリ。いわゆるスピードカットなのだけど、予約アプリがこのお店にはあり、予約できるのが便利なのだよなぁ。今日など予約なしなら100分待ちであった…。


ベクトル・行列からはじめる最適化数学読み進め。13.2の検証では汎化性能・過学習・ホールドアウト検証・交差検証の説明など。この辺は機械学習の一般的な話なので復習的な感じ。

13.3の特徴エンジニアリング。標準化・例外値削除・ワンホット化・特徴同士の積(バイナリなら両方1のもののみが1としてのこるなど)・一般加法モデル(特定の閾値以上で線形関数を適用するといった非線形モデル)・層別モデル(特定クラスタで別モデルを適用する)という一般的なものの説明。高度なものとして、たとえば文章ならTF/IDFといったドメイン特化な特徴追加・他のモデルの予測値を使う・クラスタリングしたグループ代表からの距離・元の特徴からランダムな線型結合する非線形関数を適用といった説明。

ニューラルネットワークの学習は特徴エンジニアリング視点から一言で表すと、線形関数と非線形関数を組み合わせることで、巨大なデータがあれば良い特徴写像を直接見つけることができる特徴量(NNにおいてはパラメータ)作成と言えるであろう。

この節は「新しい/より良い特徴量を作れました」という一般的な話だけでなく、RMSを見てその特徴がどれだけ寄与しているのかや、追加しても訓練・テスト結果のRMSがちょっと良くなる程度の特徴はよろしくない、等を知ることができる。また人間が解釈しやすい最小二乗法とRMSから試して、徐々に複雑なことをやっていくことが大切という至極まっとうな手法を理解できる。示唆に富んだ節だったなぁ。

撮影機材α7C/AUTO ROKKOR-PF 58mm F1.4