sonoshouのまじめなブログ

情報系大学生からのウェブ見習い人生の記録

第2回機械学習勉強会

またまた備忘録。

ナイーブベイズ

概要

ベイズの定理を使って、結果から原因を予測する。

例:概要


ある文章がどのカテゴリに属する確率が最も高いかという観点から未分類の文章のカテゴリを決定する。

例:入力

・学習データ:カテゴリに分けられた文章 (教師データ)
テストデータ:未分類の文章

例:出力

・テストデータに最も近いカテゴリの決定

特徴


・実装が簡単
・学習時間が短い
・性能もそこそこよい

注意点


あるキーワードにおいて、一つでも確率が0のクラスが存在すると、全体の確率も0となってしまう。(新出単語に起こり得やすい。)
これを、ゼロ頻度問題という。
ゼロ頻度問題に対してはスムージングを行う。


ミーンシフト

概要

カーネル密度推定を用いたデータ解析手法で、データの初期値を密度の高い方向に収束させていくことでクラスタリングを行う。

入力

・データセット
・半径

出力

・ラベル

アルゴリズム


1. 各入力データについて以下を行う。
1.1 あるデータから半径r以内に含まれる点列を取得する。
1.2 1.1で取得した点列の平均位置を算出する。
1.3 平均位置を新たなデータとして1.1,1.2を収束するまで繰り返す。
2. 1で求まった各収束点について、収束点が同じ点列を同じクラスとしてラベリングする。

特徴

・クラス数を指定することなく、クラスタリングできる。
クラスタの分類が半径rの値に依存する。


EMアルゴリズム

概要

・あるデータ集合に対して最も尤もらしい混合ガウス分布のパラメータを返す。

特徴

k-meansとは異なり、データがどの分布から発生したかを確率的に求めることができる。
・大局解が求まるとは限らない。
・ステップ内の計算量が多く、収束が遅い。


バギング

概要

トレーニングデータを基に複数のモデルを構築し、それらを組み合わせることでより精度の良い学習モデルを構築する。

入力

・n個の組からなるトレーニングデータセット
・構築するモデルの数k
・学習モデルの設定

出力

・k個のモデルからなる学習モデルM*

アルゴリズム

1. トレーニングデータセットから、ブートストラップによりサンプリングした新たな学習セットDiを生成する。
2. 1で生成されたデータセットDiを用いて学習を行い、学習モデルMiを構築する。
3. 1,2をk回繰り返し、学習モデルをk個構築する(=M*を得る)

ここで、新たなデータセットとしてDxが与えられると、

分類問題の場合:
k個全てのモデルで分類を行い、多数決をとったものを結果とする
回帰問題の場合:
k個全てのモデルの平均値を結果とする

特徴

・複数のモデルを組み合わせることで、精度・汎用性の向上・両立を狙える。
・不安定な学習モデルの安定化。


ビタビアルゴリズム

概要

隠れマルコフモデルλ=(A,B,π)が既知の場合に、与えられた観測系列から、状態系列を動的計画法で求めるアルゴリズム

入力

隠れマルコフモデル:λ=(A,B,π)
-状態
-遷移確率分布A
-観測シンボル確率分布B
-初期状態分布π

出力

・推定した状態系列

特徴

隠れマルコフモデルにおいて、観測された事象系列を結果として生じる隠された状態の最も尤もらしい並びを探す。
・応用範囲が広い。

バウム・ウェルチアルゴリズム

概要

与えられた観測系列から、EMアルゴリズム隠れマルコフモデルのパラメータλ=(A,B,π)を推定するアルゴリズム
A:遷移確率分布
B:出力確率分布
π:初期状態確率分布

入力

・観測されたシンボルの系列
・状態の個数

出力

隠れマルコフモデルλ=(A,B,π)

特徴

・観測シンボルから隠れマルコフモデルのパラメータλ=(A,B,π)を推定する。
・局所最適に陥りやすいため、対象に応じて適切なパラメータの初期値を設定してやる必要がある。