suzuzusu日記

(´・ω・`)

多項式カーネルに対応する特徴ベクトルを可視化する

多項式カーネルによって写像される特徴空間を可視化してカーネル法の挙動を把握します. 線形分離不可能なデータ 以下のように半径が異なる円周上に存在する2クラスのデータを生成します. import seaborn as sns import pandas as pd import matplotlib.pyp…

幾何ブラウン運動をARIMAで予測

忘備録としてまとめておく。 幾何ブラウン運動 以下のような確率微分方程式(SDE)によって定義されるものを幾何ブラウン運動と言います。金融工学のモデルとしてよく用いられます。 初期値をとすると解は次のようになることが知られています。 シミュレーショ…

尤度関数におけるガウス分布とスチューデントのt分布の比較

RStanを使って尤度関数がガウス分布と場合とスチューデントのt分布の場合でどのように異なるのかを比較します. 最終的にガウス分布に比べてスチューデントのt分布が外れ値に頑健な回帰をすることが可能であることを確認します. 線形回帰 今回は以下のパラ…

Hankel Non-negative Matrix Factorizationによる時系列データの前処理

HNMF 先日ブログで時系列データをHankel Singular Value Decompositionという低周波成分と高周波成分に分解するという前処理のアルゴリズムを紹介しました. 今回は特異値分解(SVD)の低ランク近似の部分を非負値行列因子分解(NMF)に変えても分解できるの…

Hankel Singular Value Decompositionによる時系列データの前処理

HSVD Hankel Singular Value Decomposition(HSVD)は時系列データを低周波と高周波の2つの成分に分解する手法です.HSVDを使用して時系列データの前処理をします. Embedding まず最初に,個の時系列データ を以下のような窓サイズのハンケル行列H(正確には…

しょぼん(´・ω・`)基底をGPLVMで獲得する

データの作成 以下の画像から,しょぼん(´・ω・`)基底を作成します. オリジナル画像 まず,画像を読み込みます. import numpy as np from PIL import Image image = np.asarray(Image.open('./data/shobon.png').convert('L')) 次に,2値化を行いしょぼん(´…

Higher-Order-SVDで画像の低ランク近似

HOSVD SVDは行列の低ランク近似手法であり,Higher-Order-SVD(HOSVD)はSVDをテンソルに拡張した手法です. HOSVDではタッカー分解というコアテンソルとそれぞれのモードの行列に分解する方法を使用します.以下にその概要を図示しました. タッカー分解 方法…

PyTorchで最急降下法による最適化

余談 Differentiable Programming(微分可能プログラミング)という捉え方がとても素晴らしいと個人的に思います. 詳しくは以下のブログを見てください. bonotake.hatenablog.com 最急降下法による最適化 機械学習フレームワークのPyTorchを使って単純に最急…

GPyTorchで多クラス分類

GPyTorchとは PyTorch上で実装されたガウス過程(GP)のライブラリである. ハイパーパラメータをPyTorchのシステムを使用してGPUなどで最適化できるのが特徴である. GPは逆行列を計算する際に の計算量がかかり,スケーラビリティに難があるが,PyTorchのシ…

カーネル密度推定とエントロピー

カーネル密度推定をしてエントロピーを計算する方法を忘備録として書いておく. 標準正規分布を例にとって計算してみる. ちなみに理論値は import numpy as np import matplotlib.pyplot as plt from scipy import integrate from scipy.stats import norm …

Pykkaでping pong

Pythonでactor model使いたかったので忘備録として Pykka Pythonのactor model frameworkです. インストール方法 pip install pykka Actorの実装方法 標準のThreadによる実装やgeventなどがある. ドキュメントに gevent の方が一般的に Thread よりも早い…

混合ガウス過程で多峰な関数を回帰する

忘備録として 混合ガウス過程と多峰な関数 以下のような多峰な関数を回帰する場合は,通常の単峰にフィッティングする回帰では困難なので混合ガウス過程を用いる. f1,f2関数 多峰な関数 GPclust GPclust という混合ガウス過程のライブラリが良さそうなので…

SSH in Elixir

ElixirでSSHをする方法を忘備録として書いておく. iexして以下を実行する iex(1)> ip = '1.2.3.4' '1.2.3.4' iex(2)> port = 22 22 iex(3)> ssh_config = [ ...(3)> user: 'user', ...(3)> password: 'password1234', ...(3)> silently_accept_hosts: true …

Distributed Elixir

Elixirで分散ノードで処理をする方法を忘備録として書いておく. 環境 node01 192.168.0.2 node02 192.168.0.3 方法 node01で以下のプロセスを立ち上げる iex --name node01@192.168.0.2 --cookie hoge node02で以下のプロセスを立ち上げる iex --name node0…

Windowsでmultiprocessingにおける「if __name__ == "__main__":」制限を回避してPandasで複数ファイルを並列で読み込む

忘備録として書く 題名長すぎる... 以下のようにWindowsの場合main guardを書かないとmultiprocessingが動かない stackoverflow.com 何とか回避してPandasを使って複数プロセスでファイルを読み込んでみる.具体的には以下のように別のpythonのプロセスを動…

Imgurに画像投稿するLINE Bot作った

Google Cloud FunctionsとかLINE BOT触ってみたかったので試しに作った 簡単に出来るのでLINE BOTでアプリケーション作るのおすすめですね

ffmpeg filterの作り方

そろそろブログまとめようと思ったので移転記事です. 移転元 https://wiki.mma.club.uec.ac.jp/su_zu/ffmpeg%20filter%E3%81%AE%E4%BD%9C%E3%82%8A%E6%96%B9 MMA Advent Calendar 2016/12/21 これはMMA Advent Calendar 2016の21日目の記事です ffmpeg filt…

MMA Advent Calendar 2016/12/13

そろそろブログまとめようと思ったので移転記事です. 移転元 https://wiki.mma.club.uec.ac.jp/su_zu/MMA%20AdventCalendar%202016 MMA Advent Calendar 2016/12/13 これはMMA Advent Calendar 2016の13日目の記事です 電気通信大学RSS「新着情報」 https:/…

MMA Advent Calendar 2016/12/6

そろそろブログまとめようと思ったので移転記事です. 移転元 https://wiki.mma.club.uec.ac.jp/su_zu/MMA%20AdventCalendar%202016 MMA Advent Calendar 2016/12/6 これはMMA Advent Calendar 2016の記事です PowerShellでぐいぐいっとGUI動かす方法を紹介…

STDP学習ベースのSNNでMNISTを分類する

雑に論文みて勉強したので何も保証しません.SNNの情報全然無いような気がするのでしんどい. Spiking Neural Network(SNN) ニューロンの活動電位(スパイク)に注目したニューラルネットワーク.現状,計算量が多いのでチップを作ったりなどのハードウェアの…

Implementation of Poisson Spike model using Rust

自分用のメモ 実装したニューロンモデル Hodgkin–Huxley Izhikevich Integrate-and-fire FitzHugh-Nagumo Poisson-Spike Poisson Spike model(ポアソンスパイクモデル) ある時間内に発火する頻度が,ポアソン分布に従うスパイクモデルである. 実際のニュ…

Implementation of FitzHugh-Nagumo model using Rust

自分用のまとめ 実装したニューロンモデル Hodgkin–Huxley Izhikevich Integrate-and-fire FitzHugh-Nagumo Poisson-Spike FitzHugh-Nagumo(フィッツヒュー・南雲モデル) HH型モデルを簡略化したモデルである. それぞれのパラメータは以下を参考にして次…

Implementation of Integrate-and-fire model using Rust

自分用のまとめ 実装したニューロンモデル Hodgkin–Huxley Izhikevich Integrate-and-fire FitzHugh-Nagumo Poisson-Spike Integrate-and-fire(積分発火モデル) 入力の時間積分によって細胞の膜電位が増加し,ある閾値を超えるとスパイクが生成されるとい…

Implementation of Izhikevich model using Rust

自分用のまとめ 実装したニューロンモデル Hodgkin–Huxley Izhikevich Integrate-and-fire FitzHugh-Nagumo Poisson-Spike Izhikevich(イジケヴィッチモデル) Hodgkin–Huxley modelなどのコンダクタンス依存型モデルは複雑な式で計算量もそれなりにいるの…

Implementation of Hodgkin–Huxley model using Rust

自分用のまとめ 実装したニューロンモデル Hodgkin–Huxley Izhikevich Integrate-and-fire FitzHugh-Nagumo Poisson-Spike Hodgkin–Huxley model(ホジキン・ハクスレーモデル) 神経細胞の細胞膜をコンデンサ,イオンチャネルを変化する抵抗素子として考え…

KerasのstatefulなLSTMのtrain出力を記録する

忘備録として書く. FAQ - Keras Documentation からstatefulなRNN系だと学習や予測時に状態を更新してしまうので,単純に同じデータを入力して出力を得ることはできない. そこでメトリック経由で出力を得る. # 教師データ def true(y_true, y_pred): retu…

ARP tableを監視して部屋にいるか簡易通知する方法

行きたい先に目的の人がいるかどうか簡易的に知るにはどうすべきか考えたときに同じサブネットにラップトップやスマートフォンを接続しているならARP tableのMACアドレスを見て簡易的に判断できると思ったのでやってみる 事前にMACアドレスを教えてもらう pi…

Mandelbrot, Intel AVX, CImg

Intel AVXのサンプルを動かしたのでそのメモ 画像出力にはCImgを使った 環境 Visual C++ 2017 #include <immintrin.h> #include <complex> #include "CImg.h" using namespace std; using namespace cimg_library; // simple code to compute Mandelbrot in C++ void MandelbrotCPU</complex></immintrin.h>…

Python for文 スコープ

ハマったので戒めとしてのメモ Pythonのfor文にはスコープがない 一度lambdaで包む必要がある >>> map(lambda f: f(), [lambda : i**2 for i in range(5)]) [16, 16, 16, 16, 16] >>> map(lambda f: f(), [(lambda j: lambda : j**2)(i) for i in range(5)])…

Pure C Project in Visual Studio

今まで雑にwin32コンソールでCを書いていたがVisual StudioでCを書くときのメモ 空のsolutionを作る 空のproject追加 main.cを追加 projectのプロパティ -> 構成プロパティ -> C/C++ -> すべてのオプション -> コンパイル言語の選択 を Cコードとしてコンパ…