統計・機械学習

情報量関連のメモ

概要 機械学習とか統計を勉強していると情報量とかエントロピーの話が出てきていつも復習をし直しているので,纏めておく. 情報量 事象Aが与えられた時に,その情報量って?というものに答える. 確率を使って考える.発生が稀な事象と,よくある事象があっ…

ヒストグラムの階級幅の決め方

階級幅は基本的に等間隔.非等間隔だとどうしてもそこに恣意性が入る 階級幅の決め方は,まず,幅に関する自明な知見,例えば学年などがあるならそれを採用する. 次に,データから幅を決める場合,基本的には幅を決めるというよりはビン数を決める.データ…

pandas@python

概要 pandasというのをよく目にする.Rっぽくデータ処理するためのライブラリみたいだ. DataFrameに2次元配列を渡してデータを生成する.タプルの配列や,ハッシュ配列でも行ける. 行はindex, 列はcolumnsで名前を付ければ,名前でアクセス可能.行は意味…

異常検知のメモ

異常検知というよりは機械学習の基礎題材として勉強中.少しずつ追記していこう. 参考文献 日本語だと異常検知だけを扱った本として以下の3冊があるみたい. * 山西, "データマイニングによる異常検知", 2009. * 井手, "入門機械学習による異常検知", コロ…

データ解析でまずやることのメモ

データ解析をする際に,いきなり回帰したりクラスタリングしたりしない.まずはデータを見ることが重要.これをささっとやれるようにするためのメモ.あまり好きではなかったpythonだけど,pandas, numpy, scipyなどなどに触れると便利だと気づく・・・悔し…

RandomForest@scikit-learn

注意点 データは内部でnp.float32に変換されている.np.info(np.float32)で確認すると3.4e+38程度であふれることがわかる. スパース行列には対応していないので,TruncatedSVDなどの次元圧縮と併用する. xの与え方は[x1, x2, x3, ...]のようにリストで渡す…

ニューラルネットワーク+深層学習

# ニューラルネット - 順方向ニューラルネットっていう一般的な構成は,オンライン型の関数回帰方法で,特に非線形関数の合成関数として回帰するものだと思う. - 3層でN層以上と等価な関数表現力があると言われているらしいが,じゃあ何で深層学習と呼ばれ…

データ解析の前準備 in R

平均やばらつきをみたり,何か解析手法を適用する前にデータ自体をある程度把握しておきたい. 難しそうで,かっこいい手法やるよりも,まずはしっかりと基本的な特徴を眺めてみることも重要. そこで,一般的にやることをRでさくっとやるためのテンプレート…

主成分分析(PCA)

一般事項 ・多変量解析において,もともとの説明変数(X)では現象が捉えにくい時に,説明変数を変換して新たな軸(説明変数Z)で事象を捉えようとする方法. ・新たな説明変数は元の説明変数の1次結合として表現される.(Z1=a1x1+a2x2+...anxn). ・寄与率…

EMアルゴリズム

# 何をするものか? 最尤推定のアルゴリズム,特に潜在変数Zを含むようなモデルを仮定した場合の逐次漸近的に最尤推定を行うアルゴリズム. 大まかにはパラメタθを固定して,その固定したθの場合に対して潜在変数Zを最適化(Eステップ),次にZを最適化した…

ボルツマンマシン

・無向グラフなニューラルネットワークで,確率的に発火する,というのがボルツマンマシンみたいだ. ・制限付きボルツマンマシン(RBN)ではユニットを幾つかのグループに分けて,グループ内での接続はしない形態.例えば2つのグループに分けると2部グラフ…

線形代数のメモ

よく使うけど,よく忘れるので要点を適時メモ.絶対に忘れちゃダメなこと 一般事項 ・A≠0,B≠0の時でも,AB=0になり得る.行列が写像であることを考えると,Aである軸に関して潰して,Bで別の軸に関して潰してBA合わせて0に潰す,みたいなイメージ. ・…

線形回帰,線形モデル

# 一般メモ 一次式の回帰を線形回帰というのではない.基底関数の線形結合で回帰されるモデル一般が線形モデル.だから関数自体は非線形になりうる. 最小二乗法による回帰係数の最小化は,各点の誤差の分散を最小化することを意味する(らしい).よって,…

ベイズ関連

ベイズ的な考え方がよくわからない.学習のメモ# 一般メモ ベイジアン的手法っていうのは,データにしたがって逐次確率を更新していくという手法だと思う.ベイズだとちょっとずつ回帰式が変化するのでまるで学習しているように見えるけど,最終的には一つの…

ガウス過程(ノンパラメトリック回帰)

ベイズ最適化などでは回帰式としてガウス過程(GP)を用いる場合が多いようだ.ということで勉強. パラメトリック回帰ではモデル式を仮定して,モデルが最もフィットするようにモデルのパラメタを推定する.”最もフィットする”は実際には最小二乗誤差や最尤…

強化学習

一般メモ 大枠は動学的最適化,つまり,目的関数がある関数の積分形式(または総和)で与えられ,目的関数を最大化する関数を求める問題の解法だと思われる. 強化学習の特徴として試行性(試行をしながら学習すること.探索と利用のトレードオフの話など.…

ディープニューラルネットワーク

過学習対策 ・重みのノルムを目的関数に入れることで重みが小さくなるようにする. オンライン学習のパーセプトロンと同様に,L1ノルムだと疎な解に落ちやすくなり, より有効な場合が多い. ・重みの上限を制約として加える ・ドロップアウトと呼ばれる方法…

多重共線性のメモ

意味 説明変数間に高い相関がある場合に,それら相関の高い説明変数群で 作られる回帰モデルの構築に問題が発生すること.具体的な問題は? 具体的な問題点 ・係数の符号の理解が困難になる.つまり,一つ一つの説明変数として 意味を考えることの合理性が弱…

オンライン学習

オンライン学習全般 ・データを保持しなくて良いという性質が有効なシーンがある. →(1)セキュリティ,プライバシーの問題上データを保持することができない場合 (2)データが多いために保持することが困難な場合 ・汎化性能の評価などが比較的容易(リ…

最適化(導関数がない,求める事が困難,かつ,制約が無い場合)

導関数がない場合 ・滑降シンプレックス法(アメーバ法,Nelder-Mead法とも呼ばれる)を使う. (線形計画問題のシンプレックス法とは違う) アルゴリズム概要を理解することは容易.ただ,なんでこれでうまく行くのかの理解は難しそう. というか,これでう…

最適化(微分可能な解析式があって制約が無い場合)

微分可能な解析式がある場合(制約なし) →1階微分と2階微分が0になる点を探せばいい ・そんな点って?N変量ならN個の偏微分で得られる連立方程式を解けばいい. →線形な場合は解けるよね? →いやいや.制約ないならそもそも解が無い. →非線形な場合は? →…

フーリエ変換とウェーブレット変換

フーリエ変換 ・フーリエ変換は時間的に変化する信号を周波数領域の表現に変換する. ・フーリエ級数展開は周期性が必須だが,フーリエ変換では必須ではない ・無限の周期を仮定する. ・(↑が理由?)定常性を持った信号への適用には適するが,非定常な信号…

多変量分布に従う乱数の生成

1.多変量正規分布に従う乱数の生成 パラメタは期待値ベクトルΛと共分散行列∑の2つ. 作り方のイメージは,一旦N(0,1)に従う独立な標準正規分布の乱数を生成して, それを,線形変換して期待値ベクトルΛと共分散行列∑に従う乱数に変換する. そして,そん…

Wekaのサンプル集

Weka全般に関して CSVも読込み可能だけれど,Weka標準のARFF形式に変換して入れておくほうが良い. 理由はCSVだとincrementalなreadができないこと,カテゴリ変数の全カテゴリがテストセットに出現することが保証されないこと. Convert CSV to ARFF online…

単回帰・重回帰

回帰式の評価指標 ・決定係数R^2 モデルが実測値をどのくらい説明しているのか?を表す. R2=(実測)^2和/(予測値)^2和 →1に近いほど説明している,0に近いほど説明できてない. *重回帰の場合,説明変数が多くなると,(意味は無くとも)決定係数が大…