タグ

ブックマーク / aidiary.hatenablog.com (5)

  • カイ二乗値を用いた特徴選択 - 人工知能に関する断創録

    相互情報量を用いた特徴選択(2010/6/19)のつづきです。今回は、相互情報量ではなく、カイ二乗値を用いて特徴語を抽出してみます。カイ二乗検定は独立性の検定によく使いますけど、特徴語の抽出にも応用できるってのははじめて知りました。結局のところ相互情報量もカイ二乗値もカテゴリと単語がどれくらい依存しているかを表す尺度なのでアプローチは似ている感じがします。IIRの13.5を参考にして実装します。 カイ二乗値 カイ二乗値の定義は、 です。NやEが出てきますが、下のようなクロス表を用いて計算します。たとえば、単語「iPhone」とカテゴリ「IT」のカイ二乗値を求めたいとき、クロス表は下のようになります。たとえば、カテゴリがITで単語iPhoneを含む文書はデータ中にN11個あるなどと解釈します。 カテゴリがITである カテゴリがITでない 計 単語iPhoneを含む N11 (E11) N10

    カイ二乗値を用いた特徴選択 - 人工知能に関する断創録
  • Earth Mover's Distance (EMD) - 人工知能に関する断創録

    Earth Mover's Distance (EMD) について調べたことを整理しておきます。EMDは、ユークリッド距離のような距離尺度の一つで、二つの分布の間の距離を測ることができます。言語処理ではあまり聞いたことなかったのですが、画像処理や音声処理では比較的有名な距離尺度のようです。 EMDが使える問題設定は下図のようになります。 EMDは特徴量と重みの集合(シグネチャと呼ぶ)で与えられる分布Pと分布Qの間の距離です。ここで、特徴量間では距離 が定義されているのが前提です。特徴量がベクトルのときはユークリッド距離、特徴量が確率分布のときはカルバック・ライブラー距離(情報量)などです。EMDは、特徴量の集合が2つ与えられたときに、1個1個の特徴量間の距離をもとに、特徴量集合間の距離を求められるんですね。これはすごい。 重みは具体的な応用によって使い方が変わりますが、その特徴量の重要度を

    Earth Mover's Distance (EMD) - 人工知能に関する断創録
  • 類似画像検索システムを作ろう - 人工知能に関する断創録

    C++版のOpenCVを使ってカラーヒストグラムを用いた類似画像検索を実験してみました。バッチ処理などのスクリプトはPythonを使ってますが、PerlでもRubyでも似たような感じでできます。 指定した画像と類似した画像を検索するシステムは類似画像検索システムと言います。GoogleYahoo!のイメージ検索は、クエリにキーワードを入れてキーワードに関連した画像を検索しますが、類似画像検索ではクエリに画像を与えるのが特徴的です。この分野は、Content-Based Image Retrieval (CBIR)と呼ばれており、最新のサーベイ論文(Datta,2008)を読むと1990年代前半とけっこう昔から研究されてます。 最新の手法では、色、形状、テクスチャ、特徴点などさまざまな特徴量を用いて類似度を判定するそうですが、今回は、もっとも簡単な「色」を用いた類似画像検索を実験してみます

    類似画像検索システムを作ろう - 人工知能に関する断創録
  • 3日で作る高速特定物体認識システム (7) 最近傍探索の高速化 - 人工知能に関する断創録

    3日で作る高速特定物体認識システム (6) 線形探索を用いた特定物体認識(2009/11/22)のつづきです。今回がこのシリーズの最終回です。 前回の線形探索は遅すぎるので最近傍探索を高速化します。これで表題の高速特定物体認識システムができあがります。高速化にはいくつかの方法がありますが、物体モデルデータベースをなんらかのデータ構造にあらかじめ格納しておくというのがポイントです。今回は、資料でも述べられているkd-treeとLocality Sensitive Hashing (LSH)という手法を試してみます。kd-treeは木構造、LSHはハッシュでデータを構造化(インデキシング)します。kd-treeは、厳密な最近傍を求めますが、LSHは近似最近傍検索と呼ばれ、厳密な最近傍は求められない代わりに計算を大幅に高速化できます。 資料では、ANN (Approximate Nearest

    3日で作る高速特定物体認識システム (7) 最近傍探索の高速化 - 人工知能に関する断創録
  • ソフトマージンSVM - 人工知能に関する断創録

    前回(2010/5/2)のハードマージンSVMでは、データに重なりがある場合、下のようにちゃんと分類境界を求められませんでした。今回は、重なりのあるクラス分布に対応できるように拡張してみます。このようなSVMはハードマージンSVMに対してソフトマージンSVMと呼ばれます。別名としてC-SVMとも呼ばれるようです。 PRMLの7.1.1にあるように、データの誤分類を許すようにSVMを修正します。ハードマージンSVMでは、データ点がマージン内(-1 < y < 1)に絶対に入らないことを前提にしていましたが、ソフトマージンSVMでは「入ってしまったものは仕方ない、だがペナルティを与える!」と少し条件を緩めます。 まず、スラック変数ζ(ゼータ)をデータごとに導入します。スラック変数は、データが正しく分類されかつマージン境界上または外側にある場合は0、正しく分類されているがマージン内に侵入してしま

    ソフトマージンSVM - 人工知能に関する断創録
  • 1