機械学習

混合ベルヌーイ問題をEMアルゴリズムで解く

尤度関数 シグマ(和)とパイ(積)が混在しているので対数尤度関数の偏微分が容易に計算できない。 (パイだけだとログを取るとシグマに転換するので簡単に計算できる)https://github.com/shohei/mnistうまく尤度が計算できてないやりかけのコード functio…

Perlでk-meansクラスタリング

完全にランダムなエリアから重心を選ぶと計算がうまくいかなかったので、ランダムにサンプルを抽出した。 TODO:任意のkを与えられるようにする kmeans.pl use strict; use warnings; use Moo; use feature qw(say); use Switch; use Data::Dumper; use List…

ROC曲線とは

ROC(Receiver Operating Characteristic) curve・・・横軸に偽陽性率、縦軸に真陽性率をプロットしたもの

ナイーブベイズとベイジアンフィルタの違い

http://gihyo.jp/dev/serial/01/machine-learning/0003ナイーブベイズ(単純ベイズ分類器)の一種がベイジアンフィルタ、でいいのかな

機械学習の手法について整理する

TODO確保 k近傍法、ナイーブベイズ、ベイズフィルタ、EMアルゴリズム、最小二乗法、最尤推定法、パーセプトロン、ロジスティック回帰、k平均法

sentdexのコード

この手法は機械学習ではなく、情報検索に近いといえる。 履歴を使っているので一般的な意味での学習とはいえるが、 全く処理を施していないので機械学習とは異なる。 (精度が上がる保証がある手法のことを機械学習と呼ぶのか) import matplotlib import ma…

WxMaximaで逆行列を求める

文字のままで計算ができる。 A : matrix( [a,b,c],[d,e,f],[g,h,i]); A_ : invert(A);

航空機設計における多目的最適化

https://www.google.co.jp/search?q=%E5%A4%9A%E7%9B%AE%E7%9A%84%E6%9C%80%E9%81%A9%E5%8C%96&ie=utf-8&oe=utf-8&aq=t&hl=ja&gws_rd=ssl#hl=ja&q=%E5%A4%9A%E7%9B%AE%E7%9A%84%E6%9C%80%E9%81%A9%E5%8C%96+%E8%88%AA%E7%A9%BA%E6%A9%9F

Rで使える機械学習の手法の比較

使うのはアヤメのデータ(iris) 縦軸: Sepal.Width, 横軸: Sepal.Lengthでプロットする ggplot(iris,aes(x=Sepal.Length,y=Sepal.Width,color=rev(Species)))+geom_point() k-meansクラスタリング R言語プログラミング: クラスター分析 - k-means http://d.h…

PythonでLSAを使う

LSAとはlatent semantic analysisの略。 主成分分析とかに似てる感じ。固有値の大きい固有ベクトルを基底として 座標変換する。 単純にTF-IDFとっただけだとゼロの成分に重みが付加されるので (主に単語ベクトルなどのスパースなベクトルから)特徴ベクトル…

EMアルゴリズムの実装

EMアルゴリズムの復習:ある不完全データが属すると思われる確率分布のパラメータを推定することができる 正規分布を仮定したEMアルゴリズム ポアソン分布を仮定したEMアルゴリズム

ナイーブベイズ分類器

ナイーブベイズ分類器(Naive Bayes Classifier) ベイズの定理より、クラスcに分類する確率を次のような最大化問題で解く。 つまり dは文書であるので、単語の種類数とその組合せを考えると起こりうるdは膨大である。 あらゆるdについてそれぞれがデータ空…

クラスタリングのまとめ

凝集型クラスタリング(ボトムアップクラスタリング) 簡単に言うと、一番末節から樹形図を書いていって、一つのルートにマージしていくアルゴリズム 入力:事例集合D={x1,x2,...,xD} C={c1,c2,...,cD} #1つのクラスタに1つの事例を割り当てる c1={x1},c2…

機械学習、自然言語処理の教科書など

これとこれは読んでなかった 情報検索と言語処理 応用のための確率論入門 CRFって何だと思ったらConditional Random Field:条件付き確率場のことだった。自然言語処理ではFSNLPが絶賛されてる。 http://d.hatena.ne.jp/echizen_tm/20111103/1320321200ベク…

EMアルゴリズム

EMアルゴリズム:不完全データに対し、尤度が大きくなるようにパラメータを決定する一般的な枠組み 不完全データにおける観測されない変数→隠れ変数(latent variable)と呼ぶ クラスタリングにおいて、クラスタに対応する確率変数を隠れ変数と考えることが多…

パラメータ推定法

準備その1 i.i.dの仮定:independency, identically distributed = 独立に同一の確率分布に従う つまり、確率変数XのサンプルデータD={...xi...}の生成確率が次のように書ける。 ・独立なので積に分解できる ・同一の確率分布に従うので1種類の確率関数p(x…

ディリクレ分布

連続型確率分布の代表的なものとして ・正規分布 ・ディリクレ分布 がある。正規分布:d次元正規分布:ディリクレ分布: ただし、 ディリクレ分布は、簡単に言うと、各確率変数が極端な値をとりにくい分布。 多項分布のパラメータの拘束条件と等しい→ →多項…

離散確率分布に関するメモ

1.離散確率分布 ベルヌーイ分布: ※はデルタ関数多変数ベルヌーイ分布:2項分布:多項分布:ポアソン分布:ポアソン分布の実装 #! /usr/bin/env python # -*- coding: utf-8 -*- import scipy from pylab import * import math amp = range(1,11) def poi…

Widrow-Hoffの学習規則

データの完全な分離ができない場合、 誤差を最小にするように、識別関数の重みベクトルを計算する。(定式化) 教師信号と識別関数の値の差を誤差と定義 この誤差の2乗和を考える これについて、すべての学習パターンについて総和をとる。 やることは、この…

サポートベクターマシンの実装(その1)

ラグランジュ係数を2次計画問題で解くところが肝。 SMOアルゴリズムとかあるけど、 とりあえず最急降下法を試す。やることは、ラグランジュ関数 の、制約条件 のもとでの最大化である。更新式は、 より # coding: utf-8 import numpy as np import matplotli…

パーセプトロンの学習規則

線形分離可能な2クラスの識別問題をパーセプトロンの学習規則を使って解く。(NN法について) 1. NN法(Nearest neighborhood:最近傍法)とは、 各クラスw1,w2,..に属するプロトタイプ(代表点)p1,p2,..に対して 入力された特徴ベクトルxとの距離が最小とな…

学習のアルゴリズムのまとめ(識別)

いろいろなフィッティング

http://d.hatena.ne.jp/aidiary/20100327/1269657354 http://d.hatena.ne.jp/aidiary/20100404/1270359720 を見ながらフィッティングのお勉強。まずはサンプルデータの生成 #usr/bin/env python #-*- coding: utf-8 -*- import numpy as np from pylab impor…