The jonki

呼ばれて飛び出てじょじょじょじょーんき

2021年にやってよかった技術書(数学,機械学習関連)と読書習慣について

今年もこの季節... www.jonki.net

今年は子供も生まれて本を読む時間もないか...と思いましたが,時間的制約が加わることでむしろ例年より読んだかなという気がします(それでも多くはないんですが). でも継続的に読むという習慣はできた気がします.

個人的に良かった読書習慣のコツ

  • ちょっとずつで良いので毎日同じ本を読む(ただし体調不良のときはちゃんと休む).
  • 読むページ数は安定している方が良い(一気に読もうとしない.ページ数は本の難易度に合わせて調整すれば良い).
  • 習慣記録系のアプリを使わない.連続読書記録を作ることが目標でないし,記録が切れると燃え尽きて戻れない可能性がある.
  • 同時に読む本は1冊で良い.増やすならいずれもバランス良く読む.
  • 紙媒体で読んだほうが読み進めるほどに達成感が増して良い.
  • 本の評価が高くても自分に合わないと感じたら無理せず諦める(大丈夫,他にも良い本はいっぱいある).

以下いくつか読んだ中でおすすめしたい本だけ紹介します.正直ほとんど有名な本なので特に新しい情報はないですが.

ストラング:線形代数イントロダクション + MIT 18.06 Linear Algebra, Spring 2005

線形代数まるでわからん状態が続いていたので,色々読み漁った結果これが良いと判断しました.巷には色々教材が溢れていますが,小手先の計算テクニックとかでなく,体系的に学ぼうとするならこのGilbert Strang先生のMITの授業が無料で公開されていて内容は素晴らしいと思います. ちなみに第1回の講義は87万回再生されていて,一番少ない回でも5万回程度あるので数万人が通しで見ているんだと思います. 動画見て頂くと分かるんですが,Andrew Ng先生とはまた異なる形で引き込まれる授業です.具体的な事例に対して自問自答して解き明かしていく形でかなり分かりやすいです.英語も字幕が丁寧についていますし,先生の英語はかなり聞き取りやすいです. ちなみに書籍の方は600ページを超える鈍器なのですが,一般的な数学の教科書というよりは,授業のライブ感をうまく書籍に対応させたものになっています.動画をいくつか見る→本の対応するところを見る,という形で進めていくと読みやすいと思います. 部分空間に対する重きの置き方など,この授業はよくある線形代数の教え方とは異なる視点で授業を展開している気がします.なので書籍だけを読んで勉強する場合は若干とっつきづらいかもしれません.ただ翻訳書にありがちな直訳英語は特に感じず,脳内でストラング先生が喋ってる声が聞こえるぐらい邦版は素晴らしい出来だと思います.また100ページ以上は問題演習なのも面白いです.個人的には全部やりたいと思いつつ,まじめに100%読もうとして途中で頓挫するのも嫌だったので,練習問題は飛ばして例題までにして読むようにしました.かなり分厚い本ですが,見た目ほど苦労はせず読める本だと思います.

www.youtube.com

ちなみに同じくストラング先生の18.065というデータ分析向けの授業(2018年)も公開されているので次はこれを見ようと思っています.日本語版の書籍も今年の10月に出たばかりのようですね.

これなら分かる最適化数学,金谷健一

昔買って積読していたのですが,数学力上げたくて読み始めました.極値と勾配,最小2乗法,最尤推定など全般的に事例と説明が秀逸でした.学部の頃に読んでおきたかった超絶良書です.Andrew Ng先生のCS229に近いカバー範囲だと思いますし,いわゆる機械学習に関する数学力を上げたいのであれば今回紹介する中では間違いなく一番オススメです.

これなら分かる応用数学教室,金谷健一

上述の金谷先生の本がめちゃくちゃ良かったので同じく積読していたこの本も読みました.最適化数学と被るところもありますが,フーリエ変換固有値問題が追加・充実していてよいです.何より同じ著者なので説明方法や式展開の癖が同じなので連続して読みたいところ.

情報理論のエッセンス,平田廣則

マシンラーニング系の論文などを読んでいるとエントロピーの話がよく出てきます.情報の数量化,つまり情報量に関する知識は一度振り返ってもよいかなと思い読みました.後半は符号化の話などが多くなってきますが前半だけでも読む価値はあると思います.今回紹介する本の中では一番サクッと読める本です.

続・わかりやすいパターン認識教師なし学習入門―,石井 健一郎, 上田 修功

これも積読していた有名本です.ひたすらサイコロを振ってその過程をベイズで捉えていた気がします笑.須山さんのベイズ本等と合わせてこの本を読んでも良いかもしれません.個人的にはHMM,EMアルゴリズム,前向き・後ろ向きアルゴリズムあたりの説明がかなりしっかりしている本でした.私の中で殿堂入りしている高村先生の「言語処理のための機械学習入門」でも言語ドメインにおけるこのあたりの説明があるのですが,この本ではそれを一般化して説明しており,合わせて読みたいところです.

まとめ

以上,前年度に続いて基礎的なところが多かったなという印象です.ほぼ毎日本読む習慣ができたのも良かったですね.ただ本を読むときは紙とペンを持って自分でも手を動かして確認することが大事なんですが,結構サボった気がします.来年はもうちょっと丁寧に読んでいきたい. ちなみにストラング先生の授業,学部向けで2005年なんですが,私もこの頃大学1年生なので感慨深いものがありました(線形代数の授業を何も覚えていない悲).

2021年に買ってよかったもの(在宅勤務に役立つガジェットや日用品編)

今年もこの季節... 今年は子供も生まれて中々に刺激的な一年でした.仕事は相変わらず在宅勤務で特に不満なく働けました.技術書編は別記事ですぐに出す予定です.

www.jonki.net

在宅勤務のお供

モノクロのレーザープリンターです.職業柄,論文を印刷することが多くあるのですが,家でも安くきれいに論文を印刷したいなと思い購入しました. インクジェットと異なりレーザープリンターなので文書がきれいに印刷できます.両面印刷も自動で早いのに1万円ちょっとはかなり安いと思いました.こういうのはトナー商売なので公式なトナーは高いのですが,怪しい安い互換品でもまったく問題なかったです.バッテリーの互換品は事故が怖いですが,インクトナーはまぁ良いかなと思いました. ちなみにレーザープリンターをカラー対応にすると一気に高くなるのですが,私が読む論文で色を多用する場合ってあまりないですし,PCと合わせて論文を読むのでモノクロでまったく問題ないです.早く買えばよかったです.

有線タイプのヘッドセットを使ってましたが,ケーブルが煩わしいので無線版に.BluetoothでなくUSBのワイヤレス子機と合わせて使うタイプなので安定していると思います.気が向いたときに充電するだけで良いので楽ちんです.特に音質に関しては有線版と大差なかったです.

リビングの作業机として買いました.手動ですが机の高さが買えられて良いです.仕事の時以外はリビングにいるときが多くなったので,子供を見つつちょっと作業,みたいなことに便利です.また足にM8ネジの適当なキャスターをつけることで移動が楽になります.

これは夏に活躍したものですが,私は夏はひたすらペットボトルの炭酸水を飲んでいます.夏だとペットボトルがビショビショになり温度もすぐ下がるのでこのケースを入れてずっと飲んでました.冷やさが長引くしビショビショにならないのはナイス.

ずっと欲しかった加湿器です.昨今,いろいろなタイプの加湿器がありますが,どれも威力が弱かったり,衛生的に不安がありますが,これはただの電気ポットで電気料金以外の不安はまったくないです.湯気もホワホワでてしっかり加湿されます.乾燥は体調も悪くなるので毎日活躍してもらっています.

エアコンの風って乾燥するし嫌いなのですが,オイルヒーターは純粋にその場を風無しであっためる優れものです.時間はかかりますが,在宅勤務の部屋に1つ置いて付けっぱなしにしています.これをするとエアコンを使うことなく,部屋が暖かくなり快適でおすすめです.こちらも電気を喰うタイプのものですが,お金でこの辺は解決したい.

CO2モニターです.M5 Stackを使って自作もしてましたが,実運用ではちゃんとしたメーカーの買ったほうが安心感があり結局こちら.怪しい中華メーカーのものが多い中で安心感ある商品だと思います.部屋を締め切ってるとすぐに赤いランプが点灯するので換気を良くするようになりました.

チョコ.いまお菓子って高いですよね.在宅でひたすら何か食べているので,業務用チョコをひたすら食べています.至って普通のどこにでもあるチョコの味ですが,味音痴なので全然これで満足しています.安い.

日用品

布団乾燥機.以前持っていたものは親にあげてしまったので再度購入.寝るときに布団が冷たくてしばらく不快なのが,これで一気に解決.感覚としてはお風呂に入るぐらいな気持ちよさに似てます.今はふとん乾燥機も小さくて良いですね.

味噌汁.これも楽ちんシリーズ.いつも同じ味だと飽きるので,具材と味噌が自分好みで選べて楽しい.これも安い.

水筒.冬のちょっとしたお出かけのときなどに活躍.わざわざペットボトル買ってたんですが,これにしてからは家で入れたお茶を持ち運んでます.

トートバッグ.子供と出かけることが多くなり,買い物した際などにそのままなんでも突っ込めるので便利です.

ガジェット

こちら高いんですが,AirPods proも未だ現役なので購入.充電がスッキリと楽になりました.

掃除ロボットは半信半疑だったのですが,子育てであまり余裕がなくなってきたので購入しましたが大正解.マッピング機能もあり我が家の部屋すべてを正確に認識していて驚きました.掃除も人より丁寧なのでゴミももっさり取れます.

食洗機も導入.在宅勤務で洗い物も増えたので購入.アメリカにいたころもあったのですが,やはり子供がいると時間が惜しいので,食洗機あるだけでかなり助かります.一日2回がっつり動いています.これも人より丁寧できれいになる笑

40mmという絶妙な焦点距離,近接24cm,361gという軽さ,そして圧倒的な描写力... Alpha 7Cに基本的にずっと付けて子供撮ってます.お高いですが,かなり万能なレンズで使い勝手がよいです.

Macbook Pro 2017 15-inch,Macbook Air 2019 13-inchを持っていましたが,売り払ってApple Siliconの世界にやってきました.夏になるといつもアツアツのMacbookでしたが,M1 proはヒヤヒヤなのが一番気に入っています.これで重いコーディングをすることもなく,iMovieが一番重い処理ぐらいなので,メモリ16 GBのSSD 1TBにしましたが満足しています.ガッツリ開発やビデオ編集等に使いたい人はメモリ32GB〜でも良いかなと思いますが,お値段と電力消費は上がるのでそのへんの見極めは悩みどころかもしれません.iMovieで4Kの動画を編集しましたがほんのり温かくなる程度で早く書き出しできたのは感動.

iPhone 11からiPhone 13 miniに乗り換えました.小さい画面でも十分に使えるしMagsafeが便利なのでMagsafeだけ目当てで買い替えても良いと思いました.

私はスマフォは指を引っ掛けるタイプでないと不安なのでQi充電とずっと相性が悪かったのですが,MagsafeになったことでPopSocketもMagsafe化して取り外しが便利になりました.磁力も強いので安心.

明日は技術書などを共有します.

Kindleでコンピューター・ITの50%オフやってるので個人的に興味ある本をまとめた

Amazonが粋なことやってました.9/2までです. 相当な量がセール中なのですが,私がこれまで読んで面白かった本や面白そうな本を載せました.

コンピュータの仕組み

名著と名高い本.技術書でもあるが面白いブログ読んでる感じ.必要知識もオームの法則ぐらいです.

みんな持ってるパタヘネ本.みんな読んだか?パタヘネ本.内容は面白いが長い.

パタヘネ本が長いという方はこちらでも.

結城先生の面白そうな本.買ってみた.

絶対面白いやつ.この辺が詳しいとおじさんと仲良くなれる.

プログラミング

C++もう何年も書いてない...すべて忘れたあなた(私)に.

雰囲気でDockerをやっている.そんな私に.

雰囲気でPandasをやっている.そんな私に.

アルゴリズム

アルゴリズムに興味ないという人が興味を持つきっかけになりそうな本.かなり面白い.

アルゴリズム勉強する人がまず最初に見たほうが良いと思う本.今でもたまに見る.

グラフ大事.読んだことないが評判良いので買ってみた.

NLP

Graham先生のスーパーわかりやすいNLP入門の資料.まず最初に読みたい.

工藤さんの形態素解析本.形態素解析したい人はこの本しかない.

DNN,BERT登場以前っぽいけど,実務でDNN使える場面そんなないし,古典も大切.

IBM→PFNの丸山さんの本.エッセイ風なのでやる気がでないときに良い.

HHKB Professional Hybrid Type-S使いがKeychron K2触ってみた

今更ですがKeychron K2というメカニカルキーボードを買いました.HHKB Hybrid Type Sを使っていましたが,気分転換に買ったらなかなか良かったので比較しつつレビューします. 比較ブログなどはすでに多いのですが,自分が感じた特徴を書いておきます.私(ソフトウェアエンジニア)の環境の要求としてはこんな感じです.

  • 仕事はWindowsとPrivateでMac,両方同じ場所で切り替えて使えるようにしたい.
  • 無線でつなげたい.
  • タイプしていて気持ちいい.

f:id:jonki:20210822170451j:plain

購入

最近,日本でも代理店での取り扱いが始まったようです. アルミフレームでRGBのLEDが付いてるフルフルモデルです. ただ本家と比べると倍近い値段がするので,送料込みでも本家で買った方が安いですね.クーポン適用などもあるので買う際は探したほうが良いです.

Keychron K2 Wireless Mechanical Keyboard for Mac and Windows

私の場合,パームレストと送料いれてもこんなもんでした.発送も注文から1週間してないぐらいだったと思います.

f:id:jonki:20210822170914p:plain
明細

HHKBとの比較

HHKB Professional HYBRID Type Sとの比較して行こうと思います. f:id:jonki:20210822170240j:plain

Keychron K2の方が良いと思った点(良いと思った順)

  • バッテリーがリチウムイオンで充電できる.

    • HHKB Hybrid最大の弱点は単三電池の採用だと思っています.静電容量式であるためスタンバイから復帰するためには電源ボタンを長押しする必要がありとても面倒です.かといって常時オンモードにすると電池が1ヶ月で切れます.K2はリチウムイオン形式なので,机に転がっているUSB-Cで適当なタイミングでいつでも充電できるので便利です.10年後もこのキーボードを使うなら単三電池の方が良いかもしれませんが,たぶん違うの使ってるのでリチウムイオン方式が実用的です.
  • キー数が多い

    • キー数は少ないほうが玄人感は強いのですが,やっぱりHHKBは少なすぎです.デバッグIMEでファンクションキーをよく使うので,独立していないキーの入力はとても面倒です.またカーソルキーも,例えばWinキー+矢印,のようなショートカットはHHKBでは3つのキーを押す必要がありタルいです.キーマップをカスタマイズするというのも手ですが,最近はデフォルト設定厨になっているのでこういうカスタムはなるべくしたくありません.
  • 切り替えキーの独立

    • Win/Macの切り替えキー(Win-Alt / Cmd-Optの位置を入れ替えられる)及びUSB or Bluetooth接続の切替キーが,側部に独立している.ショートカットキーや再起動が必要で面倒なDIPキーより便利です.ただOSの切替をしない人には響かないですね.
  • Bluetooth接続切替のストレスが少ない

    • 私のHHKBはHybridなのでBTに対応していますが,接続切替にたまに失敗します.またキーを押し間違えた際も,異なるモードから脱出するのに時間がかかったりと,正直出来は微妙でした.Keychron K2を買って毎日BT切替を行っていますが,問題なく行えています.また接続切替もKeychronの方が若干早い気がしています.
  • LEDが気持ちいい

    • フルカラーLEDがガチャガチャしてて,最初はいらないと思ったんですが意外と気分転換になります.無駄にLEDアニメーションを切り替えるボタンキーも付いているので,変化させて遊んでいます.あと地味に便利だと思ったのが,BTの接続切替にFn+1,2,3を押すのですが,数字キーが点滅→点灯と,接続のステータスがわかるのはとても良いです.
  • 安い

    • HHKBの1/3程度のお値段なのは見過ごせません.

HHKB の方が良いと思った点

  • キーマップ変更の純正アプリがある

    • HHKB Professionalシリーズには純正のキーマップ変更ツールが公開されています.Keychronはこういうものはなく,それぞれサードパーティのソフトを使ってねということです.キーマップの変更はソフトウェアレベルでなく,ハードウェアレベルで行ったほうが不具合も少ないので,この点HHKBは優れていると言えます.
  • キーサーフェス

    • K2というかKeychronのキーサーフェスはすごいツルツルしているのに対して,HHKBはエンボス加工というか表面に非常に細かいツブツブがありサラサラしています.手汗が多い人はK2だと指とキーとの摩擦がそれなりに発生しそうで,好みが分かれそうです.私個人的にはHHKBのサラサラしてるほうが引っかかりもなくて好きです.K2も慣れましたが.

人によって好みは分かれると思った点

  • サイズ

    • K2はHHKBと比べて,列と行が1つずつ増えているため大きいです.ただ机の上に置いてしまうと正直どちらも大差ないかなと感じています.個人的にはこのキー数が一番使いやすいです.似たところでいうとThinkpad Keyboardも好みです.
  • 重さ

    • HHKBは540gに対して,Keychron K2 アルミフレームは985g.そうめっちゃ重いです.持ち運びをしないのであればむしろ重いのは好ましいんですけどね.
  • 打鍵感

    • これはそもそも静電容量式とメカニカルでまったくの別物です.HHKBの独特なスコスコ感はやはり癖になります.K2で今回は赤軸を選びましたが,キータッチが軽いので私はこれも好きです.
  • 静音性

    • これはどちらも甲乙つけ難いです.普通に叩く分にはKeychronの赤軸は普通の赤軸同様,それなりに高いカチャカチャ音がでます.HHKBはType Sを使っているので静かではありますが,コトコト低く響く音なのでどちらも深夜とかにはちょっと気を使います.その点では赤軸のほうが押し切る必要がない分,音を抑えた打鍵ができるかもしませんね.

Keychronの残念だったところ

  • 一緒に買ったパームレスト
    • キーボードではなくパームレストです.木製のパームレストなのですがちょっと歪んでいて置くとガタガタします笑.Youtubeに上がってるレビュー動画でも同様の報告を見ました.Keychronのサポートに文句をいったところ,新品を送ってくれましたが,新しい方もちょっとガタガタします.実用上は問題ないのですが,A型の私は気になるところ.購入を検討されてる方は注意してください.

まとめ

Keychron K2を買ったので,HHKB Professional Hybrid Type-Sと比較レビューを投稿しました.HHKBの良い点をなかなか上げていませんが,あの打鍵感は大好きではあるのでHHKBも未だに好きなキーボードではあります.なので気分でまた使います.それまではしばらくメカニカル生活を楽しみます.それでは.

イラストで分かるNetwork Simplex

先日, 0x-seminar - [0x03] 最適輸送の情報科学における進展 というセミナーがあり,最適輸送について熱い2日があったらしいです.私はセミナーの存在を知らず,後からスライドを見ました.

1日目の資料は横井さんの資料で,そもそも最適輸送ってなんなの?とかNLPと絡めてこんな研究あるよ!っと色々とリンクが貼られていて勉強になりました.

2日目の佐藤さんの資料では,直感的な理解を重要視しつつ,最適輸送の問題をきっちりと定式化していて非常に勉強になりました.270ページぐらいあるのですが,すべて見る価値アリです.

その中でNetwork Simplexという最適輸送における主問題(輸送量のマトリックスを求める)を解く方法を最初に説明しています.Network Simplex法の解き方を誤解を恐れず簡単に言うと,適当な解から初めて違反的な辺がなくなるまで反復的に修正していく手法です.この修正により目的関数は広義単調減少(ゼロ改善もある)です.

なんとなくイメージはできたものの,具体的にどう解けていくのか確かめていくべく自分で問いてみました. 実例と解き方に関しては,Transportation Problem: Balancing | by Rodion Chachura | Medium の事例を参考にしました.この記事はpythonコード付きで分かりやすいです. この記事をざっと眺めた後,以下のスライドを1枚ずつめくっていくとあら不思議,なんとなくわかると思います.

speakerdeck.com