技術メモ

役に立てる技術的な何か、時々自分用の覚書。幅広く色々なことに興味があります。

機械学習

Extream Learning Machineの簡単実装

あまり知られていないかも知れないが、Extream Learning Machineというニューラルネットの一種がある。 3層のニューラルネットなんだけど、通常のニューラルネットと違い、学習は出力層と中間層の重回帰で学習する。通常のようなバックプロパゲーションのよ…

word2vecで「単語の足し算引き算」をしてみる

word2vecを試してみたいけど使ったことがないという人が対象 とりあえず動かしてみるのが目的。 ※python2.7.12で動かしているけど、3系でも大丈夫なはず。 word2vecとは word2vecとは、ざっくり言えば 「単語をベクトル表現にでき、意味の足し算や引き算がで…

scikit-learnで主成分分析(累積寄与率を求める)

pythonのライブラリでおなじみ、scikit-learnで主成分分析をする方法。 最終的には累積寄与率をプロットできるようにしたい。タスクとしては基本的な手書き文字認識を題材にする。 基本 import matplotlib.pyplot as plt import seaborn as sns sns.set_styl…

SOM(自己組織化写像)のプログラム (python)

むかし作ったやつを手直しして載せる SOMとは SOMはイメージとしては、"似たような"ベクトル同士が(1次元や2次元の)マップ上において"近傍に"配置されるように仕分けしていく機械学習。「多次元上で類似するものを低次元上で近傍に配置する」という意味で…