はしくれエンジニアもどきのメモ

情報系技術・哲学・デザインなどの勉強メモ・備忘録です。

t分布のパラメータをEMアルゴリズムで推定する

t分布のパラメータをEMアルゴリズムで推定する t分布のパラメータをEMアルゴリズムで推定するメモ. 計算する値が多いのでまとめておく. 平均$\vec{\mu}$, 分散 は解析的に求まる. ただし,自由度$\nu$は求まらないのでグリッドサーチ,ランダムサーチ,他…

t分布が平均が同じ正規分布の無限混合分布であることをシミュレーションする

t分布が平均が同じ正規分布の無限混合分布であることをシミュレーションする 厳密には,t分布は,平均が同じ,分散がガンマ分布に従うスケールパラメータ$h$でスケールされた での正規分布で hをすべての範囲(無限)について足し合わせた(積分した)混合分…

EMアルゴリズムで混合正規分布(MoG)のパラメータを導出

EMアルゴリズムで混合正規分布(MoG)のパラメータを導出 EMアルゴリズムで混合正規分布(MoG)のパラメータを求めるメモ. 参考: Udemyの「ベイズ推定とグラフィカルモデル:コンピュータビジョン基礎1 54. Gaussian Mixture Model 混合正規分布」 テキスト:"…

ベクトル・行列の微分メモ

ベクトル・行列の微分メモ 確率・統計・グラフィカルモデリング・機械学習あたりに出てきそうなベクトル・行列の微分のメモ 随時追加予定 参考: https://www.ics.uci.edu/~welling/teaching/KernelsICS273B/MatrixCookBook.pdf MathJax.Hub.Config({ tex2ja…

多次元正規分布の周辺分布と条件付分布を計算する

多次元正規分布の周辺分布と条件付分布を計算する 多次元正規分布の周辺分布と条件付分布もまた正規分布になる. そのときのパラメータ(平均,分散)を導出する. D次元正規分布に従う確率変数ベクトルを$\vec{x}$, 平均ベクトルを$\vec{\mu}$, 共分散行列…

2つの正規分布の密度(pdf)の積から導出できる正規分布

2つの正規分布の密度(pdf)の積から導出できる正規分布 正規分布の積もまた正規分布になるので,その正規分布のパラメータ(平均,分散)を導出する. (なお,確率変数の積ではない) 参考: Udemyの「ベイズ推定とグラフィカルモデル:コンピュータビジョン…

正規逆ガンマ分布の事後分布のパラメータ更新式と予測分布の導出

正規逆ガンマ分布の事後分布のパラメータ更新式と予測分布の導出 Udemyの「ベイズ推定とグラフィカルモデル:コンピュータビジョン基礎1」(テキスト:"Computer vision: models, learning and inference" by Simon Prince)で, 事後分布のパラメータ式のみ…

正規逆ガンマ分布の確率密度関数の導出・可視化・サンプリング

正規逆ガンマ分布の確率密度関数の導出・可視化・サンプリング Udemyの「ベイズ推定とグラフィカルモデル:コンピュータビジョン基礎1」の授業で, ベイズ統計で正規分布のパラメータの分布に使われる正規逆ガンマ分布の紹介があったので,導出と可視化のメ…

正規逆ガンマ分布の分散についての積分からt分布を導出

正規逆ガンマ分布の分散についての積分からt分布を導出 MathJax.Hub.Config({ tex2jax: { inlineMath: [['$','$'], ['\\(','\\)']], displayMath: [ ['$$','$$'], ["\\[","\\]"] ] } }); 補題的な内容,何とか導出できたのでメモ. この補題は,ベイズ統計で…

k-meansクラスタリング実装メモ

k-meansクラスタリング実装メモ k-meansクラスタリングを実装してみたのでメモ. gist: k-means clustering · GitHub k-meansクラスタリング実装メモ k-meansクラスタリングのアルゴリズム 実装・コード test 2次元標準正規分布をクラスタリング 参考文献・…

不等式制約条件におけるLagrangeの未定乗数法の考え方

不等式制約条件におけるLagrangeの未定乗数法の考え方 特に,不等式制約条件におけるLagrangeの未定乗数法の考え方のメモ. 参考資料: 第4回 不等式制約条件の場合の未定乗数法 · levelfour/machine-learning-2014 Wiki · GitHub MathJax.Hub.Config({ tex2…

偏相関係数の導出メモ

偏相関係数の導出メモ github: https://github.com/Cartman0/MultivariateAnalysis/blob/master/PartialCorrelationCoefficient_%E5%81%8F%E7%9B%B8%E9%96%A2%E4%BF%82%E6%95%B0%E3%81%AE%E5%B0%8E%E5%87%BA.ipynb 偏相関係数の導出方法のメモ. 参考資料: …

ABO遺伝子型の次世代分布をマルコフ推移でみる

ABO遺伝子型の次世代分布をマルコフ推移でみる ABO遺伝子型(AA, AO, BB, BO, AB, OO)の次世代分布をマルコフ推移させて, マルコフ定常するのか発散するのかをシミュレーションしてみる. きっかけとしては,日本だとBB型の人は3%しかいなく,単純に世代を繰…

cos類似度の次元の呪い

cos類似度の次元の呪い 元ネタはこちらの記事 コサイン類似度が高いベクトルはどれくらい似ているか(岩波データサイエンス刊行イベントより) - 木曜不足. cos類似度は計算しやすいので,言語処理界隈では単語ベクトルや画像理処理界隈ではヒストグラムをベ…

2つのヒストグラムからKL情報量を計算する

2つのヒストグラムからKL情報量を計算する MathJax.Hub.Config({ tex2jax: { inlineMath: [['$','$'], ['\\(','\\)']], displayMath: [ ['$$','$$'], ["\\[","\\]"] ] } }); 2つの確率密度関数からKL情報量を計算できるなら, (経験的)ヒストグラム密度か…

逆誤差伝播法(バックプロパゲーション)で関数の微分値を求める

逆誤差伝播法(バックプロパゲーション)で関数の微分値を求める MathJax.Hub.Config({ tex2jax: { inlineMath: [['$','$'], ['\\(','\\)']], displayMath: [ ['$$','$$'], ["\\[","\\]"] ] } }); TheanoやPytorchのforward関数やbackward関数がどういう計算…

正規分布間のKL情報量を計算する

正規分布間のKL情報量を計算する MathJax.Hub.Config({ tex2jax: { inlineMath: [['$','$'], ['\\(','\\)']], displayMath: [ ['$$','$$'], ["\\[","\\]"] ] } }); gist: 正規分布間のKL情報量 · GitHub KL情報量が1や2といったときに,どのくらいの大きさか…

はてなブログ(markdown記法)で数式を書くメモ

はてなブログ(markdown記法)で数式を書くメモ mathjaxを使って,通常のmd,htmlで数式が問題なく表示されてもはてなブログのほうにコピペしてみると以下の問題が絡み合って表示されないことがある. markdownの記号がバッティングする問題 はてなブログ記法…

ごっちゃになりやすい排反と統計的独立のメモ

ごっちゃになりやすい排反と統計的独立のメモ 事象の排反と統計的独立,この2つは確率の教科書の最初の方に登場し, 読み進めていくと(教科書の問題は基本的に整備されている・もしくは暗黙的に仮定されている場合が多く)ここを意識していなくてもトラブル…

文章もlintできるtextlint導入メモ

文章もlintできるtextlint導入メモ 文章にもlintできるtextlint導入のメモである. ruleを追加して校正できるようになる. textlint.github.io 環境 Windows10 Atom 1.36.0 npm 6.7.0 文章もlintできるtextlint導入メモ 環境 textlintの導入(cmd) textlint…

TypeScriptの環境作成メモ

TypeScriptの環境作成メモ Typescript用の環境を作っていくメモ. エディタは,IDE代わりにもなるVSCodeを使っていく. 環境 Windows10 VSCode 1.32.3 TypeScriptの環境作成メモ 環境 TypeScript初心者向け資料 インストール バージョンの確認 設定ファイルt…

引用(blockquote)のCSSスタイルメモ

引用(blockquote)のCSSスタイルメモ 技術記事くらいにしか登場しないblockquoteタグのスタイルメモ. See the Pen blockquotesStyle by Cartman (@Cartman0) on CodePen. 引用(blockquote)のCSSスタイルメモ 左端にborderがつくタイプ Qiita Markdown github…

JSのユニットテストフレームワークJasmine 3系メモ

JSのユニットテストフレームワークJasmine 3系メモ CodeprepさんでJavaScriptのコードレベルBDD向けのユニットテストフレームワークJasmineの紹介があったので,v3系の使い方メモ. (基本的にはv2系と変わらない) 環境 Windows10 JSのユニットテストフレー…

nvm-windowsでNode.jsのバージョン管理をする

nvm-windowsでNode.jsのバージョン管理をする npm自体のアップデートはnpm install -g npmでできるが, Node.js自体のアップデートができないようなのでバージョン管理ツールnvm-windows(nvmコマンド)を導入する. 環境 Windows10 nvm-windowsでNode.jsのバ…

JSの分割ファイル読み込み(require vs import)メモ

JSの分割ファイル読み込み(require vs import)メモ 2019年3月時点でのNode.js・ブラウザ環境での分割ファイル読み込み(require, import/export)についてのメモ. 結論: 開発側ではESM(import)を利用してコードを書いて管理. ただし,全ブラウザでESMは…

VSCodeでPythonのunittest拡張機能を使う

VSCodeでPythonのunittest拡張機能を使う VSCodeでのunittest拡張機能が便利だったのでメモ. 導入するとテストファイル内にクリックするとテストが始まるリンクが追加される. unittest拡張機能 環境 Windows10 python 3.7.0 VSCode 1.32.3 VSCodeでPython…

python3.7 unittestトラブルメモ

python3.7 unittestトラブルメモ ※python 3.7時点での方法,今後のアップデートで変わる可能性あり. unittestがうまく動作しなかったときの対処メモ(大体パス通せば解決するはず). 今回はパスを通さず手っ取り早くテストできる状態にする. 以下のファイ…

はてなブログテーマ作成のメモ

はてなブログテーマ作成のメモ はてな公式のBoilerPlateテーマを例にした作成方法を見たところ, npmをバリバリ使った開発者向けに作られていたのでメモ. 環境 Windows10 Atom 1.34.0 npm 6.4.1 はてなブログテーマ作成のメモ 環境 はてなブログのHTML構成 …

language-babelを使ってAtomでBabel

language-babelを使ってAtomでBabel AtomでES6,ES7からES5に自動トランスパイル(transpile)する環境を作る. 参考記事: medium.com 環境 Windows10 Atom 1.34.0 npm 6.4.1 前提 Atomエディタ,Node.jsはインストールされている前提で進める. language-ba…

Babel7 を試す

Babel7 を試す BabelでES6,ES7からES5に自動トランスパイル(transpile)する環境を作る. 実際にはタスクランナーやwebpackと組み合わせて使うことが多いが, 今回はちょっとしたES6コードをトランスパイルして確認することを想定してBabelのみを動かす環境…