2019-07-01から1ヶ月間の記事一覧

隠れマルコフモデル Hidden Markov Model 解説1

今回は隠れマルコフモデル(Hidden Markov Model, HMM)についてです。 ここではEMアルゴリズムによるパラメーターの最適化について取り上げます。 EMについてはGMMとEMアルゴリズム - 情報学関連の備忘録を参照。 概要 1. パラメーターの最適化 フォーワード…

itunesでiosのbackupを外部デバイスに取る時

本来は~/Library/Application Support/MobileSync/Backup/に作られます。 つまり、このパスが外部デバイスのどこかを指すようシンボリックリンクを貼ればオーケー。 ややこしくなるので、一度ローカル上でバックアップを取っておく。~/Library/Application S…

keras: CNNを使う時のshapeの注意点

例として、1次元のCNNを使う時を取り上げます。 1次元のデータに対して、CNNを使う時にfilter分の次元が増えます。 これの次元の存在をinputを渡す時点で作る必要があります。 input: 100次元のデータ output: 2次元のデータ Function APIで書きます。 (…

python: joblibで並列計算

joblibを使って並列計算するときの例 zipして引数を複数取る時 from joblib import Parallel, delayed def func(a, b): return a * b result = Parallel(n_jobs=-1)([delayed(func)(a, b) for a, b in zip([a_list, b_list])]) result[i]に1つ1つの結果が…

texでforループ

latexで書いているときにfigureを差し込む際にforで回して入れたくなる時用のメモです。 例1 数字しか回せなさそうなので、うまいこと名前をつけておきます。 ここではディレクトリをうまく分けているとします。 \newcount\K % int K \def\figfor#1{ \K=0 \l…

Makefileメモ

よく使うMakefileのメモ書き SFMTは乱数生成に使うやつ CC = g++ -std=c++11 OPTION = -I/usr/local/include -L/usr/local/lib -I../modules/SFMT-src-1.5.1 OPTIMIZE = -O3 -fopenmp DIR = ../module TEST = -DSFMT_MEXP=19937 .SECONDEXPANSION: a.out: ma…

openvpn client側の設定(ios)

ラズパイで建てたopenvpnに接続する方法についてまとめました。Raspberry Piをサーバーにする - 情報関連の備忘録からの続きです。 ラズパイではport 1194でopenvpnが開いていて、global ipでも1194が対応しているとして以下まとめてあります。実際はセキュ…

macOS update後にうまくgccできないときは

macOSでgccをすると、 ...include-fixed/limits.h:168:61: fatal error: limits.h: No such file or directoryこんな感じのエラーに出会うことがあると思います。 パスがうまく通っていないことが原因です。 解決法 こんな感じ(versionは異なる)のファイル…

テキストファイルで検索したい単語のある行以降を表示

テキストファイルからある単語を検索して、その行以降を表示する方法についてまとめます。 手順は 単語をgrepで検索して行番号だけとる ある行番号以降をtailで表示 1. 単語をgrepで検索して行番号だけとる $ grep -n find_word $file | sed -e 's/:.*//g' 2…

RetinaNetで顔検出

前回(写真の人の顔に自動的にぼかしを入れる (OpenCV) - 情報関連の備忘録)opencvでは満足のいくdetectが出来なかったので、DNNでごり押しします。 kerasを使ってretinanetを利用します。学習に使うデータはすでにアノテーションされているものを利用します…

GMMと変分ベイズ

GMM導入 - 情報関連の備忘録 と GMMとEMアルゴリズム - 情報関連の備忘録 から引き続きの話題です。 EMアルゴリズムで推定した時のモデル化では、混合されているガウス分布の個数を固定して推定をしました。 しかし、実際には事前に個数が予測できないことの…

写真の人の顔に自動的にぼかしを入れる (OpenCV)

目標 1. jpgで画像を読み込み 2. OpenCVで顔を認識 3. そのエリアにぼかしを入れる。適当に平滑化する 完成したコード 補足: RAWデータを直接扱う時 参考 目標 たくさん写真があって他人が写っているとSNSにはあげられないので、ぼかしを入れることが多いと…

GMMとEMアルゴリズム

前回GMM(Gaussian Mixture Model)の形について取り上げましたが(GMM導入 - 情報関連の備忘録)、今回はパラメーターの推定方法について取り上げます。 EMアルゴリズムを用いてパラメーターの最適化を行います。 EM algorithm EM algorithm for GMM E step of …

GMM導入

混合ガウス分布(Gaussian Mixture Model, GMM)は文字通り複数のガウス分布で構成されているモデルです。 具体的には以下のような2次元のデータを考えてみれば良いです。 これを3つのガウス分布からできると考えてモデル化すればGMMです。 このモデルの目標…