備忘録とか日常とか

学んだこととかを書きます。

機械学習

k-Medoids Clusteringを実装した【python】

教師なし学習の非階層的クラスタリング手法としてk-Meansが一般的であるが、その拡張であるk-Medoidsを実装した。 動機 SIFT, SURFを使ったBOVWで何かできないかなーと考えていたが、特許の問題でSIFT, SURFが使えないと知った。(python2なら使えるのかも?)…

Deeplearningライブラリ「Keras」でつまずいたこと

DeeplearningライブラリのKerasを使っているときにはまったことをいくつかメモ。 ほぼ自分用かもしれない 今までTheanoを使ってアルゴリズムの勉強かついろいろ実験していたのだが、 勉強にはなるものの一から新しいアルゴリズムを実装するのはなかなかしん…

scikit-learnでsvm 基本的な使い方

今更だがsvmを使いたかったのでscikit-learnで使い方を調べた。 公式ドキュメントが整っているのでそっち見ただけでもわかる。 1.4. Support Vector Machines — scikit-learn 0.19.2 documentation 以下参考 Scikit-learnでハイパーパラメータのグリッドサー…

ubuntu14.04 theanoとかgpgpu環境構築メモ

まっさらなlinux環境にtheano, pylearn2のgpgpu環境を導入する手順をメモする ほぼ自分用みたいなとこある環境は以下 ubuntu14.04LTS GeForce GTX 970 インストール ubuntu14.04にはpython2.7が最初から入っているのでパッケージから入れてく。 sudo apt-get…

theano CNNで抽出した特徴をファイルに出力

タイトルの通り。 CNNで特徴抽出して、今まではそのままMLPで識別していた。だが抽出した特徴を使って別の手法を試す必要が出てきたので、特徴をファイルに出力する方法をメモしておく。CNNは畳み込みとプーリングの繰り返しにより、画像から自動的に特徴を…

theanoでLocal Response Normalization(LRN)を使う

Deeplearning Tutorialでtheanoによる実装、アルゴリズムを勉強中。 前回のLCNに引き続いて、LRNの正規化についても試す。今回はpylearn2内のコードがそのまま流用できるので、新しくコードを書いたりする必要はない。参考元は以下 pylearn2/normalize.py at…

theanoで局所コントラスト正規化(Local Contrast Normalization)を使う

Deep Learning Tutorial で theanoによる実装,アルゴリズムを勉強中。 研究では主にCNNをtheanoを使っているが、正規化層による効果はどんなものか試してみたくなったので実装する。theanoはあくまで数値計算ライブラリなので、はじめから正規化のための関…

theano モメンタム項を導入する

theanoを使って色々実験中。 学習率の制約等に関してはまだ試してなかったのでやってみる。 参考元は以下 http://nbviewer.ipython.org/github/craffel/theano-tutorial/blob/master/Theano%20Tutorial.ipynb python - Clarification in the Theano tutorial…

画像を小領域に分割して学習 theano

Deep learningは十分な量のデータセットがあって初めて効果を発揮することは周知の事実である。対象がなんにせよ、初めからそこまで用意できないのであればわざわざそれを使うことなく、従来のような特徴量抽出でもって機械学習したほうが性能は出るはず。 …

theanoでGPU使ったときに出るMemoryErrorを回避

thenaoでDeep learningを勉強中。Tutorialを読みつつ色々いじっている。 今回はGPUを使用しているときにMemoryErrorに遭遇したので、それの回避方法をメモしておく。参考元はここ。 【追記】 データセットをgpuのメモリに載せる時点でのエラーを回避するだけ…

theanoのconv2dとmax_pool_2dが遅いので何とかする(2)

前回に引き続いてpylearn2のFilterActs()の使い方を書いてく。主にパラメータ。 参考元はここ。 partial_sum FilterActs()はpartial_sumという、メモリ使用量を調整するパラメータを持っている(当然使用量が増えれば速度性能は上がる)。cuda-convnetのドキュ…

theanoのconv2dとmax_pool_2dが遅いので何とかする(1)

Deep learningについて勉強中である。 ライブラリは数あれど、アルゴリズムとか細部の仕組みを理解するためにtheanoで書くことを選んだ。 Bengio先生率いるLISA labが出しているTutorialもあるのでそいつで勉強中。 あとここ Theanoの使い方 (1) シンボルと…

theanoに使う自前データセットの準備

DeepLearningTutorialで勉強中。 このチュートリアルではMNISTのデータセットで実験を行っているが、自前のデータセットを使うときに自分でcPickleする必要があるのでメモ。このページがtheanoの使い方をわかりやすく書いている。 Theano 入門 普段pythonで…