ポタージュを垂れ流す。

マイペースこうしん(主に旅行)

終電の新幹線で京都駅に降り立った後、どう帰宅するか

東京駅で新大阪行きの東海道新幹線の終電に21:24に乗車すると、京都駅には23:31に到着する。京都駅前のバス乗り場から自宅の最寄りである銀閣寺道バス停まで向かいたいところだが、終バスは23:00のためとっくの昔に終了している。京都市は24:00発の深夜バスを廃止したためにバスで到達することはできず、どう頑張ってもしばらく歩く必要がある。

東西方向に移動できそうな交通機関は終了しているが、南北方向の交通機関(地下鉄または京阪)はかろうじて動いている。とはいえ、どの交通機関を使っても結局横方向に2〜3kmは歩くことになる。

1. 地下鉄

地下鉄烏丸線を使う場合、23:47発の国際会館行き(終電)に乗車し、23:58に今出川駅に到着する(260円)。そこから3km頑張ってひたすら東に歩く。

わかりやすいが、終電の新幹線で帰ってきているというのにひたすら3km連続で歩くのはしんどいかもしれない。

2. JR+京阪

23:46発の奈良行き(終電)に乗車。東福寺駅に23:49に到着(150円)。京阪に乗り換える。24:02発の出町柳行き普通列車に乗車し、24:13に出町柳駅に到着する(280円)。そこから2km程度東に歩く。

一番よく取られそうなルートだと思う。歩く距離が少し短くなるとはいえ、東福寺での待ち時間が地味に長い。それに、微妙だが、(EX予約などで切符を取っていた場合)JRと京阪の両方でお金を取られるので少し値段が高いと感じるかもしれない。

3. 徒歩+京阪

自分がいつも取る帰宅ルート。京都駅から京阪の七条駅まで歩く。その距離約1km程度で、寄り道せず直行すれば少しゆっくり歩いても23:50頃には到着すると見積もれる。

わざわざ歩いて到達する七条駅のよいところは、特急停車駅だという点である。つまり東福寺駅を通過する列車にも七条駅からであれば乗ることができる。この到着時間の計算でいけば、23:54発の出町柳行き特急に乗車でき、24:02には出町柳駅に到着できる(280円)。もし新幹線の到着が数分遅れたり、七条駅までの間でコンビニや七条駅前のマクドナルドに寄ったとしても、ルート2で乗ることになっていた24:13に出町柳駅に到着する列車には乗車できるだろう。

出町柳駅からはルート2と同様、2km程度東に歩くことになる。

実践

これら3つのルートを比較すると、3番目の 徒歩+京阪 が最も早く到着できそうに見える。ということで普段私はこのルートをとっている。特筆することはないが、ある日の帰宅風景をなんとなく写真に撮っておいたので紹介する。

11月7日。この日は新幹線の到着が遅れていたので少し遅れて京都駅に到着した。

23:34 京都駅

理由は忘れたが少しちんたらして(多分トイレ?)京都駅から七条駅方面に向かう。

23:43 京都タワー

23:48 塩小路高倉 山車が気になる

23:52 七条河原町

23:57 七条大橋をわたる 右に地下にある七条駅への入り口が見える

京都駅からこのあたりを散歩するのは帰ってきた感があってけっこう好き。日付が変わる前には七条駅に到着。残念ながら特急には乗れなかった。

24:00 七条駅

電車に乗る。

24:13 出町柳駅

おりた。

24:16 出町柳駅

ひたすら東に歩く。

24:24 百万遍交差点

24:31

到着。

24:39 白川通今出川

2024年ベスト○○大賞

年末ですがクリスマスプレゼントのインフルエンザのせいで1週間潰れたので年末はバイト漬け+修論もあるので休みは返上でございます。今年のインフルエンザはたちが悪いのかまだ後遺症で苦しんでおります。

この記事は軽く今年あったよかったもの、こととかを振り返っておこうかなというものです。

食・場所・買い物・テクノロジーの4部門で表彰していこう。

ベスト美味かった大賞

大賞は回転寿司トリトンズワイガニです、おめでとうございます!

選定理由は純粋にうますぎたからです。北海道での学会出張時に後輩と一緒に行ったんだけど、みんなエグいって言ってた。みなさんも北海道に行ったらぜひ食べてみてください。

他のノミネートでいけばさわやかのいちごミルクプリン、佐世保のステーキハウスらんぷで食べたレモンステーキが挙げられるかなあと思います。あと福岡のUS burgerもよかったですね。

ちなみに最近の小さいことでは、インフルエンザ明けでとはいえ何か家でポカリ味以外のものを食べようと思って、すき家で牛すき鍋弁当を持ち帰ったんですが、アルミ鍋に入ったものが提供されて、適当なプラ容器に入ってるものだと思っていたのでめっちゃちゃんとしてるな〜と思って感動しました。

ベスト行った場所大賞

大賞は佐多岬です、おめでとうございます!

今年あったことで九州旅行は外せませんね。選定理由は最も到達難易度が高い四極だったというところが大きい。今年はわりと出張で色々行ってたけど趣味の方の旅行はあんまりできなかったなというのはありました、が、それでも良い旅行ができましたね。来年もいい旅行をしていきたい所存です。

当時の記録はこちら

potaxyz.hatenablog.jp

他のノミネートは同じく四極のひとつ神崎鼻とかかなあ。九州の記憶が濃すぎて忘れてたけど天橋立の船(トリが飛びすぎ)も衝撃的でしたね。

potaxyz.hatenablog.jp

ベストお買い物大賞

大賞はDell U4025QWです、おめでとうございます!

www.dell.com

今年はMacbook Airのストレージ以外フルスペックとか、iPhone 16 Proとか、sennheiserの高いイヤホンとか、本当にありえないくらい散財して、作業環境のアップデートも兼ねて買い直しの周期(古くなってきたので新モデルに買い替え)を回して、奨学金という名の借金を使い潰して高いもの買いまくったんだけど、パソコンで作業するには画面が欠かせません。画面付きデスクトップのiMacが古くなってきたので売却か捨てるかすることにして、そのうちMac miniを買おうという作戦を考えていて、しばらくMacbook Airをクラムシェルにして稼働させることにしたのだけれど、いずれにせよモニターが必要だ、ということでとにかくいいやつを買うことにした。値段度外視で、ppiが140以上(HDの2倍以上の解像度)で、4Kディスプレイ+サブの画面構成を1枚のドテカイので代替できる、という観点で探すと、5K2Kのモニターが良さそうだということに。5K2Kのモニターで選択肢あるのDellのこれかLGのやつだったんだけど、Dellの方が新しかったのでこっちにしました。キャンペーンと学割使っても20万超えてて本当に高いんだけどケチってもしょうがないしね。

大賞の次に並ぶのは電動昇降デスクだと思う。正確には去年買ったものなんだけど、組み立ては1月末くらいにやった。任意の位置に机の高さを持っていけるのとか、立ち作業できるのはやっぱりいい。作業道具に金はケチってはいけない。 来年も最高の作業環境を創っていこう。

www.flexispot.jp

細々としたものだとカーテンの買い替えで片開きタイプに替えただとか、収納クリアケースを買いまくったのとか、加湿器の導入とかも大きいですね。

ベストテクノロジー大賞

大賞は自分で作ったdiscord botです、おめでとうございます!

github.com

去年のブログ記事から魔改造しまくってちょっとよくわからないことになってるんだけど、論文のリンクを投げて要約させられるのはとりあえず論文の内容をキャッチアップするにはとてもいいですね。あと対話形式で情報取り出せるのもいい。

使用例1
使用例2

他のノミネートでいけばコードエディタのcursorかなあ。自分の研究費使っていいんだったらpro契約したい。


来年も良きものに出会えるといいですねえ

本土四極南端西端制覇旅行

今回はいつもお世話になっている方(Fさん)と実質的に命の恩人となっている方(Sさん)に連れて行かれる形で旅行をした。途中でYさんが参加する形になってかなりカオスだった。

今回の旅行はFさんとSさんに何から何までお世話になった。本当にありがとうございます。

10/6(日)

9時頃に起床。コンビニで適当に買ったパンを食べつつ準備をする。なんだかんだしていたら外出するのは12時前になってしまった。

バス乗り場を間違えた。到着時間が少し遅くなるバスに乗ることになってしまった。大して時間は変わらないからいいけど。銀閣寺道から四条河原町へ。バスを降りてすぐの地下道の入り口へ急ぐ。阪急で京都河原町駅から十三まで向かう。大宮、西院と京都市内の地下区間を通過していくのを車窓から眺めるのがなんとなく好き。十三では宝塚線に乗り換える。蛍池駅で下車し、階段を上がり、改札を抜けてすぐ右へ。そしてすぐまた左へ曲がり少し歩くと大阪モノレールの改札がある。改札に入ってすぐ右へ向かい、少し歩いたところにあるエスカレーターを上がるとちょうどモノレールがやってくる。阪急とモノレールの乗り換えが3分くらいだが足の歩みを緩めなければ走らなくても十分間に合う。大阪モノレールに乗ると終点の大阪空港駅はすぐ隣で、着いた時刻は13時半だった。9月後半から学会とか旅行とかで毎週のように伊丹空港を使っておりこのルートが完全に身体に染みついた。

大阪空港駅をでて伊丹空港のターミナルビルへ入る。ANAなので左側の入り口から入ってエスカレーターを上がり、そのまま保安検査場に向かう。保安検査内はあんまりこれといって自分にささるお店がないので迷うところだが、外で食べるには搭乗までの時間が微妙だった。いつものようにPCとタブレットを別のトレイに入れるなどして保安検査を通過。数店しかない飲食店を見渡し、なんとなくパスタの気分になったのでパスタの店で海老クリームパスタを注文。できあがるのを待ってる間にペットボトルのお茶を買っておく。パスタを受け取る。保安検査内なので仕方ないが、少し高い上に量もあまりない。美味しいからいいけど。

食べ終わると出発時刻15分前くらいになっていた。ちょうどいい時間なので搭乗ゲートに向かう。今回乗る飛行機はプロペラ機で、これまでしばらくジェット機ばかり乗っていたのでこんな小さかったっけと驚く。窓側の席を取ったら足下がかなり狭かった。

離陸。窓の外から大阪のまち、それから海岸部、淀川をはじめとしたいくつかの川の河口がよく見えた。機内のwifiサービスを使おうとしたが、wifiは提供されていないのか繋がらなかった。隣の席のお兄さんも自分と同じようなことをしていたが、諦めて早々に寝始めた。自分はといえば、今回は暇つぶしのためにずっと友達に読めと言われていた三体の文庫本を持参していたので、これを読むことにした。途中で機内サービスのアップルジュースを飲みつつ読み進める。着陸体制に入る前くらいで第一部(70ページくらい)が読み終わった。てかかなり面白い。

空から大阪のまちを見る

福岡の市街地のど真ん中に着陸。飛行機を降りてそのまま直で地下鉄に乗車。全く福岡に来た感がない。赤坂駅で下車。今回は知り合いのSさんのお家にお世話になります。Fさんは自分が来る1週間前くらいから既にいて、自分の家ではないのにまるで住んでいる状態になっていて草だった。部屋がめっちゃ広くて自分も広い部屋に引っ越したくなった。普段はSさんと彼女さんとの2人で住んでいるとのことだったが、極度の人見知りらしく、私やFさんがいる間は他の知り合いの家に住んでいるらしい。

福岡ポートタワーが見える

荷物だけ置かせていただいて、とりあえず夜ご飯を食べにいく。博多駅の地下街の餃子屋さんへ。入店を待つ間に近くのユニクロで下着を購入するなどしていると、Yさんが出現していた。(ちなみに、Fさんが元々Yさんとご飯を食べる予定を立てていたものに、私とSさんが合流する形だった。)Yさんは九工大の学生さんらしい。明日鹿児島の佐多岬行くんすよ〜とか、佐多岬来る?とか言ってたら、明日指導教官とのミーティングあるんだけどなーどうしようかなー、とかなんか悩み出してめちゃくちゃ面白い。

餃子屋を後にし、レンタカーを借りる。Yさんの家が飯塚にあるとのことで、借りたレンタカーでそこまで送っていくことに。飯塚までの間の峠攻めがすごかった。車の中で雑談してたらYさんが鹿児島行くことに決定されていてよかった。熱が出て寝込んでいることになり、指導教官に休みの連絡を入れていた。途中でSさんが酔い止めなどを買うためにドラッグストアに立ち寄ったりなどをする。

Yさんの家に到着。Yさんが一旦お家に戻って荷物等を準備してくるまでしばし待機。Yさんが戻ってきて赤坂付近のSさんの家まで戻る。

散歩しようという話になり家の付近を散策。長浜屋台通。

浜屋台通

なんかよくわからないがラーメン屋に入る。長浜ナンバーワンらしい。ラーメンが4つと鶏皮x8、鶏むねx4など。Sさんが実は苗字がSさんではないとか、Fさんも実はFさんではない話などをする。家に戻る。

長浜ナンバーワン ラーメンと鶏皮串

数日お世話になるので洗濯物はどうすればいいだとかシャワーはどうすればいいだとかを簡単に教えてもらう。シャワーを浴びる。適当に準備をし、電気を消して就寝。というか明日の朝が早いので仮眠と言ったほうが正しいだろう。

10/7(月)

3時起床。バカだと思う。諸々準備をして4時ちょっと過ぎたあたりで車を出発させる。あれだけ明日ミーティングだし、と渋い顔をしていたYさんが嬉々としてハンドルを握っている。所々SAやPAで休憩をとりつつもひたすら南に車を走らせる。九州自動車道を通ったのち東九州自動車道を通っていくといった感じ。北熊本SAではくまモンに遭遇して即終了した。えびのPAは霧がすごかった。国分PAでは特になし。高速を降りて下道をしばらく走る。九州最南のマクドを過ぎ、ローソン錦江神川店でパン等を購入。風除室つきで二重扉な感じだったが、ここにも桜島の火山灰は飛来するのだろうか。

ローソンからさらに南下、最南端のコンビニ等のある根占のまちを過ぎる。途中佐多岬まであと31kmみたいな看板があったりする。旧佐多町の中心部をすぎ、いよいよ目指す先が佐多岬しかないような地帯に入ってくる。いつからか現れた根占港発の観光周遊バス(公共交通機関的なやつで岬に到達しようとすれば唯一のものなので、これを利用することになるだろう)の後ろについて、ぐねぐねとした道を走り、端にありがちな休業中の謎の施設を通過したりして、ついに佐多岬に到達。ちょうど10時くらいで、福岡から約6時間いかないくらいで到着したことになる。

車から降りてとりあえずすぐ見える展望スポットで写真を撮るなど。

佐多岬パネルのある木

本土最南端 佐多岬

周囲を散歩。トンネルがあり、そこを過ぎた先に展望台があったり、灯台ふもとの広場まで行けたりするらしい。しかし、天気が良すぎて暑い。10月上旬は夏だったのかもしれない。なんならセミも鳴いている。なんとか遊歩道を通って展望台に到着。めっちゃ景色がいい。

佐多岬展望台

右手に灯台 下にも佐多岬の石碑が見える

「最南端」と書かれた手で持てるサイズのパネルがあったので、せっかくなのでそれを使って記念撮影をした。印刷かと思いきや手書き(マッキーかなんかで塗った?)でよくわからない。

著者近影

SさんがSATA岬というネタをやるためだけにSSDを持ってきていたが、よく見たらSATA接続じゃなくてNVMe接続だったということで、この瞬間だけNVMe岬になった。Sさんは最南端パネルとSSDを持ってNVMe岬で記念撮影をしていた。

灯台守広場まで歩く。灯台守の官舎跡などがあった。灯台までは近寄ることはできなかった。こちらの方が潮騒がよく聞こえた。

神社

途中で御崎神社を横目に戻る。みんな汗だく。観光案内所で飲み物を買いつつ、本土四極到達証明書の南端をゲットした。

ここから次の目的地までは自分が車の運転をすることになった。ちなみに、運転は2年ぶりでペーパーの血が騒ぐぜ、という感じだったが、車のギアとかの操作が車種の問題等で慣れないだけであって運転は普通に安全という評価を受けた。一瞬北緯31度線モニュメントに立ち寄るが、そのまま北上して来た道を戻ってゆく。宗谷岬まで2700kmの看板があったりした。汗をかいたので温泉に寄りたい。とりあえずここ行こう、ということで向かったねじめ温泉ネッピー館は休館日だった。

31LINE SATA

ガソリンスタンドに一瞬立ち寄って、別の温泉を探すが、他もどうやら休館日となっているところが多いようだった。とりあえず見つけたアビルランド坂元(坂元温泉)というところに行くことにした。地元民向けなのか隠れ家的な感じなのか入り口がものすごいわかりづらい位置にあったが、なんとか到着できた。シャンプー等を借りていざ温泉へ。体を洗ってまずはあつ湯へ。普通に気持ちいい。隣にはあつ湯に対してぬる湯があった。ぬる湯には部分的に電気風呂となっているエリアがあって、行ってみたらけっこう電気が強くて攣りそうになった。サウナもあって、サウナに何分か→水風呂(もあった)、を2回繰り返して久しぶりに整ったりした。ちなみに、google mapでは女湯のレビューがなんか悪かったが、男湯はそんなことは全然なかった。ただ、自分がサウナに入ってる間に、あつ湯のお湯をペットボトルに入れ、キャップをしめ、水風呂にペットボトルをしずめる、しばらくしたら出してキャップを開け、浴槽の外に流す、というのを複数回繰り返している謎のおじいちゃんがいたらしい(という話を自分以外の3人から聞いた)。水風呂の温度を上げようとしていたのか、はたまたペットボトル内のお湯の温度を下げようとしていたのか、なんだったのかはわからないが。

自分だけかなりサウナでゆっくりしていたので他の3人と比べて遅く風呂場を出ることになった。他の人たちは待合所的なところで寝たりスマホいじったり牛乳飲んだりしていた。

古き良き、という感じがする 写真外左には自販機がある お湯入口前にある古い電話機が気になる

アビルランド坂元

社会人に運転をまかせ、後部座席で睡眠。

途中で鳥刺しの店に立ち寄った(14時ごろ)。鳥屋ひらはらという店。テイクアウトで鳥刺しを人数分いただく。おまけの鳥刺しもサービスでもらった。車の中に戻ってその場で食す。うますぎる。もしかして食べ物は食中毒に近ければ近いほどうまく感じるのではないだろうか、という説が生じた。サービスでもらったものは軽く炙ってあるようで炙りサーモンにかなり近いような味がした。当選発表は2から7日後らしい。

鳥刺し したの白いやつの方が好み

サービス鳥刺し ほとんどオニオンサーモンだと思う

ここからはひたすら福岡に戻ってゆく。途中のSAでかるかんを買ってみた。研究室の後輩が激推ししていたからだ。車内ですぐ開けて食べてみたがそこまで感動せず、普通だな、という気持ちになってしまった。もっと老舗とか有名なとこだと違うのだろうか。寝ていたりしたら福岡まで戻ってきていた。時刻は19時。自分とSさんで拠点(Sさんの家)に荷物を下ろしたり洗濯物を回すとかしている間に残りの2人にレンタカー返却をお願いする。やることが終わったので今度は地下鉄で彼らと合流するために博多駅へ向かう。

合流してもつ鍋の店へ。流石にみんな疲れており、社会人のおふたりも体力は無限ではなかった(意訳)のようなことを言っていた。もつは美味かった。

もつ鍋

Yさんを見送り、SさんとFさんと拠点へ戻る。温泉入ったしシャワーはええかーとなりそのまま就寝。これを風呂キャンセル界隈だと揶揄したら温泉には入っているので風呂キャンセル界隈に失礼とのことだった。すみません。

10/8(火)

午前10時くらいに起床。十分寝た。午前中はだらだらと過ごすことにした。お昼どきになったので社会人2人とご飯を食べに行く。博多豊一 長浜食堂へ。席につくなりSさんが破れたズボン間違えて履いてきたとか言い出したが、とりあえず海鮮丼を注文。歩くと尻が見えるのでFさんのジャケットを借りて隠す。寿司バイキングがあり、一貫110円。安い。当然うまい。くじらベーコンとか食べたことないなあと思って食べてみたりした。

豊一

近くの百均で段ボールをしばる糸を購入。今夜はSさん宅の段ボールをひたすら片付ける会となる予定。ついでにスーパーにも寄ってじゃがりこ九州しょうゆ味を購入した。

荷物を置いたりして外出。社会人2人は家で作業しなければならないとのことでここからは単独行動。少し歩くと大濠公園福岡城跡にたどりつく。2ヶ月前に大濠公園は歩いたしな、ということで福岡城跡の登れるところまで行くことにした。行ったことない気がしていたけれど9年前にもきていたようだ。眺めはよく、風も涼しかった。

福岡城跡から西側を望む

そそくさと降りて、近くの福岡市美術館に立ち寄ってみた。常設展を覗く。古美術と近現代美術があったが、近現代美術の展示が面白かった。個人的にはロイ・リキテンスタインという画家の絵(雲のある海景)が刺さった。印刷のハーフトーンみたいなので表現されているのを見るのがけっこう好きなのかもしれないと思った。サルバードル・ダリが原子物理学にインスピレーションを受けていたのは知らなかった。古美術の方を後でみたが、疲れていてあまり印象には残っていない。十二神将とか金剛力士像とかがあったのは覚えている。

大濠公園のスタバで休憩する。この日記というかブログをこういう休憩中に書いたりする。なんだかんだ文字数が多いので合間合間で書かないとやる気がなくなってしまう。思いつきで京大情報から九大医に転生した後輩にtwitterのDMを送ってみたら一瞬で帰ってきて夜ご飯に行くことに。いい話だ。

スタバから出る。外に出ると人が多すぎる。韓国からの方が目立つ。観光地かもしれないが、ここは集まるような場所なのか?

スワンボートを見ると博士号しか思い浮かばない体になってしまった

右側に博士号

とりあえず後輩にあうために地下鉄に乗って天神駅へ向かう。会うのはおそらく2、3年ぶりで、天井を見ていたら1日が終わりますみたいなことを言っていた気もするが、概してお元気そうだった。店は何も考えていなかったが、知り合いにおすすめされたとのことで、とんかつ わか葉へ。とんかつ百名店にも選ばれたりしている低温調理の白とんかつのパイオニアらしい。特上リブロースカツ定食を注文。調理に30分くらいかかるらしい。その間は後輩の九大の愚痴を聞いて待つ。将来の人生設計みたいなことをする必修授業(?)みたいなのがあるらしく大変そうだった。

特上リブロースカツ定食

とんかつは美味しかったが、連日お腹にダメージを与えまくっていたせいで最後の方はフードファイトになっていた。特上なだけあり脂身が多めだったというのもある。

店を出る。明日は1限があるから早く帰りたいとのことで駅前で解散。また誘います。

コーヒーでも飲みに行くかと思ったが近くにFUKUOKAのモニュメントがあったなと思い出して散歩。天神中央公園へ。

FUKUOKA

ここにもFUKUOKA

福博であい橋のあたりでは路上ライブが多発していて、橋のたもとにある船発着場に1組と、橋の上に3組が弾き語っていてバトルになっていた。

コンビニでコーヒーを買って拠点に戻る。

拠点に戻ると、昨日いたYさんがいた。3人で新鳥栖までラーメンを食べに行っていたらしい(夢を語れか?)。Sさん宅に溜まっていた大量の段ボールを縛って捨てられる状態にするのに1時間近くかかった。その後なんとなく流れでスイッチのアソビ大全をすることになった。ブラックジャックは100を賭け続けて負け。ボウリングはコツを掴んだらストライクが出まくった。チェッカーは面白かった。ナインメンズモリスはクソゲーだった。

Yさんの見送りをして、近くのスーパーで朝食を買ったりする。就寝。

10/9(水)

9時くらいに起床。もっと早く起きるはずだったが…

色々と準備をすませる。段ボールは近くの体育館のごみ収集スペースに持っていかなければならないらしい。Fさんがレンタカーを借りてきてくれる間に、大量の段ボールを家の外にとりあえず出す。車に段ボールをぶちこんでゴミ収集スペースに向かい、めでたく捨てることができた。

長崎に向かう。私といえばほとんど寝ており、Fさんが全て運転してくれた。ありがとうございます。都市高速から九州自動車道長崎自動車道に入り、途中の金立SAで休憩。3つくらいの学校の修学旅行客が同じタイミングに休憩になっていたのか、バスがそもそも駐車スペースに入り切っておらず、建物内も高校生だらけだった。メロン色のメロンパンが売っていた。名物らしい。ふ〜んと思って見ていたらSさんがそれを買っていた。

西九州自動車道を通り、佐世保中央ICを越え、佐々ICで降りる。

看板

下道で本土四極最西端神崎鼻公園に向かう。これまで見てきた本土四極の中では一番家屋が多いように感じた。また、端が近づくにつれてほぼ港町の住宅街の生活道路みたいな狭い道を進むことになる。これも他の本土四極の中では特異で、根室稚内も佐多も、他の端はセンターラインが点線になってるタイプの片側一車線、合計二車線の道路(道の正式名称がわからん)だった。狭いな〜と道を進んでいると神崎鼻は右折れて左、みたいな看板が出てきて、それに従うと突然行き止まり、小さい駐車場が出現する。

車から降りる。

入口

展望台的なところに行く前に、海中遊歩道をみる。Sさんが岩の上乗ってたら距離見誤ったのか足濡れてウワ!とか言ってて笑ってしまった。すごく海が透き通っていてよい。

透き通るような世界観

本土最西端のモニュメント。

日本本土最西端の地

すこしのぼると日本本土最西端の地の碑と、四極交流広場なるものがある。ついにこれで本土四極を踏破したことになる。

見晴らしが良い。平戸の風力発電所も見える。

神崎鼻公園 日本本土最西端の地

四極交流広場

盟約書

四極広場は作ってから合併とかで極地の市町が変わったっぽく、細く説明というプレートがある(写真手前の補足説明)。元々は最西端は小佐々町だったが合併で佐世保市に、最南端は佐多町が合併で南大隅町になったということらしい。

これまで行った四極には人がいたが、大学生も夏休み終わってるし、平日昼間だったというのもあってか周りには誰もいない。14時45分の小学校の下校が始まるよっていう地域放送が周りに鳴り響く。

我々も下校しよう。ということで車に戻る。

佐世保市役所の小佐々支所に立ち寄る。本土四極到達証明書の西端を入手。

この辺から社会人2人がソワソワし始めて、作業せなヤバい!とか言い出す。

昼ごはんを食べていなかったので、とりあえず佐世保バーガー食べよう、ということでBigMan佐々店へ。異常社会人たちは裸のMacBookを片手に店内へ。怒られて追い出されても知らないっすよ!とは言ったがこんな時間に食べる人はいなかったし長居したわけでもなかったので怒られずに済んだ。佐世保バーガーKINGを注文。少々値は張ったが、具がちゃんとしており美味しかった(ただし、後でSさんと話していたら福岡の赤坂にあるU.S. burgerの方が5倍美味いということで意見が一致した。実際あそこは美味しいが)。ハンバーガーを味わっている自分に対して、異常社会人2人はといえば、店内で流れているBGMが作業にちょうどいいとか仰っていた。

佐世保バーガーKING

このあたりは展望台がたくさんある。とりあえず展海峰に向かいたいとお願いする。やたらに車線変更する車が多いなあという話をしつつ到着。

展海峰、ものすごく景色が良い。九十九島がよく見渡せる。来てよかった場所だ。

展海峰

すぐ隣にある九十九島観光公園へ。駐車場が広く、入ってすぐ真っ直ぐ行ったところには車好きの輩が半円状にに車を並べ写真を撮るなどしていた。同類には思われたくないぞということで右からより登ったところ(こっちの方が展望スペースには近い)の駐車場に停める。こちらも展望台というか見晴らせる場所だが、思ったより台というよりは丘感が強く、芝生が広がっているような感じだった。Sさんがなんかキャンプファイヤーしたくね?!とか言ってた。同意。そんなことを言ったりしていたら周りの散歩道がクソデカドッグランに見えてきた。

九十九島モニュメント

日も暮れてきた

広い

時刻は18時前。ここでほぼ日没を迎えた。海を見るよりは夜景かなあと思い弓張岳展望台に向かうことに。意味のわからない峠道を登っていく。途中では車とすれ違うことはなかったが、2人走ってる人とすれ違ったが、暗すぎるし幽霊か?となった。

頂上付近にホテルがあり、こんなところにあるのかと思いつつ、少し進むと駐車場に到着する。雰囲気的に夜間拝観時の曼殊院門跡の駐車場を思い出した(写真見つからず)。

展望台に向かう。佐世保の夜景・港に泊まるデカいクルーズ船(アドラ・マジック・シティがいた)がよく見える。かなり良い。Sさん的には函館より上品で好きらしい。第二展望台もあり、そちらでは佐世保市街の反対側もよく見える。

佐世保の夜景

半袖一枚では寒くなってきたので車に戻る。佐世保の名物としてすぐ思いつくのは佐世保バーガーかなあと思うが、どうやらレモンステーキというのも名物としてあるらしい。ということでレモンステーキのお店へ。どこがいいかなあと探しているとtwitterのフォロワーさんがレビューを書いていたお店が発見されたのでそこへ向かう。

ステーキハウス らんぷへ。1階はすごいオシャレなバーのような感じだった。テーブル席のある2階席に上がる。1階には艦これパネルが、階段には艦これのポスターが貼ってあり、オタクにも優しいお店なのかもしれない。ただし料理のお値段はそれなりにする(が、それに見合ったおいしさがある)。レモンステーキセットを注文。Sさんはなぜかハンバーグステーキセットを注文していた。ライスとパンで選ぶことが多いと思うが、私とFさんはライス、Sさんはパンを選んだ。コーンスープが出てくると同時にパンが出てきたが、想像していたパン(丸い感じのパン)とは違って、厚切りトーストにバターが乗っている感じになっていて、コメダのモーニング?という感じになった。いよいよお待ちかねのステーキが出てくる。

レモンステーキ

トースト

塩胡椒がかかっていて、その上にレモンが載っているというシンプルスタイル。とても柔らかく、想像以上に美味しい。リピート確定。SさんがFさんのステーキの一片を食べてハンバーグにしたことを後悔していた。

食後のデザートもしっかりしている。

デザートのアイス

ごちそうさまでした。ぜひまた来たいお店だと思う。

雰囲気のある路地

帰路につく。22時半ごろ、何事もなく福岡まで帰ってきた。

昨日買っていたじゃがりこを食べ比べる。とりあえず九州しょうゆとサラダを食べ比べた。当然どちらも美味しいが、九州しょうゆの方が濃い味で、薄味派の自分としては、3つサラダを食べた後に九州しょうゆを1つ挟むくらいがちょうどいいなあと思った。

シャワーを浴びて、明日のフェリーを予約。Fさんが広告にフェリーの広告ばっかり出てくるようになったぞ、って言われて明日の帰宅手段がバレる。布団に入る。FさんとSさんはは作業などをしていた。Fさんも後ほど同じフェリーをとることになる。雑談をしていると自分の気が遠くなっていき、気づいたら寝ていた。少なくとも3時を過ぎていた記憶はある。

10/10(木)

8時頃に一瞬起きたが、二度寝。11時頃に起床。いろいろ準備したりする。社会人2人はリモートワークしている。

昼の時間になる。天麩羅処ひらお 大名店へ。どの定食がいいかわからなかったが、あじわい定食を注文。990円。席につくとまずイカの塩辛が出てきた。うまい。天ぷらが順番に出てくる(白身・鶏もも・えび・かぼちゃ・ピーマン・ナス・いか)。うまい。この値段だとは思えない満足感を得ることができた。Sさんは穴子を頼んでデカさに驚いて欲しいと言っていたが、また今度頼んでみようと思う。

てんぷら

拠点に戻る。このブログ記事を書き進める。3日前に買った残りのかるかんを食べる。Sさんの感想として蒸しパンっぽく、なんとも評価しがたい味との評だった。確かにそう思う。16時半ごろになり、そろそろおいとますることにした。大変お世話になりました。Fさんも一緒に出ることに。明日は大阪で用事があるらしいが、このままだと延泊しかねないとのこと。

twitterで教えてもらったたい焼きを食べるべく、赤坂駅すぐの博多ひいらぎへ。皮がふわふわというより、かなりパリパリめで美味しい。

天神駅まで歩き、そこから地下鉄で博多駅へ。お土産を購入。とりあえずにわかせんべいを買っておいた。Fさんは松翁軒のカステラを買っていた。

新幹線に乗る。一駅移動して小倉へ。17時55分に博多を出発して、18時13分に小倉に到着。18分で約70km移動できてしまうのはすごい。

博多駅

小倉駅

ちょっと散歩してフェリーターミナル連絡バスを待つ。今回は名門大洋フェリーの第2便を利用する。新門司港行きバスはこちらみたいな看板があるなあと思ってそれに従ったら阪九フェリー方面のりばだった。あれ?とか思っていたら名門大洋フェリーのバスが来て、隣の島のところに駐車された。よく見ると看板も立ってた。

名門大洋フェリー連絡バス 奥の青く光る塔みたいなのある島には阪九フェリーの連絡バスが発着するらしい

バスに乗車。フェリーターミナルに向かう。寝ていたら到着。

フェリーターミナル

新日本海フェリーとかさんふらわあとか太平洋フェリーとかは一度受付的なところに行って紙のチケットをもらうみたいな感じだったと記憶しているが、名門大洋フェリーの場合はスマホからQRコードを提示するだけでよく楽だなあと思った。

甲板に出て出港を見届ける(見届けられる側だが)。Fさんは作業しないといけないとのことでお別れする(途中で電波入らなくなって諦めたらしい)。

風呂に入る。露天風呂やサウナなどはないシャワーと浴槽だけのシンプルスタイルだった。

風呂から上がり、夕食バイキングへ。胃腸がやられている自覚があったので欲張らずに食べることにした。とはいえ、アイスクリームが食べ放題、コーンフレークとチョコスプレーかけ放題だったのでおかわりした。

アイスクリーム

電波が復活していたのでyoutubeを聴きながらこのブログを書く(現在時刻は10/11 0:32です)。

写真の選定をしていたら25時半になってしまった。来島海峡大橋の通過時間。

来島海峡大橋

流石に寝ることにした。

10/11(金)

おはようございます。6時50分ごろ、まもなく明石海峡大橋だという船内放送で起床。甲板に出て通過を見届ける。

明石海峡大橋

歯磨きなどをして朝食をとる。昨日の夕食の時に夕食朝食セット券を買っておくと代金が少し安くなる。

朝食

大阪南港はすぐそこ。甲板に出て風を感じる。

風が気持ちいい

ほぼ入港

港に到着。荷物をまとめて下船する。起きてからFさんと会うことはなかったが、Fさんも無事下船したらしい。関西に戻ってきてしまった。

大阪南港フェリーターミナル

ニュートラムフェリーターミナル駅へは屋根のついた長い連絡通路でたどり着くことができる。列車にのって住之江駅で四つ橋線に乗り換え。大国町御堂筋線に乗り換えて天王寺へ。お手洗いが見つからず焦ることになったがなんとかなった。

フェリーターミナル駅 なんとなくノスタルジー感じる

MIO3階のスタバでこのブログを書き終わることにする。わざわざ天王寺まで来たのはMika Pikazoの個展を見たかったからである。この後はそれを見て、適当にお昼ご飯をとって、セミナーに間に合うように研究室に向かうつもりだ。

追記:

京都在住6年目、初めて天橋立に行く

京都に住んでいながらなんだかんだ機会がなかったが、今回機会ができtwitterのフォロワー2人と共に行くことになった。今回は何の下調べもせずついていく形になった。

京都駅八条口に9時に集合。タイムズカーシェアのデカい駐車場があり、そこのシェアカーを利用。助手席には無限に歌うたってる人が座り、僕は後部座席から道案内とかちょっかいを出す役。運転ありがとうございます。

沓掛ICから京都縦貫道を通って天橋立方面に向かう。だいたい2時間くらいかかったと思う。

高速を降りて、道の駅 宮津に到着。小さくない?

とりあえず昼食ということで近くの回転寿司屋に入った。普通においしい。2日前には実家にいて、そこでも(100円系でない)回転寿司を食べたが、海が近いだけあってか?そこと比較すると美味しいと感じた。

とりあえずサーモン

道の駅の観光交流センターでマンホールカードを配っているようだったのでもらっておいた(こういうところ来るとどこの県からきましたか?とかアンケートされることが多い気がするが貰って終了だった)。

適当な駐車場に移動。

まずは天橋立ビューランドへ。リフトまたはケーブルカーでのぼる形式。リフトとケーブルカーを選べたが、ケーブルカーのメリットがあまりわからなかった。到達時間がリフト6分、ケーブルカー7分だし、リフトは随時なのにケーブルカーは20分おきしかこないし、ペット同伴不可だし…。リフトは1人乗りだったのでその点は優位点かなあ。

上に行くと、メリーゴーランド、観覧車、馬の柔らかい乗るアレ(ロディっていうんだ)が大量、アーチェリーとか射的とかの体験、などなど。昔の百貨店の屋上遊園地みたいな感じになっていた。そういう感じなんだ。

メリーゴーランドと馬

景色いいね〜 Long砂嘴がようみえる

天橋立といえばここからのこれが思い浮かぶ気がする

天橋立の北側の傘松公園方面へ向かうために、観光船に乗る。14時発のにギリギリ乗船。

はじめ目的地の反対方面に動くが、一旦海の方に出て、そこで転回して一ノ宮(傘松公園のふもと)に行くという形らしい。乗る前は知らなかったが、100円でカモメの餌としてかっぱえびせんが売られていたらしい。どこからかやってくるカモメにかっぱえびせんを投げるとそれに喰らい付いてくる。女子中学生くらいの子がはじめは落としちゃったり全然食べてもらえてなかったのに、だんだん餌食べてもらえるようになって、といった感じで餌やり上達していっていたのが面白かった。(途中で中国人観光客がカモメを捕まえていて、奥さんにめっちゃ怒られていた。)にしてもすごいカモメが寄ってくる。天橋立の横を航行していくし、天橋立の歴史みたいな話を船内自動放送が案内してくれているが、カモメが気になりすぎてそれどころではなく、みんなカモメに夢中。

カモメ
なんか合成感あるカモメ

乗船時間はだいたい12分らしいが、あっという間で、気づいたら対岸に到着していた。

ということで山の上にある傘松公園へ向かう。こちらもリフトとケーブルカーの2通りでアクセスできる。こっちはリフトが7分、ケーブルカーが4分半と優位性があった。まあ運行時間はたしか15分間隔ではあったが、タイミングが合えばケーブルカーもありかという感じがしますよね。

上に到着すると、成相山の山頂行きのバスが出てるとかでそこからパノラマビューを見るかどうかみたいな感じになっていた。1520円と少し高めだがまあせっかくだし行くかということで行く。

えぐい山道を登っていき、成相山パノラマ展望所に到着。20分後の折り返しのバスが終バスだとの案内。標高500mらしく確かに景色はいい。天気もよく舞鶴の方とかまで見渡せる。運転手曰く午前は雲がかかって見えなかったらしい。

日本一 成相山パノラマ展望所
舞鶴方面

傘松公園に戻ってきた。ストリートピアノが置いてあり、弾いてよ!と言われたので弾こうと思ったが数年ぶりですっかり忘れていた。悲しい。ピアノ買って練習しようかな。

かさぼう 天橋立の創造とともに生まれてきた妖精とされる

帰りはケーブルカーで降りた。

天橋立の中を自転車で通過しようということで、乗船所の前で自転車を借りる。時刻16:15だったが、そこでの受付は17:00、天橋立渡り切った先に17:30までに乗り捨てできればOKとのこと。

三保の松原感を感じる(三保の松原未訪問並の感想)。

天橋立内を進む(これは北側の入り口あたりだったと思う)

海水浴場があった。

天橋立海水浴場

廻旋橋をわたり、自転車を返却、車に戻る。少し移動、一旦道の駅宮津に車を停めて友達が着替える。周辺でご飯を食べてから帰ろうかという話も出たが、時間がシビアだから先に京都駅に戻ろうという話に(2人は広島以西に新幹線に乗っていく感じだったので終電的な問題もあったので)。

帰りも運転をお願いした。京都市内に入ってからの道案内がうまかったらしい。

京都駅の中の適当な蕎麦屋で夕食をとり、2人を見送った。

今日のタワー

その後自分は適当なスタバに入って日記兼このブログの下書きを書いていた(最近書くのさぼっていて良くない)。京都タワーサンド下のスタバ23時までやってていいかも、という気持ちになった。

二重降下現象

最近,甘利さんの統計神経力学の本を研究室内で輪読していたが,自然勾配法の記事に引き続き,自分が二重降下の章を担当することになった.せっかく資料を作ったので一部をブログに載せておく.

ちなみに,以前にもグラフにするだけしてみていたりはする.深層学習まわりの理論の話では個人的にはこのトピックが最も好き.

potaxyz.hatenablog.jp

導入

二重降下現象(Double Descent)とは,統計学機械学習において,モデルのパラメータ数を増やしていくにつれて一度は複雑性誤差が増加するが,その後再び誤差が減少していくという現象である.古典的な統計モデルでは、複雑性誤差が一度増加する手前でバイアスとバリアンスのトレードオフをとるようにモデルを調整することが一般的だったが,現在の深層学習に代表されるような過剰パラメータモデルではパラメータを増やせば増やすほど誤差を減らすことができる場合があるというお話.古典的な学習理論の話から始めて深層学習での二重降下現象の話をする.

統計的学習理論と情報量基準

ここでは,すこし遠くから始めるが統計的学習理論の枠組みに出てくる量をいくつか紹介しつつ,汎化誤差を訓練誤差を使った推定量で推定することを考える(というのも本がそういう流れっぽかったので).

機械学習の目標は,観測データから適切な仮説(予測モデル) を学習するアルゴリズムを設計することである.

  • 仮説: 入力空間 $\mathcal{X}$ から出力集合 $\mathcal{Y}$ への関数 $$ h:\mathcal{X}\to\mathcal{Y} $$

学習とは,真の入出力関係を精度よく近似できるように、データを使って $h$ を調整する過程のこと.

$h$ による予測のよさは損失関数で測る.

  • 損失関数: 出力値と予測結果の間の誤差を測る関数 $$ l:\mathcal{Y}\times\mathcal{Y}\to[0,\infty) $$

どのように学習するか?といえば, 期待リスクをできるだけ小さくするように学習したい.

  • 期待リスク(汎化誤差): テストデータの分布における予測値の損失の期待値 $$ L(h)=E _ {(X,Y)}[l(Y,h(X))] $$

ただし,実際には $(X,Y)$ の分布はわからないので,観測データによって $L(h)$ を代替した指標として経験リスクを使う.

  • 経験リスク(訓練誤差): 観測データ $(X _ 1,Y _ 1),\ldots,(X _ n,Y _ n)$ に対する予測値 $h(X _ i)$ と観測値 $Y _ i$ の損失の平均 $$ L _ n(h)=\frac{1}{n}\sum _ {i=1} ^ nl(Y _ i,h(X _ i)) $$

汎化性能の良さは真に達成可能な期待リスク(ベイズリスク)との差で決まり,これとの差(残余誤差)が小さいほどよい.

  • ベイズリスク: 損失関数 $l$ を定めたときに任意の可測関数 $h$ のもとで達成できる期待リスクの下限 $$ L ^ \ast:= L(h ^ \ast)=\inf _ {h:\mathbb{R} ^ d\to\mathbb{R}} L(h) $$
  • ベイズ規則: ベイズリスクを達成する仮説 $$ h ^ *=\arg\inf _ {h:\mathbb{R} ^ d\to\mathbb{R}} L(h) $$

学習データを使って,できるだけ $h ^ \ast$ に近い $h$ をつくりたい(ちなみに,学習データ $\mathcal{D} _ n$ とすると, $E\ _ {\mathcal{D}\ _ n}[L(h _ n)]\to L ^ *,(n\to\infty)$ になる一致性をもつことが望ましい).

ここでは $\theta$ でパラメトライズされた $h _ \theta$ を以下では考えることにする.ベイズリスクを達成するパラメータを $\theta ^ *$,経験リスク最小化で達成されるパラメータを $\hat{\theta}$ とかくと,ここまで紹介してきた量は

  • 大数の法則から $L _ n(h _ {\theta ^ \ast})\to L(h _ {\theta ^ \ast})\,(n\to\infty,\mathrm{a.s.})$
  • ベイズリスクと汎化誤差の関係から $L(h _ {\theta ^ \ast})\leq L(h _ {\hat{\theta}})$
  • 経験リスク最小化で $\hat{\theta}$ を得ていたので $L _ n(h _ {\hat{\theta}})\leq L _ n(h _ {\theta ^ *})$

の関係がある.これらをまとめると,十分大きな $n$ で

$$ L _ n(h _ {\hat{\theta}})\leq L _ n(h _ {\theta ^ \ast})\approx L(h _ {\theta ^ \ast})\leq L(h _ {\hat{\theta}}) $$

が成り立つ.本当に実現したいのは $\theta ^ \ast$ だが,実際に実現できるのは $\hat{\theta}$なので,ここでは $L _ n(h _ {\hat{\theta}})$ で $L(h _ {\hat{\theta}})$ を推定することを考える.ここで $E[L _ n(h _ {\hat{\theta}})-L(h _ {\hat{\theta}})]=O(n ^ {-1})$ が示せるため, $n\to\infty$ では $L _ n(h _ {\hat{\theta}})$ は $L(h _ {\hat{\theta}})$ の漸近不偏推定量になっていることがいえる.しかし上の不等式を見れば明らかに過小評価しており,有限の $n$ ではこのオーダーの誤差が無視できないことがある.そこで,その分補正した推定量 $\hat{R} _ n$ として $E[\hat{R} _ n-L(h _ {\hat{\theta}})]=o(n ^ {-1})$ をみたすものを考え,この $\hat{R} _ n$ によって $L(h _ {\hat\theta})$ を推定することを考える(これは理論的にはリスク $R:= E[L(h _ {\hat{\theta}})]=E _ {\mathcal{D}}[L(h _ {\hat{\theta}(\mathcal{D})})]$ の推定になる.訓練データによらず $\hat{\theta}$ の作るプロセスが平均的に良いかを示す指標とみれる.)

ちなみに,この考え方を使っているのが情報量基準の導出になっている.この導出を追っていくと経験リスクと期待リスクの間の関係式は

$$ L(h _ {\hat\theta})\approx L _ n(h _ {\hat\theta})+\frac{p}{n} $$

となっていることがわかる.この式から

  • パラメータ数 $p$ を増やすと訓練誤差 $L _ n$ は減少し, $n=p$ で $0$ となる.
  • パラメータ数 $p$ を増やすと汎化誤差 $L$ は途中までは減少するが,途中から増加に転じ,訓練データに過剰適応する.結果として新たなデータに適応する汎化能力を失う(過学習).

ことがわかる.したがって,この関係式で右辺が一番小さくなるモデルが,最もデータをよく説明するモデルになりそうだといえる(情報量規準を使ったモデル選択).

図はReconciling modern machine-learning practice andthe classical bias–variance trade-offより

二重降下現象

実は,ここまでに紹介した描像は $p\leq n$ に限った話(古典的レジーム)だったことが最近わかってきた.近年のニューラルネットワークを使ったパラメータ設定では,多くの場合 $p\gt n$ を採用しており,この場合には異なる描像が出現する.イメージとしては次の図のような感じである.

図はReconciling modern machine-learning practice andthe classical bias–variance trade-offより

この現象をかなり網羅的に実験しているのが Deep Double Descent: Where Bigger Models and More Data Hurtである.この論文から得られる教訓は,必ずしも

  • モデルが大きすぎると良くない(古典的な統計学

  • モデルが大きいほど良い(現代(当時?)の機械学習

  • データが多いほど良い

わけではないことである*1

モデルサイズを大きくすると性能に悪影響を与えるモデルサイズの領域がある(There is a regime where bigger models are worse.)
図はDeep Double Descent: Where Bigger Models and More Data Hurt の Figure1 Left

サンプルを増加させると(同じモデルサイズでも)性能に悪影響を与える領域がある(There is a regime where more samples hurts.)
Deep Double Descent: Where Bigger Models and More Data Hurt の Figure3

長く訓練するとオーバーフィットから戻ってくる場合がある(There is a regime where training longer reverses overfitting.)
Deep Double Descent: Where Bigger Models and More Data Hurt の Figure2 Left + Figure9

この現象はもっと単純なモデルでもみることができる.2 層のニューラルネットで,入力層と中間層の間は適当にサンプリングして固定し,中間層と出力層だけ学習する(今回は適当なリッジ回帰を行なっている),というモデルを考える(Random Feature 回帰).データとしては2次元で $(\cos\theta,\sin\theta)$ を20個与え,出力として $\sin\theta$ を出してもらうように学習を行う.中間層のパラメータの数によって次のように変化する.

パラメータが少ないとそこそこ合う,パラメータが20くらいになると過学習の典型的な見た目をするが,パラメータ数をものすごく増やすと安定する.

インタラクティブにプロットすると以下のようになる.下のスライダーを動かすとパラメータ数を変えたときにどのような関数が学習で得られたかをみることができる.

線形回帰モデルでの二重降下

深層学習モデルでみられたこの現象だが,なんと単純な線形回帰モデルにおいても観察することができる.ということで線形回帰モデルでこの現象を導出してみようというのがここからの話である.以下では次の問題設定で話を進めていく.

問題設定 特定モデルの状況で考える(観測ノイズを除いてデータの関係を説明できる状況).
  • 訓練データ: $\mathcal{D}=\lbrace(\boldsymbol{x} _ i,y _ i)\rbrace _ {i=1} ^ n\subset\mathbb{R} ^ p\times\mathbb{R}$, $\boldsymbol{x} _ i\overset{\mathrm{i.i.d}}{\sim}\mathcal{N}(0,I _ p)$
  • 真のモデル: 線形モデル $$ y _ i = \boldsymbol{x} _ i ^ \top\boldsymbol{\theta}+ε _ i,\quad ε _ i\overset{\mathrm{i.i.d}}{\sim}\mathcal{N}(0,σ ^ 2) $$ 行列形式で書くと,$X=(\boldsymbol{x} _ 1,\ldots,\boldsymbol{x} _ n) ^ \top\in\mathbb{R} ^ {n\times p}, \boldsymbol{y}=(y _ 1,\ldots,y _ n) ^ \top, \boldsymbol{ε}=(ε _ 1,\ldots,ε _ n) ^ \top$ $$ \boldsymbol{y}=X\boldsymbol{\theta}+\boldsymbol{ε} $$
  • パラメータの推定: $$ \hat{\boldsymbol{\theta}}=\arg\min _ {\boldsymbol{\theta}}\lVert \boldsymbol{y}-X\boldsymbol{\theta} \rVert _ 2 ^ 2 $$ これを勾配降下法で求めることを考える
目標はパラメータ数(もしくはデータ数/パラメータ数)を変数として汎化誤差の典型評価: $E[(y-\hat{y}) ^ 2]$ の式を求める( $\boldsymbol{x}$ に対して $\hat{y}=\boldsymbol{x} ^ \top\hat{\boldsymbol{\theta}}$ とする)こと.

非漸近的な解析と,漸近的な解析の 2 つをここでは試してみる.前者はわりと線形回帰に特有な解析手法だけどわかりやすくて,後者の方が汎用的になっていると思う.

勾配降下法の陰的バイアス

汎化誤差の変形を始める前に,使用する勾配降下で求まる解の性質について言及しておこう.勾配降下法

$$ \hat{\boldsymbol{\theta}} _ {t+1}=\hat{\boldsymbol{\theta}} _ {t} - ηX ^ \top(X\hat{\boldsymbol{\theta}} _ t-\boldsymbol{y}) $$

で解を求めるとき, $p$ と $n$ の大小関係で得られる解が変化することが知られている.具体的には

  • Underparametrized(優決定系): $p<n$ の場合には最小二乗解 $$ \hat{\boldsymbol{\theta}}=(X ^ \top X) ^ {-1}X ^ \top\boldsymbol{y} $$ が得られ,これは $$ \hat{\boldsymbol{\theta}}=\arg\min _ {\boldsymbol{\theta}}\lVert \boldsymbol{y}-X\boldsymbol{\theta} \rVert _ 2 ^ 2 $$ の解である.

  • Overparametrized(劣決定系): $p>n$ の場合は最小ノルム解 $$ \hat{\boldsymbol{\theta}}=X ^ \top(XX ^ \top) ^ {-1}\boldsymbol{y} $$ が得られ,これは $$ \hat{\boldsymbol{\theta}}=\arg\min _ {\boldsymbol{\theta}}\lVert \boldsymbol{\theta} \rVert _ 2 ^ 2\,\mathrm{s.t.}\,\boldsymbol{y}=X\boldsymbol{\theta} $$ の解である.

後者で最小ノルム解が得られるのはある種非自明かもしれない.このように,選択したアルゴリズム(今回は勾配降下法)などの影響によって,陽にバイアスを加えたわけではないのに陰にバイアスが加わることを陰的バイアスと言ったりする.このことを証明できる形でちゃんと書くと次のような形になる.

勾配降下法の陰的バイアス $p>n$ で $\operatorname{rank} X=n$ ,固定学習率 $η\in (0,2/λ _ {\mathrm{max}}(X))$ の初期値 $\boldsymbol{\theta} _ 0 \in\mathrm{Im}(X ^ \top)$ から始める勾配降下法で $\hat{\boldsymbol{\theta}}=\arg\min _ {\boldsymbol{\theta}}\lVert \boldsymbol{y}-X\boldsymbol{\theta} \rVert _ 2 ^ 2$ の解を求めると,最小ノルム解に収束する: $$ \hat{\boldsymbol{\theta}}=\arg\min _ {\boldsymbol{\theta}}\lVert \boldsymbol{\theta} \rVert _ 2 ^ 2\,\mathrm{s.t.}\,\boldsymbol{y}=X\boldsymbol{\theta} $$

このステートメントは直感的には次のように説明できる.

  • 毎ステップ $X ^ \top$ がかけられたベクトルが足されていく.
  • ある $\boldsymbol{\alpha}$ があって $\lim _ {t\to\infty}\hat{\boldsymbol{\theta}} _ t=X ^ \top\boldsymbol{\alpha}$ のようになっているはず.
  • $\boldsymbol{y}=XX ^ \top\boldsymbol{\alpha}$ をとくと $\boldsymbol{\alpha}=(XX ^ \top) ^ {-1}\boldsymbol{y}$.$\therefore \lim _ {t\to\infty}\hat{\boldsymbol{\theta}} _ t=X ^ \top(XX ^ \top) ^ {-1}\boldsymbol{y}$

しっかり証明するなら次のようになる.

$X$ を特異値分解する($U \in \mathbb{R} ^ {n \times n}$ と $V \in \mathbb{R} ^ {p \times p}$ は直交行列,$Σ \in \mathbb{R} ^ {n \times p}$ は長方形の対角行列,$Σ _ {1} \in \mathbb{R} ^ {n \times n}$ は対角行列):

$$ X=UΣ V ^ {\top}=U \begin{pmatrix} Σ _ {1} & 0 \end{pmatrix} \begin{pmatrix} V _ {1} ^ {\top} \cr V _ {2} ^ {\top} \end{pmatrix} $$

このとき,最小ノルム解 $\boldsymbol{\theta} ^ {*}$ は次のように書き換えることができる:

$$ \boldsymbol{\theta} ^ {*}=X ^ {\top}(X X ^ {\top}) ^ {-1}\boldsymbol{y}=V _ {1}Σ _ {1} ^ {-1}U ^ {\top}\boldsymbol{y} $$

勾配降下法の更新ルールは次の通り(ここで $η > 0$ はステップサイズ):

$$ \boldsymbol{\theta} _ {t+1} = \boldsymbol{\theta} _ {t} - η \nabla L(\boldsymbol{\theta} _ t) = \boldsymbol{\theta} _ {t} - η X ^ {\top}(X \boldsymbol{\theta} _ {t} - \boldsymbol{y}) = (I - η X ^ {\top}X)\boldsymbol{\theta} _ {t} + η X ^ {\top}\boldsymbol{y} $$

これを繰り返すと,次のようになる:

$$ \boldsymbol{\theta} _ {t} = (I - η X ^ {\top}X) ^ t \boldsymbol{\theta} _ {0} + η \sum _ {s=0} ^ {t-1} (I - η X ^ {\top}X) ^ s X ^ {\top} \boldsymbol{y} $$

$X$ の特異値分解を用いると $X ^ {\top}X = V Σ ^ {\top} Σ V ^ {\top}$ であり,$V$ は直交行列なので $V ^ {\top}V = I$ .これらに注意すると

$$ \begin{split} \boldsymbol{\theta} _ {t} &= V(I - η Σ ^ {\top} Σ) ^ t V ^ {\top} \boldsymbol{\theta} _ {0} + η V \left( \sum _ {s=0} ^ {t-1} (I - η Σ ^ {\top} Σ) ^ s \right) Σ ^ {\top} U ^ {\top} \boldsymbol{y} \cr &= V \begin{pmatrix} (I - η Σ _ {1} ^ 2) ^ t & 0 \cr 0 & I \end{pmatrix} V ^ {\top} \boldsymbol{\theta} _ {0} + η V \left( \sum _ {s=0} ^ {t-1} \begin{pmatrix} (I - η Σ _ {1} ^ 2) ^ s & 0 \cr 0 & I \end{pmatrix} \right) Σ ^ {\top} U ^ {\top} \boldsymbol{y} \end{split} $$

となる.

$0 \lt η \lt 2 / σ _ {\max} (Σ _ 1)$ を選ぶと,$σ _ {\max} (Σ _ 1)$ は $Σ _ 1$ の最大特異値であり,$I - η Σ ^ \top Σ$ の固有値の絶対値がすべて 1 未満であることが保証される.したがって $t\to\infty$ で次のようになる*2

  • 1 項目

    $$ V \begin{pmatrix} (I - η Σ _ 1 ^ 2) ^ t & 0 \cr 0 & I \end{pmatrix} V ^ {\top} \boldsymbol{\theta} _ {0} \rightarrow V \begin{pmatrix} 0 & 0 \cr 0 & I \end{pmatrix} V ^ {\top} \boldsymbol{\theta} _ {0} = V _ {2} V _ {2} ^ {\top} \boldsymbol{\theta} _ {0} $$

  • 2 項目 $$ η\sum _ {s=0} ^ {t-1} \begin{pmatrix} (I - η Σ _ 1 ^ 2) ^ s Σ _ 1 \cr 0 \end{pmatrix} \rightarrow η \begin{pmatrix} \sum _ {s= 0} ^ {\infty} (I - η Σ _ 1 ^ 2) ^ s Σ _ 1 \cr 0 \end{pmatrix} = \begin{pmatrix} η(I-I+ηΣ _ 1 ^ 2) ^ {-1}Σ _ 1 \cr 0 \end{pmatrix} = \begin{pmatrix} Σ _ 1 ^ {-1} \cr 0 \end{pmatrix} $$

よって $\boldsymbol{\theta} _ {\infty}:=\lim _ {t\to\infty}\boldsymbol{\theta} _ t$ として,次のようになる:

$$ \boldsymbol{\theta} _ {\infty} = V _ 2 V _ 2 ^ {\top}\boldsymbol{\theta} _ {0} + V _ 1 Σ _ 1 ^ {-1} U ^ {\top} \boldsymbol{y} = V _ 2 V _ 2 ^ {\top} \boldsymbol{\theta} _ {0} + X ^ {\top}(X X ^ {\top}) ^ {-1} \boldsymbol{y} = V _ {2} V _ {2} ^ {\top} \boldsymbol{\theta} _ {0} + \boldsymbol{\theta} ^ {*} $$

ここで $\boldsymbol{\theta} _ {0}$ は $X ^ {\top}$ での写像先にあるので,$\boldsymbol{\theta} _ {0} = X ^ {\top} \boldsymbol{z}$ と書ける(ただし $\boldsymbol{z} \in \mathbb{R} ^ n$).

$$ V _ 2 V _ 2 ^ {\top} \boldsymbol{\theta} _ 0 = V \begin{pmatrix} 0 & 0 \cr 0 & I \end{pmatrix} V ^ {\top} X ^ {\top} \boldsymbol{z} = V \begin{pmatrix} 0 & 0 \cr 0 & I \end{pmatrix} V ^ \top V Σ U ^ {\top} \boldsymbol{z} = V \begin{pmatrix} 0 & 0 \cr 0 & I \end{pmatrix} \begin{pmatrix} Σ _ 1 \cr 0 \end{pmatrix} U ^ {\top} \boldsymbol{z} = 0 $$

したがって, $\boldsymbol{\theta} _ {\infty}=\boldsymbol{\theta} ^ *$ となり,勾配降下法で求めた解は最小ノルム解に収束する.

非漸近的な導出

得られる解の形がわかったので,ここからは汎化誤差を変形して具体的な式を求めていく.汎化誤差 $E[(y-\hat{y}) ^ 2]$ は

$$ \begin{split} E[(y-\hat{y}) ^ 2] &=E[(\boldsymbol{x} ^ \top\boldsymbol{\theta} + ε - \boldsymbol{x} ^ \top\hat{\boldsymbol{\theta}}) ^ 2] \cr &=E[(\boldsymbol{x} ^ \top\boldsymbol{\theta} - \boldsymbol{x} ^ \top\hat{\boldsymbol{\theta}}) ^ 2] + E[ε ^ 2] \cr &=E[\boldsymbol{x} ^ \top(\boldsymbol{\theta} - \hat{\boldsymbol{\theta}})(\boldsymbol{\theta} - \hat{\boldsymbol{\theta}}) ^ \top \boldsymbol{x}] + E[ε ^ 2] \cr &=E[\mathrm{Tr}( (\boldsymbol{\theta} - \hat{\boldsymbol{\theta}})(\boldsymbol{\theta} - \hat{\boldsymbol{\theta}}) ^ \top \boldsymbol{x}\boldsymbol{x} ^ \top)] + E[ε ^ 2] \cr &=\mathrm{Tr}(E[(\boldsymbol{\theta} - \hat{\boldsymbol{\theta}})(\boldsymbol{\theta} - \hat{\boldsymbol{\theta}}) ^ \top)] E[\boldsymbol{x}\boldsymbol{x} ^ \top] + E[ε ^ 2] \cr &=\mathrm{Tr}(E[(\boldsymbol{\theta} - \hat{\boldsymbol{\theta}})(\boldsymbol{\theta} - \hat{\boldsymbol{\theta}}) ^ \top]) + E[ε ^ 2] \cr &=E[\lVert \boldsymbol{\theta} - \hat{\boldsymbol{\theta}} \rVert ^ 2] + σ ^ 2 \end{split} $$

となるので $E[\lVert \boldsymbol{\theta} - \hat{\boldsymbol{\theta}} \rVert ^ 2]$ について考えたい.

先ほどもみたように,$p$ と $n$ の大小関係によって得られる解が変化するので,$p\leq n$ と $p\gt n$で場合分けを行う(当然,得られる解が変わるので汎化誤差の表式も変わる).

まずは $p\leq n$ の場合を考える.

$$ \begin{split} \boldsymbol{\theta} - \hat{\boldsymbol{\theta}} &=\boldsymbol{\theta} - (X ^ \top X) ^ {-1}X ^ \top\boldsymbol{y}\cr &=\boldsymbol{\theta} - (X ^ \top X) ^ {-1}X ^ \top(X\boldsymbol{\theta}+\boldsymbol{ε})\cr &=\boldsymbol{\theta} - (X ^ \top X) ^ {-1}X ^ \top X\boldsymbol{\theta} - (X ^ \top X) ^ {-1}X ^ \top \boldsymbol{ε}\cr &=-(X ^ \top X) ^ {-1}X ^ \top\boldsymbol{ε} \end{split} $$

ここで $\boldsymbol{\theta} - (X ^ \top X) ^ {-1}X ^ \top X\boldsymbol{\theta}$ は $(X ^ \top X) ^ {-1}X ^ \top X=I$ より $0$ になることに注意する.これより

$$ \begin{split} E[\lVert \boldsymbol{\theta} - \hat{\boldsymbol{\theta}} \rVert ^ 2] &=E[\lVert -(X ^ \top X) ^ {-1}X ^ \top\boldsymbol{ε} \rVert ^ 2]\cr &=E[\boldsymbol{ε} ^ \top X(X ^ \top X) ^ {-\top}(X ^ \top X) ^ {-1}X ^ \top\boldsymbol{ε}] \cr &=E[\mathrm{Tr}(X(X ^ \top X) ^ {-\top}(X ^ \top X) ^ {-1}X ^ \top\boldsymbol{ε}\boldsymbol{ε} ^ \top)] \cr &=\mathrm{Tr}(E[X(X ^ \top X) ^ {-\top}(X ^ \top X) ^ {-1}X ^ \top]E[\boldsymbol{ε}\boldsymbol{ε} ^ \top]) \cr &=σ ^ 2\mathrm{Tr}(E[X(X ^ \top X) ^ {-\top}(X ^ \top X) ^ {-1}X ^ \top]) \cr &=σ ^ 2 E[\mathrm{Tr}( (X ^ \top X) ^ {-\top}(X ^ \top X) ^ {-1}X ^ \top X)] \cr &=σ ^ 2 \mathrm{Tr}(E[(X ^ \top X) ^ {-1}]) \cr &=σ ^ 2 \frac{p}{n-p-1} \end{split} $$

となる.最後の等式が成り立つことを言うには少し複雑なので補足として後ろに載せておく.inverse-Wishart分布とかで調べると証明は出てくる.以上から

$$ \therefore E[(y-\hat{y}) ^ 2] = σ ^ 2 \left(1 + \frac{p}{n-p-1}\right) $$

と導かれる.

次に $p\geq n$ の場合は

$$ \begin{split} \boldsymbol{\theta} - \hat{\boldsymbol{\theta}} &=\boldsymbol{\theta} - X ^ \top(XX ^ \top) ^ {-1}\boldsymbol{y}\cr &=\boldsymbol{\theta} - X ^ \top(XX ^ \top ) ^ {-1}(X\boldsymbol{\theta}+\boldsymbol{ε})\cr &=\boldsymbol{\theta} - X ^ \top(XX ^ \top) ^ {-1}X\boldsymbol{\theta} - X ^ \top(XX ^ \top ) ^ {-1} \boldsymbol{ε}\cr &=(I-X ^ \top(XX ^ \top) ^ {-1}X)\boldsymbol{\theta}-X ^ \top(XX ^ \top ) ^ {-1}\boldsymbol{ε} \end{split} $$

$$ \begin{split} E[\lVert \boldsymbol{\theta} - \hat{\boldsymbol{\theta}} \rVert ^ 2] &=E[\lVert (I-X ^ \top(XX ^ \top) ^ {-1}X)\boldsymbol{\theta}-X ^ \top(XX ^ \top ) ^ {-1}\boldsymbol{ε} \rVert ^ 2]\cr &=E[\lVert (I-X ^ \top(XX ^ \top) ^ {-1}X)\boldsymbol{\theta} \rVert ^ 2]+E[\lVert X ^ \top(XX ^ \top ) ^ {-1}\boldsymbol{ε} \rVert ^ 2] \end{split} $$

ここで

  • $E[\lVert (I-X ^ \top(XX ^ \top) ^ {-1}X)\boldsymbol{\theta} \rVert ^ 2]$ をシグナル(バイアス)
  • $E[\lVert X ^ \top(XX ^ \top ) ^ {-1}\boldsymbol{ε} \rVert ^ 2]$ をノイズ(バリアンス)

とよぶことにしよう.バイアス/バリアンスといっているものの方が多そう(というか元論文はそうしている)だが,ここではわざと別の言葉を使うことにする(伏線は後で回収される).

  • 1 項目: シグナル 実は $X ^ \top(XX ^ \top) ^ {-1}X$ は射影行列になっているので ピタゴラスの定理が使える:

    $$ \lVert (I-X ^ \top(XX ^ \top) ^ {-1}X)\boldsymbol{\theta} \rVert ^ 2 = \lVert \boldsymbol{\theta} \rVert ^ 2 - \lVert X ^ \top(XX ^ \top) ^ {-1}X\boldsymbol{\theta} \rVert ^ 2 $$

    $X ^ \top(XX ^ \top) ^ {-1}X$ は $n(<p)$ 次元方向への射影なので

    $$ E[\lVert X ^ \top(XX ^ \top) ^ {-1}X\boldsymbol{\theta} \rVert ^ 2]=\frac{n}{p}\lVert \boldsymbol{\theta} \rVert ^ 2 $$

    あわせて

    $$ E[\lVert (I-X ^ \top(XX ^ \top) ^ {-1}X)\boldsymbol{\theta} \rVert ^ 2] = \lVert \boldsymbol{\theta} \rVert ^ 2\left(1-\frac{n}{p}\right) $$

  • 2 項目: ノイズ

    $$ \begin{split} E[\lVert X ^ \top(XX ^ \top) ^ {-1}\boldsymbol{ε} \rVert ^ 2] &=E[\boldsymbol{ε} ^ \top (XX ^ \top) ^ {-\top} XX ^ \top(XX ^ \top) ^ {-1}\boldsymbol{ε}]\cr &=E[\operatorname{Tr}( (XX ^ \top) ^ {-1}\boldsymbol{ε}\boldsymbol{ε} ^ \top)]\cr &=\operatorname{Tr}(E[(XX ^ \top) ^ {-1}]E[\boldsymbol{ε}\boldsymbol{ε} ^ \top])\cr &=σ ^ 2\operatorname{Tr}(E[(XX ^ \top) ^ {-1}])\cr &=σ ^ 2\frac{n}{p-n-1} \end{split} $$

したがって

$$ E[\lVert \boldsymbol{\theta} - \hat{\boldsymbol{\theta}} \rVert ^ 2]=\lVert \boldsymbol{\theta} \rVert ^ 2\left(1-\frac{n}{p}\right)+σ ^ 2\frac{n}{p-n-1} $$

となり,全体としては

$$ \therefore E[(y-\hat{y}) ^ 2] = \lVert \boldsymbol{\theta} \rVert ^ 2 \left(1 - \frac{n}{p}\right)+σ ^ 2\left(1+\frac{n}{p-n-1}\right) $$

となる.

$p\leq n$ と $p\geq n$ の場合をまとめると汎化誤差は

$$ E[(y-\hat{y}) ^ 2] = \begin{cases} σ ^ 2 \left(1 + \frac{p}{n-p-1}\right) & (p<n-1)\cr \infty & (p=n-1,n,n+1)\cr \lVert \boldsymbol{\theta} \rVert ^ 2 \left(1 - \frac{n}{p}\right)+σ ^ 2\left(1+\frac{n}{p-n-1}\right) & (p>n+1) \end{cases} $$

と導ける.これを $p$ を横軸にしてプロットすると下の図のようになる.$p < n$ では単調に増加していて,途中で減少して増加するのような描像はみられなかったが, $p=n$ でピークを持つ山のような形になっているというのは観察できている.このピークがどの項で出ているかと思って導出を思い出すと $\operatorname{Tr}(E[(X^ \top X ) ^ {-1}])$ もしくは $\operatorname{Tr}(E[(XX ^ \top) ^ {-1}])$ からきていることがわかる.学習するデータ共分散行列の,特異値の逆数和が出てくると思うと,そこにゼロの特異値が現れることで発散が起こるとみることができる.

$n=40$, $\lVert \boldsymbol{\theta} \rVert ^ 2=1$, $σ=1/5$ での例

補足

補足1

inverse-Wishart分布の平均 $x _ {ij}\overset{\mathrm{i.i.d}}{\sim}\mathcal{N}(0,1)$ とし,これを使って行列 $X=(x _ {ij}) _ {1\leq i\leq n;1\leq j\leq d}=(x _ 1,\ldots,x _ n) ^ \top$ と $A:= X ^ \top X=\sum _ {i=1} ^ n x _ ix _ i ^ \top$ を定める. このとき $$ E[\operatorname{Tr}(A ^ {-1})]=\frac{1}{n-d-1} $$ が成り立つ.

$$ \begin{split} E[x _ i ^ \top A ^ {-1}x _ i] &\overset{\text{1.}}{=}E\left\lbrack \sum _ {j=1} ^ d\frac{\partial}{\partial x _ {ij}}(e _ j ^ \top A ^ {-1}x _ i)\right\rbrack \cr &=\sum _ {j=1} ^ dE\left\lbrack e _ j ^ \top\left(\frac{\partial}{\partial x _ {ij}}A ^ {-1}\right)x _ i + e _ j ^ \top A ^ {-1}\frac{\partial}{\partial x _ {ij}} x _ i\right\rbrack \cr &\overset{\text{2.}}{=}\sum _ {j=1} ^ dE\left\lbrack e _ j ^ \top \left(-A ^ {-1}\left(\frac{\partial}{\partial x _ {ij}}A\right) A ^ {-1}\right)x _ i + e _ j ^ \top A ^ {-1} e _ j\right\rbrack \cr &=\sum _ {j=1} ^ dE\left\lbrack e _ j ^ \top \left(-A ^ {-1}\left(e _ j e _ i ^ \top X + X ^ \top e _ i e _ j ^ \top\right) A ^ {-1}\right)x _ i+e _ j ^ \top A ^ {-1} e _ j\right\rbrack \cr &\overset{\text{3.,4.}}{=}E[-\operatorname{Tr}(A ^ {-1})x _ i ^ \top A ^ {-1}x _ i-\sum _ {j=1} ^ d(e _ j ^ \top A ^ {-1}x _ i) ^ 2+\operatorname{Tr}(A ^ {-1})] \cr &=E[-\operatorname{Tr}(A ^ {-1})x _ i ^ \top A ^ {-1}x _ i-x _ i ^ \top A ^ {-2} x _ i + \operatorname{Tr}(A ^ {-1})] \end{split} $$

ここで

  1. $x\sim\mathcal{N}(0,I _ d)$ と 有界連続な関数 $f:\mathbb{R} ^ d\to\mathbb{R}$ に対して $E[xf(x)]=E[\nabla f(x)]$ となること(Stein's Lemma)を使う.
  2. $\frac{d}{dA _ {ij}}A ^ {-1}=-A ^ {-1}\left(\frac{d}{dA _ {ij}}A\right)A ^ {-1}$
  3. $e _ j ^ \top A ^ {-1}e _ je _ i ^ \top XA ^ {-1}x _ i=e _ i ^ \top A ^ {-1}e _ j x _ i ^ \top A ^ {-1}x _ i$
  4. $e _ j ^ \top A ^ {-1}X ^ \top e _ i e _ j ^ \top A ^ {-1}x _ i = e _ i ^ \top X A ^ {-1} e _ j e _ i ^ \top A ^ {-1} x _ i = (x _ i ^ \top A ^ {-1} e _ j)(e _ j ^ \top A ^ {-1} x _ i)$

である.これを使うと

$$ \begin{split} E[\operatorname{Tr}(XA ^ {-1}X)]&=E[-\operatorname{Tr}(A ^ {-1})\operatorname{Tr}(XA ^ {-1}X ^ \top)-\operatorname{Tr}(XA ^ {-2}X ^ \top)+n\operatorname{Tr}(A ^ {-1})] \cr d&=-E[\operatorname{Tr}(A ^ {-1})]\cdot d-E[\operatorname{Tr}(A ^ {-1})]+n\operatorname{Tr}(A ^ {-1}) \end{split} $$

よって

$$ E[\operatorname{Tr}(A ^ {-1})]=\frac{1}{n-d-1} $$

が導ける.

補足2

擬似逆行列を使うと,解を統一的に記述できる.

$$ \hat{\boldsymbol{\theta}}=X ^ +\boldsymbol{y}=X ^ +(X\boldsymbol{\theta}+\boldsymbol{ε})=X ^ +X\boldsymbol{\theta}+X ^ +\boldsymbol{ε} $$

Moore-Penrose pseudo-inverse 行列 $X$ が与えられたとき,次の 4 条件をみたすもののことで, $X ^ +$ と表す.
  1. $XX ^ +X = X$
  2. $X ^ +XX ^ + = X ^ +$
  3. $(X X ^ + ) ^ \top = X X ^ +$
  4. $(X ^ + X) ^ \top = X ^ +X$
特に,$X\in\mathbb{R} ^ {n\times p}$ に対して
  • $p\lt n$ ならば $\mathrm{rank}X=p$ で $X ^ + = (X ^ \top X) ^ {-1} X ^ \top$
  • $p=n$ ならば $X ^ +=X ^ {-1}$
  • $n\lt p$ ならば $\mathrm{rank}X=n$ で $X ^ + = X ^ \top(XX ^ \top) ^ {-1}$

後のトピックでは次の 2 つの事実を使うことになる(はじめから擬似逆行列を使って記述しておいてもよかったかもしれない).

  • $X ^ +X=(X ^ +X) ^ \top$ であることから

    $$ X ^ +X=\begin{cases} I & (p\lt n)\cr X ^ \top(XX ^ \top) ^ {-1}X & (n\lt p) \end{cases} $$ ちなみに後者は $n$ 次元の $X$ の行方向への射影である.

  • トレースについて $$ \begin{split} \operatorname{Tr}( (X ^ +) ^ \top X ^ +) &=\begin{cases} \operatorname{Tr}(X(X ^ \top X) ^ {-\top}(X ^ \top X) ^ {-1}X ^ \top)=\operatorname{Tr}( (X ^ \top X) ^ {-\top}(X ^ \top X) ^ {-1}X ^ \top X) & (p\lt n)\cr \operatorname{Tr}( (XX ^ \top) ^ {-\top}XX ^ \top(XX ^ \top) ^ {-1}) & (n\lt p) \end{cases}\cr &=\begin{cases} \operatorname{Tr}( (X ^ \top X) ^ {-1}) & (p\lt n)\cr \operatorname{Tr}( (XX ^ \top) ^ {-1}) & (n\lt p) \end{cases} \end{split} $$

漸近的導出

データ数 $n$ ,モデルのパラメータ数(=データの次元数) $p$ として, $n,p\to\infty$ かつ $p/n\toγ\in(0,\infty)$ の状況で導出をしてみる.ここでは一度 Ridge 回帰を考えて $λ\to+0$ によって解を得ることを考える.

$$ \hat{\boldsymbol{\theta}} _ λ:=\arg\min _ {\boldsymbol{\theta}}\frac{1}{n}\lVert \boldsymbol{y}-X\boldsymbol{\theta} \rVert ^ 2+λ\lVert \boldsymbol{\theta} \rVert ^ 2=(X ^ \top X+λ nI) ^ {-1}X ^ \top\boldsymbol{y},\quad\hat{\boldsymbol{\theta}}:=\lim _ {λ\to+0}\hat{\boldsymbol{\theta}} _ λ $$

このとき $E[(y-\hat{y}) ^ 2]$ から $σ ^ 2$ を除いたものは $E _ {\boldsymbol{x}}[\lVert \boldsymbol{x} ^ \top\boldsymbol{\theta}-\boldsymbol{x} ^ \top\hat{\boldsymbol{\theta}} _ λ \rVert ^ 2]=\lVert \boldsymbol{\theta}-\hat{\boldsymbol{\theta}} _ λ \rVert ^ 2$ .ここではデータについての平均までとり,極限での汎化誤差の典型値

$$ R(γ):=\lim _ {λ\to+0}\lim _ {n,p\to\infty, p/n\toγ}E[\lVert \boldsymbol{\theta}-\hat{\boldsymbol{\theta}} _ λ \rVert ^ 2] $$

を求めることを目指す.

(典型)汎化誤差の変形

まず典型汎化誤差を分解する.

$$ \begin{split} E[\lVert \boldsymbol{\theta}-\hat{\boldsymbol{\theta}} _ λ \rVert ^ 2] &=E[\lVert \boldsymbol{\theta} - (X ^ \top X+λ nI) ^ {-1}X ^ \top(X\boldsymbol{\theta}+\boldsymbol{ε}) \rVert ^ 2]\cr &=E[\lVert \boldsymbol{\theta} - (X ^ \top X+λ nI) ^ {-1}X ^ \top X\boldsymbol{\theta}+(X ^ \top X+λ nI) ^ {-1}X ^ \top \boldsymbol{ε} \rVert ^ 2]\cr &=E[\lVert \boldsymbol{\theta} - (X ^ \top X+λ nI) ^ {-1}X ^ \top X\boldsymbol{\theta} \rVert ^ 2]+E[\lVert (X ^ \top X+λ nI) ^ {-1}X ^ \top \boldsymbol{ε} \rVert ^ 2]\cr &=E _ X\left\lbrack \lVert \boldsymbol{\theta}-E _ {\boldsymbol{ε}}[\hat{\boldsymbol{\theta}}] \rVert ^ 2+E _ {\boldsymbol{ε}}[\lVert \hat{\boldsymbol{\theta}}-E _ {\boldsymbol{ε}}[\hat{\boldsymbol{\theta}}] \rVert ^ 2]\right\rbrack \end{split} $$

ここで $B _ {X}(λ):=\lVert \boldsymbol{\theta}-E _ {\boldsymbol{ε}}[\hat{\boldsymbol{\theta}}] \rVert ^ 2$ と $V _ {X}(λ):=E _ {\boldsymbol{ε}}[\lVert \hat{\boldsymbol{\theta}}-E _ {\boldsymbol{ε}}[\hat{\boldsymbol{\theta}}] \rVert ^ 2$ とおくことにすると

$$ \begin{split} B _ {X}(λ) &=\lVert (I - (X ^ \top X+λ nI) ^ {-1}X ^ \top X)\boldsymbol{\theta} \rVert ^ 2\cr &=\lVert (I - (X ^ \top X+λ nI) ^ {-1}(X ^ \top X+λ nI-λ nI) )\boldsymbol{\theta} \rVert ^ 2\cr &=\lVert λ n(X ^ \top X+λ nI) ^ {-1}\boldsymbol{\theta} \rVert ^ 2\cr &=\lVert \boldsymbol{\theta} \rVert ^ 2λ ^ 2\frac{1}{p}\operatorname{Tr}\left(\left(\frac{1}{n}X ^ \top X+λ I\right) ^ {-2}\right)\cr &=\lVert \boldsymbol{\theta} \rVert ^ 2λ ^ 2\int _ {(0,\infty)}\frac{1}{(s+λ) ^ 2}d\hat{μ}(s) \end{split} $$

$$ \begin{split} V _ {X}(λ) &=E _ {\boldsymbol{ε}}[\lVert (X ^ \top X+λ nI) ^ {-1}X ^ \top \boldsymbol{ε} \rVert ^ 2]\cr &=σ ^ 2\operatorname{Tr}( (X ^ \top X+λ nI) ^ {-2}X ^ \top X)\cr &=σ ^ 2\frac{p}{n}\frac{1}{p}\operatorname{Tr}\left(\left(\frac{1}{n}X ^ \top X+λ I\right) ^ {-2}\frac{1}{n}X ^ \top X\right)\cr &=σ ^ 2 \frac{p}{n}\int _ {(0,\infty)}\frac{s}{(s+λ) ^ 2}\hat{μ}(ds) \end{split} $$

積分を利用した形に書き換えることができる.ここで,$(X ^ \top X+λ nI) ^ {-2}$ はどの成分についても等しい分布なので,適当な直交行列を使って $\boldsymbol{\theta}$ を 1 つの成分だけが非零になるように変換して,トレースで成分の数だけ割る,といったことをしている.また $\hat{μ}(s)=\frac{1}{p}\sum _ {j=1} ^ pδ _ {λ _ j}(s)$ は$X ^ \top X/n$ の固有値計数測度.

ここからは $B:=\lim _ {n,p\to\infty,\,p/n\toγ}B _ {X}$, $V:=\lim _ {n,p\to\infty,\,p/n\toγ}V _ {X}$ として,これらを求めることを考える.

わざわざこんな変形をしたのは,ランダム行列理論という強力な道具を使えるからである.

ランダム行列理論からの道具

Marchenko-Pastur law

マルチェンコ・パスツール分布(Marchenko-Pastur distribution, Marchenko-Pastur law)は,次の条件をみたすようなランダム行列の固有値が(漸近的に)従う分布である.

Theorem (Marchenko-Pastur) $\lbrace x _ i\rbrace _ {i=1} ^ n\subset\mathbb{R} ^ p$ を独立同分布で $E[x _ i]=0, E[x _ ix _ i ^ \top]=σ ^ 2I\,(σ ^ 2<+\infty)$ をみたす確率変数とする.$X=(x _ 1,\ldots,x _ n)$ とし $XX ^ \top /n\in\mathbb{R} ^ {p\times p}$ の固有値を $λ _ i$ とする.$p,n\to\infty$, $p/n\toγ\in (0,\infty)$ のとき,任意の有界連続関数 $f$ に対して $$ \frac{1}{p}\sum _ {j=1} ^ p f(λ _ j)=\int f(s)\hat{μ}(ds)\longrightarrow\int f(s)μ(ds)\quad(\mathrm{a.s.}) $$ が成り立つ(分布収束).ただし $μ$ は次をみたす**(Marchenko-Pastur distribution, Marchenko-Pastur law)**. $$ \frac{dμ(s)}{ds}=\frac{1}{2\pi}\frac{\sqrt{(λ _ +-s)(s-λ _ -)}}{γ s}1 _ {s\in [λ _ -,λ _ +]}+\max\left(0,1-\frac{1}{γ}\right)δ(s),\quad λ _ \pm=(1\pm\sqrt{γ}) ^ 2 $$

この分布は,自由確率論において自由ポアソン分布ともいわれることもある.古典的な確率論におけるポアソン少数の法則において,独立性の条件を自由独立性に変えるとこの分布が出てくる.

また,これを利用することから,実際には $X$ の期待値をとらなくても続く結果が成り立つことがわかる.

Stieltjes Transform

確率論における特性関数を使った変換のようなものは,ランダム行列理論においてはスティルチェス変換によって行われる.

Stieltjes Transform $\mathbb{R}$ 上の測度 $μ$ に対して次で定義される $S:\mathbb{C}\backslash\mathrm{supp}(μ)\to\mathbb{C}$ を与える変換 $μ\mapsto S$ のこと. $$ S(z)=\int \frac{1}{x-z}μ(dx) $$

いくつか今回使う性質にかぎって紹介すれば

  • モーメントとの関係: $$ S(z)=-\sum _ {k=0} ^ \infty\frac{m _ k}{z ^ {k+1}},\quad m _ k:=\int x ^ k μ(dx) $$
  • Stieltjes Inverse Transform: $μ(dx)=\rho(x)dx$ のとき $$ \rho(x)=\lim _ {ε\to+0}\frac{1}{\pi}\operatorname{Im}S(x+iε) $$
  • $μ$ として $n\times n$ 行列 $X$ の固有値計数測度 $\hat{μ}(x)=\frac{1}{n}\sum _ {j=1} ^ nδ _ {λ _ j}(x)$ をとれば $$ S _ n(z)=\frac{1}{n}\operatorname{Tr}(X-zI) ^ {-1} $$

といった関係がある.上で紹介した Marchenko-Pastur 分布に対しては次のような変換式を導出できる.

Marchenko-Pastur law に対する Stieltjes Transform $$ S(z)=\frac{(1-γ-z)-\sqrt{(1-γ-z) ^ 2-4γ z}}{2γ z} $$

ちなみに,Cauchy 変換というのもあり,これは Stieltjes 変換の逆符号で定義される.ただし,Cauchy 変換と Stieltjes 変換を同じものとして定義しているものもあるので注意.

補足: Marchenko-Pastur law の導出

$X=(x _ 1,\ldots,x _ n)\in\mathbb{R} ^ {p\times n}$, $x _ i \sim\mathcal{N}(0,I _ p)$ とし, $XX ^ \top /n\in\mathbb{R} ^ {p\times p}$ とおく.

$Σ=\begin{pmatrix}Σ _ {11} & Σ _ {\cdot,1} ^ \top \cr Σ _ {\cdot,1} & Σ _ {p-1} \end{pmatrix}$ と書く. $Σ _ {11}\in\mathbb{R}$, $Σ _ {\cdot,1}\in\mathbb{R} ^ {p-1}$, $Σ _ {p-1}\in\mathbb{R} ^ {(p-1)\times(p-1)}$ .

対称性から

$$ E[\left( (Σ-zI) ^ {-1}\right) _ {11}]=\frac{1}{n}E[\operatorname{Tr}(Σ-zI) ^ {-1}] $$

になるので,$\left( (Σ-zI) ^ {-1}\right) _ {11}$ について考えればよく,また

$$ \frac{1}{\left( (Σ-zI) ^ {-1}\right) _ {11}}=E\left\lbrack \frac{1}{\left( (Σ-zI) ^ {-1}\right) _ {11}}\right\rbrack +O(n ^ {-1/2})=\frac{1}{E[\left( (Σ-zI) ^ {-1}\right) _ {11}]}+O(n ^ {-1/2}) $$

になることが示せる.

Schur complement formula から

$$ \frac{1}{\left( (Σ-zI) ^ {-1}\right) _ {11}}=(z-Σ _ {11})-Σ _ {\cdot,1} ^ \top(Σ _ {p-1}-zI)Σ _ {\cdot,1} $$

が成り立つ.また

$$ \begin{split} E\left\lbrack \frac{1}{\left( (Σ-zI) ^ {-1}\right) _ {11}}\right\rbrack &=E\lbrack(z - Σ _ {11})-Σ _ {\cdot,1} ^ \top(Σ _ {p-1} - z I )Σ _ {\cdot,1}\rbrack \cr &= z - 1 - \frac{1}{n ^ 2} E \left\lbrack \sum _ {s , t = 1} ^ n \sum _ {j , k = 2} ^ p X _ {1 t} X _ {j t} (Σ _ {p - 1} - z I) _ {jk} ^ {-1} X _ {ks} X _ {1s} \right\rbrack \cr &= z - 1 - \frac{1}{n} E \left\lbrack \operatorname{Tr}Σ _ {p-1}(Σ _ {p-1}-zI) ^ {-1}\right\rbrack \cr &= z - 1 + \frac{p-1}{n} -z \frac{1}{n} E \left\lbrack \operatorname{Tr}(Σ _ {p-1} - zI) ^ {-1}\right\rbrack \cr &= \left(\frac{1}{n}E\lbrack \operatorname{Tr}(Σ - zI) ^ {-1}\rbrack\right) ^ {-1} + O(n ^ {-1/2}) \end{split} $$

ここで, $n,p\to\infty$, $p/n\toγ\in (0,\infty)$ を考えれば, $S(z)=\lim \frac{1}{n}E[\operatorname{Tr}(Σ-zI) ^ {-1}]$ として

$$ \frac{1}{S(z)}=z-1+γ-γ z S(z) $$

これを,固有値分布の性質を満たす解を選ぶことで($S(z)\sim 1/z, |z|\to\infty$)Marchenko-Pastur law に対する Stieltjes Transform

$$ \begin{split} S(z)&=\frac{(1-γ-z)-\sqrt{(1-γ-z) ^ 2-4γ z}}{2γ z}\cr &=\frac{z-(1-γ)-\sqrt{(z-λ _ +)(z-λ _ -)}}{2γ z},\quadλ _ {\pm}=(1\pm\sqrt{γ}) ^ 2 \end{split} $$

を得ることができる.逆変換をすれば

$$ \rho(x)=\frac{1}{\pi}\lim _ {ε\to+0}\mathrm{Im}S(x+iε)=\frac{\sqrt{(λ _ +-x)(x-λ _ -)}}{2\piγ x}1 _ {x\in[λ _ -,λ _ +]} $$

もし $γ>1$ であれば $(1-1/γ)δ(x)$ が加わり,結局

$$ \rho(x)=\frac{\sqrt{(λ _ +-x)(x-λ _ -)}}{2\piγ x}1 _ {x\in[λ _ -,λ _ +]}+\max\left(0,1-\frac{1}{γ}\right)δ(x),\quad λ _ \pm=(1\pm\sqrt{γ}) ^ 2 $$

が得られる.

B と V の Stieltjes Transform による表示

簡単に使う道具について紹介したところで,$n,p\to\infty$ として, $B$ と $V$ の具体的な式を求める.以下で示すように,$B$ と $V$ は $S$ によって表現できて,これから求めることができる. $S'(-λ) = \frac{d}{dλ}S(-λ)$ とかくと

$$ B(λ)=\lVert \boldsymbol{\theta} \rVert ^ 2λ ^ 2\int _ {(0,\infty)}\frac{1}{(s+λ) ^ 2}dμ(s)=-\lVert \boldsymbol{\theta} \rVert ^ 2λ ^ 2S'(-λ) $$

$$ \begin{split} V(λ) &=σ ^ 2γ \int _ {(0,\infty)}\frac{s}{(s+λ) ^ 2}dμ(s)\cr &=σ ^ 2γ\left( \int _ {(0,\infty)}\frac{1}{s+λ}dμ(s)- \int _ {(0,\infty)}\frac{λ}{(s+λ) ^ 2}dμ(s)\right)\cr &=σ ^ 2γ(S(-λ)+λ S'(-λ)) \end{split} $$

ただし

$$ S(-λ)=\frac{-(1-γ+λ)+\sqrt{(1-γ+λ) ^ 2+4γ λ}}{2γ λ} $$

$$ \begin{split} S'(-λ) &=\frac{\frac{2(-γ+λ+1)+4γ}{2\sqrt{(-γ+λ+1) ^ 2+4γλ}}-1}{2γλ}-\frac{-(1-γ+λ)+\sqrt{(1-γ+λ) ^ 2+4γ λ}}{2γ λ ^ 2}\cr &=\frac{\frac{2(-γ+λ+1)+4γ}{2\sqrt{(-γ+λ+1) ^ 2+4γλ}}-1}{2γλ}-\frac{1}{λ}S(-λ) \end{split} $$

$λ\to +0$で

$$ \begin{split} -λ ^ 2S'(-λ) &=-\left(\frac{\frac{2(-γ+λ+1)+4γ}{2\sqrt{(-γ+λ+1) ^ 2+4γλ}}-1}{2γ}λ\right)+\frac{-(1-γ+λ)+\sqrt{(1-γ+λ) ^ 2+4γ λ}}{2γ}\cr &\to 0 + \frac{-(1-γ)+|1-γ|}{2γ}\cr &=\begin{cases} 0 & (γ\leq 1)\cr 1-\frac{1}{γ} &(γ>1) \end{cases} \end{split} $$

$$ \begin{split} S(-λ)+λ S'(-λ) &=\frac{\frac{2(-γ+λ+1)+4γ}{2\sqrt{(-γ+λ+1) ^ 2+4γλ}}-1}{2γ}\cr &\to\frac{1}{2γ}\frac{γ+1-|-γ+1|}{|-γ+1|}\cr &=\begin{cases} \frac{1}{1-γ} & (γ\leq 1)\cr \frac{1}{γ}\frac{1}{γ-1} &(γ>1) \end{cases} \end{split} $$

以上から

$$ \therefore B(0)=\lim _ {λ\to +0}-\lVert \boldsymbol{\theta} \rVert ^ 2λ ^ 2S'(-λ)=\begin{cases} 0 & (γ\leq 1)\cr \lVert \boldsymbol{\theta} \rVert ^ 2\left(1-\frac{1}{γ}\right) &(γ>1) \end{cases}, $$

$$ \begin{split} V(0)=\lim _ {λ\to +0}σ ^ 2γ (S(-λ)+λ S'(-λ))=\begin{cases} σ ^ 2\frac{γ}{1-γ} & (γ\leq 1)\cr σ ^ 2\frac{1}{γ-1} & (γ>1) \end{cases} \end{split} $$

と求めることができた.したがって

$$ R(γ) = B(0)+V(0) = \begin{cases} σ ^ 2 \frac{γ}{1-γ} & (γ\leq 1)\cr \lVert \boldsymbol{\theta} \rVert ^ 2 \left(1 - \frac{1}{γ}\right)+σ ^ 2\frac{1}{γ-1} & (γ>1) \end{cases} $$

となる.非漸近的導出の際に求めた $E[\lVert \boldsymbol{\theta}-\hat{\boldsymbol{\theta}} \rVert ^ 2]$ と比較すると,極限をとればちゃんと一致していることが確認できる.

バイアス・バリアンス分解による解釈

ここまでで導出してきた汎化誤差が,どの変数の影響でピークが現れることになるかを解釈したい.それのヒントとなるのがバイアス・バリアンス分解である.

ランダムデザイン・固定デザイン・より細かい分解

一般に $y(\boldsymbol{x})=f(\boldsymbol{x})+ε$, $ε\sim\mathcal{N}(0,σ ^ 2)$ に対して $f$ を $\hat{f}$ で推定するときのバイアス・バリアンス分解は次のように与えられる.今回のような線形回帰の場合には $f=\boldsymbol{\theta} ^ \top$, $\hat{f}=\hat{\boldsymbol{\theta}} ^ \top$ に対応している).

  • ランダムデザイン(Random Design): 計画行列 $X$ の期待値をとる

    $$ E _ {\boldsymbol{x}}E _ XE _ {\boldsymbol{ε}}[(y(\boldsymbol{x})-\hat{f}(\boldsymbol{x})) ^ 2]=E _ {\boldsymbol{x}}[(f(\boldsymbol{x}) - E _ {X,\boldsymbol{ε}}[\hat{f}(\boldsymbol{x})]) ^ 2] + E _ {\boldsymbol{x}}E _ {X,\boldsymbol{ε}}[(\hat{f}(\boldsymbol{x}) - E _ {X,\boldsymbol{ε}}[\hat{f}(\boldsymbol{x})]) ^ 2] + σ ^ 2 $$

例えば PRML などを参照するとこれがバイアス・バリアンス分解として紹介されるが,しばしば以下のようなバイアス・バリアンス分解が採用される場合もある.

  • 固定デザイン(Fixed Design): 計画行列 $X$ の条件下で考える

    $$ E _ {\boldsymbol{x}}E _ {\boldsymbol{ε}}[(y(\boldsymbol{x})-\hat{f}(\boldsymbol{x})) ^ 2]=E _ {\boldsymbol{x}}[(f(\boldsymbol{x}) - E _ {\boldsymbol{ε}}[\hat{f}(\boldsymbol{x})]) ^ 2] + E _ {\boldsymbol{x}}E _ {\boldsymbol{ε}}[(\hat{f}(\boldsymbol{x}) - E _ {\boldsymbol{ε}}[\hat{f}(\boldsymbol{x})]) ^ 2] + σ ^ 2 $$

ここまでの解析で見てきたのはデータ $X$ で条件づけた下でのラベルノイズ $\boldsymbol{ε}$ についての分解を考え,後で $X$ について平均をとるものだった.これをUnderstanding Double Descent Requires A Fine-Grained Bias-Variance Decompositionの論文の言葉を借りて "Semi-classical Approach" と呼ぶことにする*3

  • Semi-classical Approach: $n,d\to\infty$ の極限では測度の集中の効果で $X$ の期待値がとれ,Fixed Design に一致する

    $$ E _ {\boldsymbol{x}}E _ XE _ {\boldsymbol{ε}}[(y(\boldsymbol{x})-\hat{f}(\boldsymbol{x})) ^ 2]=E _ {\boldsymbol{x}}E _ X[(f(\boldsymbol{x}) - E _ {\boldsymbol{ε}}[\hat{f}(\boldsymbol{x})]) ^ 2] + E _ {\boldsymbol{x}}E _ XE _ {\boldsymbol{ε}}[(\hat{f}(\boldsymbol{x}) - E _ {\boldsymbol{ε}}[\hat{f}(\boldsymbol{x})]) ^ 2] + σ ^ 2 $$

ここで考えたいのは,Random Design のバイアス・バリアンス分解と, Semi-classical / Fixed Design の分解の関係性はどうなっているか,また,どの変数がピークに寄与しているか解釈できるか?という点である.

以下の解析はUnderstanding Double Descent Requires A Fine-Grained Bias-Variance Decompositionを線形回帰の場合に焼き直したもので,Scaling and Renormalization in High-Dimensional Regressionも参考にしている.なお,こんな感じの細かい分解をしてはどうか?みたいな話はRethinking Bias-Variance Trade-off for Generalization of Neural Networksが発端っぽい?

線形回帰におけるより細かいバイアス・バリアンス分解

ここまでみてきた線形回帰の場合で,Random Design での分解をしてみる.先に $E _ {\boldsymbol{x}}$ をとっておけば,

$$ \begin{split} E _ {\boldsymbol{x}}E _ {X,\boldsymbol{ε}}[(y-\hat{y}) ^ 2] &= E _ {X,\boldsymbol{ε}}[\lVert \boldsymbol{\theta} - \hat{\boldsymbol{\theta}} \rVert ^ 2] + σ ^ 2 \cr &= \lVert \boldsymbol{\theta}-E _ {X,\boldsymbol{ε}}[\hat{\boldsymbol{\theta}}] \rVert ^ 2+E _ {X,\boldsymbol{ε}}[\lVert \hat{\boldsymbol{\theta}}-E _ {X,\boldsymbol{ε}}[\hat{\boldsymbol{\theta}}] \rVert ^ 2] +σ ^ 2 \cr &= B(\hat{\boldsymbol{\theta}}) + V _ {X,\boldsymbol{ε}}[\hat{\boldsymbol{\theta}}] +σ ^ 2 \end{split} $$

ここで

  • バイアス(の 2 乗)

    $$ B(\hat{\boldsymbol{\theta}})=\lVert \boldsymbol{\theta}-E _ {X,\boldsymbol{ε}}[\hat{\boldsymbol{\theta}}] \rVert ^ 2 $$

  • バリアンス

    $$ V _ {X,\boldsymbol{ε}}[\hat{\boldsymbol{\theta}}]=E _ {X,\boldsymbol{ε}}[\lVert \hat{\boldsymbol{\theta}}-E _ {X,\boldsymbol{ε}}[\hat{\boldsymbol{\theta}}] \rVert ^ 2] $$

  • 除去できないノイズ $$ σ ^ 2 $$

とわかれる.各項を計算すると,$\hat{\boldsymbol{\theta}}=X ^ +X\boldsymbol{\theta}+X ^ +\boldsymbol{ε}$ と $E _ {X,\boldsymbol{ε}}[\hat{\boldsymbol{\theta}}]=E _ X[X ^ +X]\boldsymbol{\theta}+E _ X[X ^ +]E _ {\boldsymbol{ε}}[\boldsymbol{ε}]=E _ X[X ^ +X]\boldsymbol{\theta}$ を使うことで

$$ \begin{split} V _ {X,\boldsymbol{ε}}[\hat{\boldsymbol{\theta}}] &=E _ {X,\boldsymbol{ε}}[\lVert \hat{\boldsymbol{\theta}}-E _ {X,\boldsymbol{ε}}[\hat{\boldsymbol{\theta}}] \rVert ^ 2] \cr &=E _ {X,\boldsymbol{ε}}[\lVert (X ^ +X-E _ X[X ^ +X])\boldsymbol{\theta}+X ^ +\boldsymbol{ε} \rVert ^ 2] \cr &=E _ {X}[\lVert (X ^ +X-E _ X[X ^ +X])\boldsymbol{\theta} \rVert ^ 2]+E _ {X,\boldsymbol{ε}}[\lVert X ^ +\boldsymbol{ε} \rVert ^ 2] \cr &=E _ {X}[\lVert X ^ +X \boldsymbol{\theta} \rVert ^ 2]-\lVert E _ X[X ^ +X\boldsymbol{\theta}] \rVert ^ 2+σ ^ 2\operatorname{Tr}(E _ {X}[(X ^ +) ^ \top X ^ +]) \cr &=\begin{cases} σ ^ 2\frac{p}{n-p-1} & (p<n-1)\cr \infty &(p=n-1,n,n+1)\cr \lVert \boldsymbol{\theta} \rVert ^ 2\frac{n}{p}\left(1-\frac{n}{p}\right)+σ ^ 2\frac{n}{p-n-1} & (p>n+1) \end{cases} \end{split} $$

$$ \begin{split} B &:= \lVert \boldsymbol{\theta}-E _ {X,\boldsymbol{ε}}[\hat{\boldsymbol{\theta}}] \rVert ^ 2 \cr &= E _ {X,\boldsymbol{ε}}[\lVert \boldsymbol{\theta} - \hat{\boldsymbol{\theta}} \rVert ^ 2] - V _ {X,\boldsymbol{ε}}[\hat{\boldsymbol{\theta}}] \cr &=\begin{cases} 0& (p\leq n)\cr \lVert \boldsymbol{\theta} \rVert ^ 2\left(1-\frac{n}{p}\right) ^ 2 & (p>n) \end{cases} \end{split} $$

と計算できる.ここで

  • $p\leq n$ の場合

    • $E _ {X}[\lVert X ^ +X \boldsymbol{\theta} \rVert ^ 2]-\lVert E _ X[X ^ +X\boldsymbol{\theta}] \rVert ^ 2=E _ {X}[\lVert \boldsymbol{\theta} \rVert ^ 2]-\lVert E _ X[\boldsymbol{\theta}] \rVert ^ 2=0$

    • $σ ^ 2\operatorname{Tr}( (X ^ \top X) ^ {-1})=σ ^ 2\frac{p}{n-p-1}$

  • $p\geq n$ の場合

    • $E _ {X}[\lVert X ^ +X \boldsymbol{\theta} \rVert ^ 2]=E _ X[\boldsymbol{\theta} ^ \top(X ^ +X) ^ \top X ^ +X\boldsymbol{\theta}]=E[\boldsymbol{\theta} ^ \top X ^ +X \boldsymbol{\theta}]=\frac{1}{p}\operatorname{Tr}E[X ^ +X]\lVert \boldsymbol{\theta} \rVert ^ 2=\frac{n}{p}\lVert \boldsymbol{\theta} \rVert ^ 2$

    • $E _ {X}[X ^ +X \boldsymbol{\theta}]=\frac{n}{p}\boldsymbol{\theta}$ より $\lVert E _ X[X ^ +X\boldsymbol{\theta}] \rVert ^ 2=\frac{n ^ 2}{p ^ 2}\lVert \boldsymbol{\theta} \rVert ^ 2$

    • $σ ^ 2\operatorname{Tr}( (XX ^ \top) ^ {-1})=σ ^ 2\frac{n}{p-n-1}$

となることを利用した.

ここからはより細かくバリアンスの分解を行うことを考える.つまり,$X$ だけ, $\boldsymbol{ε}$ だけ,$X$ と $\boldsymbol{ε}$ の相互作用による寄与の項に分解する.

  • $X$ だけからの寄与: $\boldsymbol{ε}$ について周辺化してから $X$ についての分散を考える

    $$ \begin{split} V _ X &:= V _ XE _ {\boldsymbol{ε}}[\hat{\boldsymbol{\theta}}] \cr &=V _ X[X ^ +X\boldsymbol{\theta}] \cr &=E _ {X}[\lVert (X ^ +X-E _ X[X ^ +X])\boldsymbol{\theta} \rVert ^ 2] \cr &=\begin{cases} 0 & (p\leq n)\cr \frac{n}{p}\left(1-\frac{n}{p}\right)\lVert \boldsymbol{\theta} \rVert ^ 2 & (p>n) \end{cases} \end{split} $$

  • $\boldsymbol{ε}$ だけからの寄与: $X$ について周辺化してから $\boldsymbol{ε}$ についての分散を考える (素直にやると計算できないので,元の問題で $X=0$ だったと思うことにする)

    $$ V _ {\boldsymbol{ε}}:= V _ {\boldsymbol{ε}}E _ {X}[\hat{\boldsymbol{\theta}}]=0 $$

  • $X$ と $\boldsymbol{ε}$ の相互作用による寄与: 全体から上の 2 つを引く

    $$ \begin{split} V _ {X,\boldsymbol{ε}}&:= V _ {X,\boldsymbol{ε}}[\hat{\boldsymbol{\theta}}] - V _ X - V _ {\boldsymbol{ε}}\cr &=E _ {X,\boldsymbol{ε}}[\lVert X ^ +\boldsymbol{ε} \rVert ^ 2] \cr &=σ ^ 2\operatorname{Tr}(E _ {X}[(X ^ +) ^ \top X ^ +]) \cr &=\begin{cases} σ ^ 2\frac{p}{n-p-1} & (p<n-1)\cr \infty & (p=n-1,n,n+1) \cr σ ^ 2\frac{n}{p-n-1} & (p>n+1) \end{cases} \end{split} $$

というわけで,以上により,汎化誤差は次のベン図のように分解できることがわかった.この結果をみると線形回帰における二重降下はデータと観測値のノイズの相互作用によって発生することがわかる.

また,"Semi-Classical Approach" では$B+V _ X$ をシグナル(バイアス), $V _ {X,\boldsymbol{ε}}+V _ {\boldsymbol{ε}}$ をノイズ(バリアンス)と呼んでいたこともわかる(こういった背景があるのでわざとシグナルとノイズという言葉を使った).

$$ \begin{array}{c||c:c:c:c} & B & V _ X & V _ {X,\boldsymbol{ε}} & V _ {\boldsymbol{ε}} \cr \hline γ<1 \vphantom{\displaystyle\lVert \boldsymbol{\theta} \rVert ^ 2\left(1-\frac{1}{γ}\right) ^ 2}& 0 & 0 & \displaystyleσ ^ 2\frac{γ}{1-γ} & 0 \cr γ>1 & \displaystyle\lVert \boldsymbol{\theta} \rVert ^ 2\left(1-\frac{1}{γ}\right) ^ 2 & \displaystyle\lVert \boldsymbol{\theta} \rVert ^ 2\frac{1}{γ}\left(1-\frac{1}{γ}\right) & \displaystyleσ ^ 2\frac{1}{γ-1} & 0 \end {array}\quad\left(\frac{p}{n}\toγ,\,n,p\to\infty\right) $$

Fine-Grained Bias-Variance Decomposition

汎化誤差のバイアス・バリアンス分解($p$の関数として)

汎化誤差のバイアス・バリアンス分解($γ$の関数として)

参考文献

www.saiensu.co.jp

*1:ちなみに Regularization-Wise Double Descent なんてのもあったりする

*2:収束の速度が $λ _ {\mathrm{min}}(X)$ で決まることもわかる.

*3:ここでは線形回帰の場合を見越して $X$ だが,モデル設定にかかわる任意のランダム性のようなものを考えている.具体的には初期パラメータ,訓練のミニバッチサイズの選択などである

2024夏の小倉・博多散策

今回の旅行ではtwitterで観光スポットやご飯屋さんを募集するスタイルにしてみて、行った場所や食べたものはほぼ全てこれに従っています。おかげさまでいい旅行になりました。ここに感謝の意を表します。久しぶりに福岡に行けてリフレッシュにもなり楽しかったです。

7/24(水)

なんかめっちゃスコールみたいな雨降ってるしやる気がなく適当な時間に京都を去る。今回は学割不使用でEX予約で切符を取ったので人生初のスマホで新幹線入出場で非常に便利だった。

夕方ごろに小倉上陸。小倉駅北側のホテルにチェックイン。2日目以降のホテルをとっていなかったのでここで探しておこうと検索をかけてみると、博多駅前に空きが出ていて無事取ることができた。思っていたより博多駅前のホテルが少なく、1万円以上のところばかりがヒットして困っていたのでこれはうれしい。

適当にあるあるCityを散歩する。1階にはたくさんの声優サインがあり、またあらゆるオタクショップが集まっていてすごかった。

北九州のオタクの聖地といったところだろうか

小倉駅の南側へ。夜ご飯として資さんうどんを食べる。しあわせセット(うどん+カツ丼+ぼた餅)を注文。うどんもそうだが、ごぼう天がうまい。関西にもいくつか出店しているらしいが、京都にもぜひ出店して欲しい。

しあわせセット

小倉の商店街を散歩。旦過市場が少し前に火事で話題になっていた記憶があったが、同時に再開発の計画もあるようである。火災があったあたりにプレハブでいくつか店が出ていて、旦過青空市場という形で営業しているようである(夜遅かったので行った時間に店が開いていたわけではない、バーだけやってた)。

この日京都では祇園祭の後祭で山鉾巡行が行われていた。小倉でも祇園祭をやっていたが、これは祭神が同じで似たような祭りを同じような時期にやるためである。博多も同様。

夜の旦過市場(夜だから静か)。復興の文字の入る旗幕。

移転のペンが書かれているところは火災のために移動したのではなくて再開発のための移転だと思う。

青空旦過市場

再び小倉駅の北側へ戻る。海がすぐのところにあり良い。

海。釣りをしている人やギター弾いている人がいた。昼間ならこのあたりから藍島・馬島に向かう船が出ている。

ホテルに戻り就寝。

7/25(木)

8時ごろ起床。朝食をとって準備をしてホテルを出る。この日は2箇所の博物館に行くが、その詳細な説明はこの日の一番最後にまとめて書いてある。簡単な感想はここに書く。小倉駅からモノレールに乗って香春口三萩野駅で下車。少し歩いてTOTO博物館へ。入場無料なのはかなりすごいと思った。受付のお姉さんが丁寧にロッカーの場所の案内とか、音声ガイド要りますかみたいにきいてくれた。会社の歴史とか便器の変遷が知れて面白かった。トイレバイクはちょっとよくわからなかった。1.5時間程度滞在した。

TOTO

博物館を出て、昼ごはんに小倉鉄なべ餃子を食べた。小ぶりな餃子でパリパリしていて美味しかった。

鉄なべ餃子

ゼンリンミュージアムに向かう。朝日新聞とかが入っているビルの14階にある。地図の歴史について色々知れる。企業の博物館なので自社製品について何かしらあるのかと思ったらほとんどなく、最後にちょこっと触れてあるだけである。2時間程度滞在した。地理好きはハマると思う。

入場券に引き換え券がついてて、map design galleryとかいう、このミュージアムが入ってる建物の隣の1階にあるグッズショップに行くと栞がもらえた。このグッズショップはゼンリンがつくった地図柄グッズ専門ショップらしい。かなり刺さった。地図記号ストラップとか買おうかと悩んだが、買わなかった(高等学校・大学のがあれば買ったかも)。札幌のクリアファイルと京都のハンカチは買った。

一旦スタバで休憩しつつ都道府県スタンプを回収。最後に小倉城の周辺を適当に歩いて小倉駅に戻る。

小倉城(数年前もこの構図で写真を撮った記憶がある)

在来線で博多駅へ向かう。思ったより普通快速列車の本数が少なく、けっこう待つことになった。

博多駅に到着。実に9年ぶり。

博多駅の地下街を歩いて適当な出口すぐ(祇園駅前)のところにホテルがあって助かった。ホテルにチェックインして荷物を適当に置き、再び外へ。地下鉄に乗って赤坂駅で下車。

U.S.Burgerというバーガー店に入った。入ると客は誰もいなく、店主/店員も客がいないときのリラックスした感じ(主人は席に座ってノートパソコンいじってたし)で、内装もおしゃれな感じだったので一瞬キョドったがなんとかなった。言われるがままにおすすめトッピングを全てつけて注文(ハンバーガー+チーズ、ベーコントッピング+フライドポテト+コーラ)。その場でトマトを切り、パンを焼き、肉を焼く。一口目肉を入れるとこれまでのハンバーガーとは違うことはすぐにわかる。帰りにThis is the most delicious humburger I have ever eaten!って伝えたらThank you!!とのことだった。どこでこの店知った?って聞かれて友達の紹介から、って言っておいた。あと店のこだわりみたいな話をされて、あとでYouTube見といてって言われた。実際かなりうまかったし宣伝もかねて動画リンクを貼っておこうと思う。

TRUTH HUMBURGER

www.youtube.com

なんとなく姪浜まで乗り潰しをした。ショッピングモールからそのまま改札に入ることができるようになっていた。

典型的な郊外感?

コーヒーを買ってホテルに戻り作業をして就寝。

TOTOミュージアム

TOTOの会社の創業から始まる。ノリタケカンパニーリミテドから分離独立だったのは知らなかった。その系譜に日本ガイシとか特殊陶業とかあるのもびっくりした。森村グループそういう系統牛耳ってそう。いろいろとティーセットとか作ってきたものの展示を見る。こういうのをみていると良いコーヒーセットとかティーセットを買ってみたくなる。TOTOのトイレも陶器である。謎のトイレバイクが展示してあった。実際に走ったらしく、バイオ燃料で動いてはいるらしい。便器ついてるしそこでして燃料にして走れるやん!と思ったが残念ながらself-containedではないらしい。

トイレバイクネオ

特別展示でパブリックトイレの歴史みたいなのが書いてあった。

ユニットバスのプレハブ化は防水工事とかがいらなくなって工期を短くすることができ、1964の東京オリンピックでのオータニホテルの急ピッチの建築にも役立ったとか。

TOTOの志コーナー。良品主義の精神がカギらしい。プロダクトの作られる流れみたいなので、流体計算で効率良い水の流し方計算してるみたいなの書いてあって、確かにそういうところに数値計算技術効いてくるなあという気持ちになった。あとエコリモコンが気になった。ボタンを押すところのバネが跳ね返る時の力でちっちゃい発電機(磁石を回す)を動かして電気を作ることでスイッチか何かを駆動させるというもの。よく考えたなあと思う。

水回りの歴史がすこし。

便器の変遷。和式便器(一段上がったところに和式便器があるのが汽車便、男性でも立ったまま用が足しやすいように、ってことらしい。立ってする時一段下でよかったの知らんかった。)から洋式便器とか最近のやつまで。洋式便器は排水パイプをつけるだけでよくて施工も簡単、って書いてあり、だったら初めからそうしろよという気持ちになってしまった。おそらく蓄えておくタイプのが多くて水洗式の普及がまだだったとか、文化的な問題(和式に慣れすぎて腰掛け式の使い方がわからない)も何かしらあったのだろう。

あと水洗式のタンクが段々上にあったところから下がっていって、壁に埋め込まれるようになってきたとか。使う水の量や音も小さくなっていっている。(昔高いところにあったのは物理的に圧力を出すためか?)

から洋式便器への発展と、いろんなニーズ(迎賓館につくるとかホテルに作るとか)の場合にどんなトイレが作られたかとか。あと浴槽とかユニットバスの話もこの辺にちょっとあった。痰壺付き洗面台とか噂には聞いていたが初めて見た。洗面台(キッチン)の使い方も今と昔では違って、今は洗面台は汚いものを流すという考えが主流な気がするが、昔はそこに水をためておいて色々やるみたいな(使い方をするのでそこに痰を吐くわけにはいかない)現在に比較すると洗面台はキレイであるという考えがあったみたいな話を聞いたことがある。

3つ目の展示室にはTOTOのグローバル展開の話がされていた。ヨーロッパは日本が木造建築が多いのとは違って石材系での建築がメインなので壁にタンクを埋め込みやすいとか、アメリカだとエネルギーアクト法とかいう法律があって流していい水の量が制限されているとかでその制限をクリアするようなトイレを作っているとか、グローバル展開するにもその地域にあったトイレを作っているというのが興味深かった。

あとめっちゃすごそうな浴槽あったので写真を撮った。宇宙飛行士が宇宙で休息しているかのような姿勢、ゼロディメンション浴槽ってHPには書いてある。意味不明(褒めています)。

www.toto.com

ゼンリンミュージアム

入場に1000円。朝日新聞かなんかが入ってる建物の14階にある。

※日本史の知識が非常に乏しいので、年代などに嘘が入っている可能性があります。

受付でお金を払って、色々説明を受ける。良い節目なのかチケットホルダーをプレゼントされた。

はじめに、のところではかなり昔、バビロニアの地図あたりから始まる。地球球体説からキリスト教的世界観で平面説になってからまた科学の発展で地球球体説に戻るみたいなのとかも。アラブあたりからは日本は地図ではワクワクって呼ばれてたらしい。

はじめは世界からの日本の地図の見られ方みたいな感じ。メルカトル図法のまえはポルトラノの海図が主流だったらしい。その地点から放射状に線がのびててその方角に別地点があるみたいな図。

伊能忠敬の前に、モレイラという外国人が測量して地図を作っていた。西日本が中心で、京都より東は人の話を聞いて作ったためあまり正確ではないが、西側はかなり正確。これが1617年のものらしく、これから日本は鎖国に入って行き、以後の地図にはだんだん想像とかが含まれていって、逆に精度が悪くなって行くとかで、この周辺100-200年くらいで見ればここが精度のピークらしい。

途中で蝦夷が発見されて描かれたりしていくが、日本の北方は霧とかが多くて、大航海時代だったヨーロッパからもなかなか調査が進まず、空白地帯だったらしい。1820年にクルーゼンシュルテンという人のサハリン海図がつくられたことでやっとそのあたりの空白地帯が埋まることになる(ただし半島だと思われていたらしい)。

2つ目に、伊能忠敬の測量の話が始まる。もともとは緯度1度の長さをもとめることがしたかったらしいが、もっとでかい長さで算出した方がええんちゃうというのを高橋至時とかいうお偉いさんが言ったらしい。一方で至時も蝦夷地の測量をした方がいいなあと思ってたらしく、両者の思惑がいい感じに一致して、大規模な測量がやられることになったらしい。実寸大の全国の大図が床に印刷してあったが、クソデカい。

明治に入っても忠敬の図がずっと参照されていたらしく(作図後60年とか経っても)て、マジでhuge workすぎると思った。あとシーボルトが地図を持ち出そうとしたのがバレて、没収される前に徹夜で写して海外に持ち帰ったとかいう話もあったりした。そうなんだ。この持ち出しが開国のきっかけになりました、など。

3つ目に名所図会とか鳥瞰図とかの話になっていく。段々疲れてきてあんま覚えていない。

ここまでは常設展の感想だが、途中で企画展で別府の話(時間がちょうど合ったのでガイド付き説明30分)を聞いた。ゼンリンはもともと別府の観光マップ?ガイド?みたいなのを作っていたが、観光ガイドのイラストレーション的な地図を作るより、(観光イラストレーションな地図になると全部載せるわけにいかず、俺もマップに店の名前載せて欲しい、みたいな話になってきた?)本格的な地図を作った方が需要ありそう、ってことで地図の会社になっていったらしい。数年後には拠点を小倉に移るが、こういうルーツがあるらしい。

面白かった話をいくつか箇条書き的に羅列する。

別府の街のつくりについて。もともと港町で計画的につくられていて、かなり碁盤の目になっている。主には港から街に入ることを想定している図もほとんど海から山をみる形になっている。

別府のホテルの宣伝をするのに、鳥瞰図なんだけどデフォルメされていて、別府の市街地の真ん中が全部ホテルにされてて、奥とかに(存在しない、いつか作るつもりだった?)ゴルフ場とかスキー場とかが描いてある宣伝用の地図を作っていたこと。

戦後は米軍のキャンプができるが、そういうのは地図に載せれないので存在しない道路が描いてある地図があること。

1970年くらいの九州地方観光案内図。まだマイカーが普及していない(orまもない)ので、地図でかかれるものといえばほとんどが鉄道路線とかバスの路線図だった。別府から長崎までの横断道路だけ唯一マイカー用の道路として地図に記載されていた。

かなり満足したので地図好きにはかなりおすすめできるし、そうでなくても一度行ってみると面白いかもしれない。

7/26(金)

10時半起床。無料朝食を逃す。まあいいでしょう。2日分の服しか持ってきていなかったのでコインランドリーを回しつつ作業をしていると昼になったので昼飯を食べに外へ出る。博多駅前バスターミナルの牧のうどんへ。おすすめセット(肉うどん+ごぼう天+かしわ、だったと思う)を購入。美味しかったが、量が多い。麺が汁を吸いまくってるんだろうと思う。

牧のうどん

どこか行くかと思い、七隈線に乗車。9年前は博多駅まで七隈線はなかったがつい最近延伸されたという点で差分を感じる。六本松駅で下車し、友達に紹介してもらった珈琲美美へ。アイスコーヒーを注文。香りがよくてうまい。作業ばかりしていると頭がおかしくなってしまうので最近買った大規模言語モデルの本を読んでいた。

アイスコーヒー

そうこうしているといい時間になってきたので外へ出て、大濠公園を散策。真ん中の島歩いてる時にアブかハチかわからないがめっちゃまとわりついてきて困った。あと鳥。スワンボート。

大濠公園

博士号

大濠公園駅から地下鉄で祇園駅で下車し、ホテルにスマホの充電ケーブルを回収して、博多駅の中の居酒屋へ。高校同期が偶然福岡にいたのでお話しをする。数年ぶりとかに会うと面白い話が色々聞けていいですね。彼は医学部6年生で、来年からは研修医らしい。でも最近の興味は工学寄りっぽく、研修医終わってからそういうことを考えると修士からになるかもしれなくて年齢的な点で気になるところがあるとか、もし今大学受験するなら情報系受験するかもなとか言っていた(意訳なのでちょっと違うかも)。医学部排出者数日本一高校なだけあって医学部バイアスは確実にかかっていて、途中で医学部じゃない進路をとった人は何人も見ている。人生は難しいですね。

がんばれとエールを受け取ってお別れ。コンビニでコーヒーを買い、ホテルで作業をしつつVTuberの配信を見てて就寝。

7/27(土)

7時半起床。朝食をすませホテルを出る。午前の用事をすませてお昼に向かう。

まだ豚骨ラーメンを食べていなかったので博多一双へ。1年くらい豚骨ラーメンを食べてなかったが、久しぶりに食べるとうまいですね。くどすぎることもなくてよかった。(ランチセットB, 豚骨ラーメン+丼)

一双 Bセット

疲れたので適当に博多駅前のドトールに入って休憩。僕は散歩ということでとりあえずキャナルシティに行く。まあ特に買うものもないが。

キャナルシティ博多

そのまま天神方面へ。

天神中央公園

(どうでもいいんですけど、名古屋の笹島交差点と博多の渡辺通4丁目交差点めっちゃ似てませんか?)

www.google.co.jp

www.google.co.jp

バスに乗って福岡タワーに行きたいところだったが、バスにありえないくらい人が並んでいたので断念。地下鉄に乗って西新駅で下車。そこそこ歩いて福岡タワーへ。9年前より内装オシャレになった(当時の記憶ないけど)?暑すぎて服の汗がすごいことになっていたのでトイレで着替えさせていただいた。チケットを買ってタワーに登るわけだが、自分以外韓国人ばっかりで本当にびっくりした。日本人は見かけなかったような気がする。なんなら案内してる人にも韓国の方と思しき方もいたしね。釜山とのフェリーも出てた気がするので、韓国の人々にとってはかなり来やすい場所なんだろうなあとは思う。景色よりもこのことがかなり気になった。一応恋人の聖地みたいなことになっており、愛鍵なるものがあって指定のフェンスにそれをつけると恋愛成就することになっているが、意外とちゃんとしており、定期的に神社で良縁成就祈願をしているとのことだった。タワーを降りて、適当に海岸線を見て駅に戻る。

シーサイドももち

天神駅で再び下車し、これまた紹介してもらった天ぷら屋さんに行…こうとしたが、けっこう並んでおり、新幹線の時間に間に合わないと判断して断念。代わりにご当地うどんチェーン店の1つであるウエストへ(この旅行3度目のうどんであり香川にでも来たのかというような様相である)。かき揚げうどん+かしわにぎりを注文。これもまた結構量があった。コシのない優かなりしいうどん。(今回食べた3つのうどん店で比較すると、同じようなメニューで比較していないので必ずしも正確ではないが、 資さん < ウエスト < 牧の の順になっていると思う。)

エス

地下鉄空港線博多駅に戻る。お土産を買う。来週にいろんな人に会う予定が生えていたので適当に大量に購入。5kも買ってしまった。

新幹線ホームに入ると、自分の乗る列車の反対側ホームに博多南行きの新幹線が入線してきて、これが噂の新幹線だけど在来線のやつ!という気持ちになった。名古屋行き京都まで最終の新幹線に乗車して、ブログを書く。

のります

おりました

数式つきmarkdownをはてなブログに貼る時にどこを修正すればよいか

いつも忘れるのでここに書いておこう。自分はmathjaxをはてなブログのヘッダーに仕込んでいる。どなたか忘れたがググって出てきたものを使っているはず。

<script type="text/x-mathjax-config">
  MathJax.Hub.Config({
    tex2jax: {
      inlineMath: [['$','$'], ['\\(','\\)']],
      displayMath: [ ['$$','$$'], ["\\[","\\]"] ]
    }
  });
</script>

<script src='https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/latest.js?config=TeX-MML-AM_CHTML' async>
</script>

適当なmarkdownに数式を書いたものをはてなブログに貼ってもバグることが多い。不便すぎる。が、どこを治せばいいかは大体わかっている。基本的に次に貼るブログに一通り書いてある。

kmyk.github.io

あとここにも

th53439830.hatenablog.com

これを参考に、メモ程度に自分が必要だと思った範囲で下にどう治せばいいか列挙する。vscodeとかでmarkdownを編集した後、下にあるリストを順番に置換して、vscodeからはてなブログにコピペできるのが理想。置換を考えるときはそれぞれ前後にスペース を入れるのがいいと思う。

  • 下つき文字 $x _ i$ を書きたいときは x_i から x _ i のようにスペースをあける。したがって _␣_␣ に置換する。バグらない時もあるがこれをしておくと安心。
  • 上つき文字 $x ^ k$ を書きたいときも同様 x^k から x ^ kのようにスペースをあける。したがって ^␣^␣ に置換する。
  • 不等号 < >はhtmlと混同されるので < > をそれぞれ \ht \gt に置換する。
  • 波括弧 \{ \} はバグるので \{ \} をそれぞれ\lbrace \rbrace に置換する。
  • 角括弧 \[ \] もバグるので \[ \] をそれぞれ\lbrack \rbrack に置換する。
  • ノルム記号 $\lVert\cdot\rVert$ \| は左右それぞれ \lVert \rVert に置換する。正規表現を使えば \\\|.*?\\\|\\lVert $1 \\rVert とか?
  • アスタリスク * もバグるので \ast に置換する。
  • 行区切り(たとえば split 環境内での改行とか) \\\cr に置換する。
  • ギリシャ文字(たとえば \mu とか \sigma とか)は何故かうまく表示されないので直に μ とか σ とかに置換する。
  • \coloneqq\eqqcolon は使えないので適当に := とか =: を使うようにする。

あとは思いついたら追記します

数式レンダリングスマホからでも正しく見れるように有効にするには、はてなブログの設定→スマホのとこで、見た目をPC版と同じにする、みたいなやつにチェック入れれば良い、みたいなのをググって見つかったブログ記事には書いてあったが自分のスマホではそれにチェックを入れても見れなかった。なぜ?