2022読んだ本たち

数理系

  • 工学者のためのルベーグ積分関数解析入門
    図書館で借りて読んだ本,ルベーグ積分関数解析を勉強する事初めとして外観を掴むのにはちょうど良い本だった.
    あまり深く証明が書いてあるわけではないので別途専門書で深掘りする必要がある.あと絶版になっているので入手困難
  • 機械学習のための関数解析入門
    カーネル法関数解析の視点から理解しようとする本.事前知識がなくても射影定理,リースの表現定理まで丁寧な導出があるので読み進められる.
  • ベクトル解析30講
    ベクトル解析だけに留まらず,テンソル代数,多様体の導入まで幅広くカバーしている. グリーンの定理,ガウスの定理,ストークスの定理が全て外積代数を通して統一的に見れる説明が分かりやすかった.
  • ルベーグ積分30講
    集合と位相の基礎だけの前提知識で十分読み進めることができた.最後の4講くらいはむずかしかった.
  • Pythonで学ぶ制御工学
    学部生の時も制御の勉強をしたはずだったけど完全に忘れていたので再入門した.基本的には安定な力学系にするためにパラメータをどう選べば良いかという問題に帰着されるような印象をもったがよく分かっていないので南先生のyoutubeを見て復習したい.
  • リザバーコンピューティング(時系列パターン認識のための高速機械学習の理論とハードウェア)
    前々から積んでたので無事読了.
  • 測度・確率・ルベーグ積分
    ルベーグ積分の復習と公理的確率論への橋渡しとしてちょうどよい.
  • これならわかる機械学習入門
    最尤推定の説明でKL divergence使っていてAICの説明の流れがわかりやすい.あとCNNの畳み込みの説明でPDEの差分方程式とのアナロジーが出てきていてわかりやすい説明.
  • 手を動かして学ぶ集合と位相
    例題が多くて具体的なイメージがつきやすい.選択公理,可算公理あたりの自分の理解が怪しいのでまた戻ってみたい.
  • 「集合と位相をなぜ学ぶのか」
    集合位相論がどのように整備されていったかを歴史を踏まえながら解説されていて面白い.諸所の概念を導入するモチベーションみたいなのが書かれているので教科書読む前に導入として良さそう.
  • 固有値問題30講
    行列の話から入って有界線形作用素の話を通って非有界作用素の話までしてくれる.
  • 機械学習のための確立と統計
    確率統計分野を幅広く扱っていて赤本と相補的な内容になっている.特に確率不等式あたりの内容が充実していてよかった.
  • 非線形最適制御入門
    非線形制御だけでなくてLQ制御等解析的に解が求まる場合も書いてあって手を動かして理解しやすい.MPCあたり難しくて追いきれてないので後で読む.

プログラミング系

  • ゼロから作るディープラーニング
    ゼロからシリーズの強化学習編,年末年始に公開レビューが行われていたので参加して読破した.
    強化学習の枠組みすらよくわからない状態からのスタートだったが実装込みでかなり外観は掴めた.

  • ゼロから作るディープラーニング
    ゼロからシリーズのフレームワーク編,ゼロからPytorch likeな自動微分フレームワークを作るという内容.
    去年から読み進めていたもののかなりページ数が多かったので時間がかかった.

  • ゼロから作るディープラーニング
    ゼロからシリーズの自然言語編,統計ベースの手法からはじまり,word2vecやAttentionまでを網羅していてかなり読み応えがあった.
    ③を先に読んでいたので,自動微分ライブラリを使って実装できたのでこの順番で読んでよかった

  • 動かして学ぶVue.js
    かなり前にjsを勉強したきり忘却の彼方だったが無理なく読み進めることができた.フレームワークの使い方を一通りさらう感じ

  • React 実践の教科書
    図書館で借りて読了.TypeScriptとかまで幅広く書いてあって良い

  • Pythonではじめる数理最適化
    ずっと積んでいたが輪読会を機に読み切った. 最初から妥当なモデリングを示すのではなく愚直な実装から問題を指摘しながらインクリメンタルに数理モデルを改善していく書き方で実務でも役立ちそう.

  • web最適化ではじめる機械学習
    組合せ最適化,ベイズ推定,強化学習と幅広のトピックを扱っていてweb最適化における主要技術を一通り外観できる.
    ベイズ線形回帰からガウス過程回帰の説明がわかりやすかった.

読み物

  • 高次元を見る方法 (ブルーバックス)
    全体通して分かりやすいようにイメージを伝えてくれている.後半にかけて難しくなって背景知識がいなために,ふわっとしかわかった気になれなかった...

macでOracle VM VirtualBoxを動かしたい

概要

大学にてVirtual Boxを使ってCent OSを使う必要性があったので手元のmacにVirtual Boxを入れるまでの手順をメモ.
Virtual Boxが起動失敗するエラーが取れなかったのでできる限り詳しく手順を追いたいと思います.(2020/5月現在)

環境

Oracle VM Virtual Boxのインストール

まず,公式(https://www.virtualbox.org/wiki/Downloads)にアクセスし,Mac OS X用のインストーラーをダウンロードします.
dmgファイルを開き指示通りにインストールを行います. 途中セキュリティとプライバシの許可を求められるので許可し,再起動します.(これをしないとホストネットワークの追加ができずに後で大変なことになる) f:id:jhuimer:20210519011255p:plain f:id:jhuimer:20210519011300p:plain f:id:jhuimer:20210519011303p:plain 再起動後アプリを立ち上げると以下の画面が表示されます. f:id:jhuimer:20210519011324p:plain

⚠️ 日本語版サイトはバージョンが古いので注意が必要

f:id:jhuimer:20210519010940p:plain

Cent OS 7のダウンロード

公式サイト(https://www.notion.so/aa6fc1c8ed174d5ba5c5c49036371f42#a595a6e0fdb840c39d5ca4070e4c1a0c)にてCent OS のisoファイルのダウンロードを行います.

今回は大学の計算機に合わせてCent OS 7を選択,x86_64を選択後,適当なミラーサイトにてisoファイル(ver 7.9.2009)をダウンロードします.

f:id:jhuimer:20210519011309p:plainf:id:jhuimer:20210519011314p:plainf:id:jhuimer:20210519011317p:plain

仮想マシンの作成

Oracle VM Virtual Boxのアプリケーションを起動し,左上の ファイル>ホストネットワークマネージャー を選択した後,左上の追加ボタンを押しホストネットワークマネージャーを追加します. f:id:jhuimer:20210519011320p:plain 続いてアプリのホーム画面から新規をクリックしメモリやハードディスクの設定を行っていきます. f:id:jhuimer:20210519011324p:plain

さらに,作成したvirtual boxのネットワークの設定を行います.

ネットワークの設定項目を開きアダプター1に先ほど作成したホストオンリーアダプター,アダプター2にNATを割り当てます

f:id:jhuimer:20210519011331p:plain

Cent OS のインストール

最後に右側の設定画面から ストレージ>コントローラーIDE を選択し,先程ダウンロードしたCentOSのisoファイルを選択します. f:id:jhuimer:20210519011335p:plain

その後作成したCentOS7のvirtual boxを起動すると選択したisoファイルを元にインストールが開始され,初期設定画面に移るので自分の情報を登録します.

f:id:jhuimer:20210519011339p:plainf:id:jhuimer:20210519011344p:plainf:id:jhuimer:20210519011348p:plain

最後に再起動すると以下のようなCUIが立ち上がるので無事Oracle VM Virtual BoxでCent OS 7を起動することができます.

参考文献