閃 き

閃き- blog

きらびやかに、美しく、痛烈に.

Simon Wood先生の"lockdown reading list"

加法モデルのテキストで有名なイギリスの統計学者Simon Wood先生が,自身のホームページ上で,"the lockdown reading list"なるものを紹介していたので紹介します.(ほとんどがBlackwellの本です) Collapse (Jared Diamond) on how societies are destroye…

Pythonでポートフォリオ最適化(マーコビッツの平均分散モデル)

Pythonでbacktestする際のTipsをまとめたものです.面倒な前処理をさくっと終わらせてモデル作りに専念しましょう!という主旨です.記事では紹介していませんが,`pandas-datareader`でマクロデータもだいたい取れるので, 複数因子モデルなど,さまざまな…

Jupyter notebookの出力セルの大きさを無限にする

TL;DR 以下のマジックコマンド(Cell magic)をセルに入れて実行。 %%javascript IPython.OutputArea.auto_scroll_threshold = 9999; 注意:%matplotlib inlineのようなLine magicではないので,独立したセルを用意して実行しないとエラーが発生する.詳しく…

EMアルゴリズム

EM アルゴリズムは,不完全データに基づく統計モデル一般に適用される,最尤推定量を導出するためのアルゴリズムです. もともと,「不完全データ・完全データ」という概念は欠損データの問題に対処するために立てられましたが,定義を拡張…

2019上半期・買った本/読んだ本まとめ

2019年上半期に読んだ本。 新書・文庫本 話題・啓蒙 理工学 情報系 新書・文庫本 問題解決の心理学―人間の時代への発想 (中公新書 (757))作者: 安西祐一郎出版社/メーカー: 中央公論社発売日: 1985/03/23メディア: 新書購入: 7人 クリック: 23回この商品を含…

Ubuntu 16.04.6 LTS (GNU/Linux, x86_64) のGPUマシンの設定・TF1.13.1 / CUDA10.0 / cuDNN7.4.2

- 最終更新:2019/11/07 クリーンブートしたUbuntu16.04LTS マシンに,NVIDIA GPUを導入し,CuDA・cuDNNをセットアップしました. おもにtensorflow-gpuを使うためです.導入過程で色々とつまづいたので,得た知識をこのポストにまとめておきます. 実行環境…

ARMA Process(自己回帰移動平均過程)

このポストでは,時系列データに対する基本的なモデル,ARMA過程についてまとめます.画像はAmazon.comの株価推移です. MA(q)過程: Moving average process AR(p)過程: Autoregressive process ARMA(p,q)過程: Autoregressive moving average process 参考…

Johnson and Lindenstrauss Lemmaとその構成論的証明

JL-補題 構成論的証明 参考文献 ランダム行列理論(Random projection)の基本定理であるJohnson and Lindenstrauss Lemmaについて解説します. JL-補題は「変換前後でサンプル点どうしのユークリッド距離を変えない」ような関数 の存在を主張しており,これ…

機械学習でよく使う評価指標まとめ

このポストでは,機械学習でよく使われる評価指標を,回帰・分類に分けて整理します.また,各評価指標の定義だけではなく,その性質や使用上の注意点などにも言及しました.なお,"網羅性"を過度に追求して,世にある評価指標を片っ端からリストアップする…

Markdownエディタ "Typora" の紹介とショートカット [macOS Mojave 10.14.4]

Typoraの紹介 ダウンロード ショートカット (Mac OS) カーソル操作 フォーマットの挿入 ファイル操作 Typoraの紹介 Typoraは,高機能&シンプルなMarkdownエディタです.最大の特徴は,Markdownコードを書くと,エディタ上で即座にレンダリングされ,インタ…

Donsker-Varadhan representation(DV下限)

定理(DV表現) 連続確率変数 に対して,確率密度関数 が定義されているとき,以下の関係式が成り立ちます.この式を,Donsker-Varadhan representation*1といい,右辺をDV下限と言います. $$ \mathbb{D}_{KL}(q || p) = \underset{T: X \to \mathbb{R} }{\…

Numpyでカーネル回帰

カーネル法は,非線形データ解析に対する強力な武器です.ソフトマージンSVM・ガウス過程・クラスタリングなどのアルゴリズムの基本要素として頻出します.このポストでは,カーネル法を使って回帰問題を解く手続きを,Pythonで再現してみました. ※ なお,…

AICの導出:平均対数尤度の摂動を近似する

1. 確率モデルとKL情報量 2. パラメトリックモデルを考える 3. バイアスの不偏推定量を求める 3.1 Dを分解する. 3.2 バイアスの推定量(Dの漸近推定量) 3.3 2つの重要な行列 4.AICの導出 このポストでは,赤池情報量規準(AIC, Akaike Information Criterio…

PAC学習と計算論的学習理論(Computatinonal Learning Theory)の文献まとめ

PAC学習 (Probability Approximately Correct learning) とは、イギリスの理論計算機科学者 Leslie Valiant が1984年に以下の論文で初めて提唱した概念で、計算機科学の分野でそれまで研究されていた一般的な計算アルゴリズムの効率性・複雑性に対して、学習…

最尤推定量とワルド検定・スコア検定・尤度比検定

1. パラメータの尤もらしさに関する統計的仮説検定 1.1 ワルド検定(Wald test) 1.2 スコア検定(Score test) 1.3 尤度比検定(Likelihood ratio test) 2. KL-divergenceとFischer情報量の関係 2.1 スコア関数とFischer情報量の定義 2.2 KL-divergence 3.…

ガウス過程と回帰モデル(線形~線形基底~ガウス過程)

1. ガウス過程(GP, Gaussian Process) 1.1 ガウス分布の共役性 1.2 ガウス分布の切断と周辺化 1.3 ガウス過程の定義 2. さまざまな回帰モデルの比較 2.1 回帰問題とは? 2.2 線形回帰モデル 2.2.1 線形回帰モデルの準備 2.2.2 線形回帰モデルのベイズ的解…

指数分布とワイブル分布をPythonでプロットしてみる

1. 前提 1.1 確率分布の定義 1. 2 指数分布とワイブル分布の関係 2. Pythonによる実装 2.1 指数分布 2.2 ワイブル分布 生存時間解析など、応用範囲の広い指数分布についてまとめます。指数型分布族の仲間としては、ワイブル分布・ガンマ分布の他にも、ポアソ…

Kullback-Leibler Divergenceについてまとめる

1. KL-divergenceとは? 1.1 定義 1.2 基本的な性質 1.3 KL-divergenceは距離なのか? 2. 諸量との関係 2.1 KL-divergenceと相互情報量 2.2 KL-divergenceと対数尤度比 2.3 KL-divergenceとFisher情報量 3. 参考書籍 !! お知らせ(2020.06.10) * こちらの記…

最尤推定・MAP推定・ベイズ推定を比較する

1. 推定のモチベーション 2. 最尤推定(ML) 2.1 パラメータ の対数尤度 2.2 パラメータの推定(最尤推定量) 3. 事後確率最大化推定(MAP) 3.1 パラメータ の事後確率 3.2 パラメータの推定(MAP推定量) 4. ベイズ推定(Bayse) 4.1 パラメータ の平均対…

確率変数に関する4つの「収束概念」

1. 確率収束 : convergence in probability 2. p次平均収束 : convergence in mean 3. 分布収束(法則収束): convergence in distribution (law) 4. 概収束 : almost sure convergence 参考文献 確率変数の収束(Convergence of random variables) につい…

ベイズ推定の流れをまとめる(尤もらしさと不確実性)

ベイズ推定とは? 1. 事後分布 2. 予測分布 3. 損失関数 4. 誤差関数 5. 汎化損失・経験損失 ベイズ推定とは? ベイズ推定の目的と主眼をまとめると、次のようになります。 ベイズ推定の目的 確率変数 の真の分布 を、予測分布 で推定する。 また、推定プロ…

統計的仮説検定をていねいに解説する

1. 推測統計学の概念・用語 1.1. 推測統計学とそのモチベーション 1.2. 概念・用語の定義 2. 統計的仮説検定 2.1. 母数と標本 2.2. 仮説と検定 2.3. 有意水準 , P値 3. 正規母集団についての仮説検定 3.1. 1標本の正規母集団 3.1.1. 母平均 の検定(母分散 …

Keras/Tensorflow : CIFAR-10のMobileNetV2-likeなアーキテクチャを作った

MobilenetV2-残差ブロックの構造 0. 前提 1. 動作環境 2. プログラム import_CIFAR-10.py mobilenetv2.py main.py 3. 学習結果 0. 前提MobileNetV2は、2018/04にGoogleのMark Sandlerらによって発表された論文:"MobileNetV2: Inverted Residuals and Linear…

Keras/Tensorflow : CIFAR-10のVGG-likeなアーキテクチャを作った.

VGG1. 動作環境OS: Ubuntu 16.04 Package Version ------------------- ------- python 3.5.0 tensorboard 1.9.0 tensorflow 1.9.0 h5py 2.8.0 Keras 2.2.2 Keras-Applications 1.0.4 Keras-Preprocessing 1.0.2 2. プログラム import os import numpy as np…

Optimal Brain Damage : 局所二次近似と極値判定(凸関数, 勾配, ヘッセ行列)

1. 背景 2. 準備:凸関数とテイラー展開 2. 1. 凸関数 2. 2. 勾配 - Gradient 2. 3. ヘッセ行列 - Hessian Matrix 2. 4. テイラー展開による2次の近似 3. 局所二次近似 4. 極値判定 参考 このポストでは,ニューラルネットワークモデルにおける「パラメータ…

Javaで文字列として使える物理フォント一覧を表示させる方法

java.awt.GraphicsEnvironmentクラスにある getLocalGraphicsEnvironment().getAllFonts();メソッドを使う。GraphicsEnvironment (Java Platform SE 8)・コードサンプル import java.awt.Font; import java.awt.GraphicsEnvironment; public class Main { pu…

Google TF Object Detection API : SSD (Single Shot MultiBox Detector) - MobileNetV1 (with MS COCO)をローカル環境で動かす方法

1. はじめに 1.1 論文リンク 1.2 Githubの公式ページ 2. APIが要求するライブラリをローカル環境にインストールする 3. Githubから必要なファイルをダウンロード 3.1 Configファイル(JSON形式)のダウンロード 3.2 モデルの学習済み特徴量のダウンロード 3.3 …

Tensorflow : MNISTを小規模なCNNで解いてみる

1.プログラム 2.ログ(コンソール画面) TensorFlowの練習がてら。 分類精度(accuracy)は98.9%The simple implementation in python 3.6.6 with Tensorflow 1.9.0. 1.プログラム # coding: utf-8 import tensorflow as tf from tensorflow.contrib.learn.pytho…

コマンドラインで .ipynb → .python

the command for converting to python file>: jupyter nbconvert --to python ファイル名.ipynb

正則行列と正規行列(ムーア・ペンローズ逆行列, エルミート行列, ユニタリー行列)

N×Nの正方行列: について考える。 1. 正則行列 以下の命題は同値である。※ を満たす写像 を、 次行列 に対応する1次変換とする。 行列 は正則行列である。 行列 に対して、 を満たす逆行列 が存在する 行列 に対して、行列式 である。 行列 に対して、 であ…