人工知能に関する断創録

このブログでは人工知能のさまざまな分野について調査したことをまとめています(更新停止: 2019年12月31日)

2010-01-01から1年間の記事一覧

2010年総括

2010年目標(2010/1/1)のつづき。 人工知能に関する三テーマ(2009/3/23)の深耕 テキスト分類の基礎から初めてLSI (Latent Semantic Indexing)、pLSI(probabilistic LSI)、LDA(Latent Dirichlet Allocation)と進めていってシソーラスや連想ネットワー…

テキストからWikipedia見出し語を抽出

WindowsでMeCab Pythonを使う(2010/11/21)のつづきです。形態素解析を使ってると単語が変なところで切れていたり、未知語が多かったりと不満点が出てきます。また、応用によっては、形態素ではなく、複合語単位で抽出したいということもしばしばあります。…

WindowsでMeCab Pythonを使う

日本語の文章を単語に分割するには形態素解析を使います。日本語の形態素解析には、ChaSen、MeCab、Yahoo!形態素解析などがあります。ナイーブベイズを用いたブログ記事の自動分類(2010/7/3)でMeCabをPythonから使う方法を簡単にまとめましたが、MeCabはよ…

Twitterはじめました

かなり前にアカウントだけ確保して何人かフォローして読んでただけだったけど、最近ちょっと興味が出てきたので適当につぶやき始めました。自分でつぶやくのが長く続くかはかなり微妙かな。ボットを作って代わりにつぶやかせたい(笑)アカウントは@sylvan5…

パターン認識と機械学習(PRML)まとめ

2010年は、パターン認識と機械学習(PRML)を読破して、機械学習の基礎理論とさまざまなアルゴリズムを身につけるという目標(2010/1/1)をたてています。もうすでに2010年も半分以上過ぎてしまいましたが、ここらでまとめたページを作っておこうと思います…

Google AJAX Language APIをPythonから使う

機械翻訳のWebサービスがないか探していたのですが、Google AJAX Language APIってのを見つけました。本来はJavascriptから使うみたいですが、Pythonからも使えたのでまとめときます。結果はJSONでかえってくるのでその解釈にsimplejsonというPythonライブラ…

ナイーブベイズを用いたブログ記事の自動分類

カイ二乗値を用いた特徴選択(2010/6/25)の続きです。今まで使ってきた20 Newsgroupsというデータは英語文書でかつ元ネタがよく分からずあまり面白くなかったので、今回はこのブログ(人工知能に関する断想録)の記事を分類してみます。このブログの各記事…

カイ二乗値を用いた特徴選択

相互情報量を用いた特徴選択(2010/6/19)のつづきです。今回は、相互情報量ではなく、カイ二乗値を用いて特徴語を抽出してみます。カイ二乗検定は独立性の検定によく使いますけど、特徴語の抽出にも応用できるってのははじめて知りました。結局のところ相互…

相互情報量を用いた特徴選択

20 Newsgroupsで分類精度を評価(2010/6/18)のつづきです。今回は、特徴選択に挑戦してみようと思います。テキスト分類における特徴とは基本的に単語のことです。 特徴選択 前回、ナイーブベイズの出力結果で documents: 11269, vocabularies: 53852, categ…

20 Newsgroupsで分類精度を評価

ナイーブベイズを用いたテキスト分類(2010/6/13)の続きです。前回、実装したナイーブベイズの分類精度を評価してみます。テキスト分類のベンチマークとして使われるのは Reuters-21578 20 Newsgroups といったデータセットです。今回は、ナイーブベイズの…

ナイーブベイズを用いたテキスト分類

今までPRMLを読んで実装を続けてきましたが、10章からは難しくて歯が立たなくなってきたのでここらで少し具体的な応用に目を向けてみようと思います。機械学習の応用先としては画像の方が結果を見ていて面白いんですが、当面は自然言語処理を取り上げます。…

Mendeleyで論文管理

今まで読んだ論文の管理にはJabRefというフリーソフトを使ってきたのですけどMendeleyというWebサービスに乗り換えることにしました。非常によいサービスだと思うのでちと紹介します。Mendeleyは主に論文を管理するWebサービスです。ブラウザからもアクセス…

混合ガウスモデルとEM

今回は、9.2の混合ガウス分布のところです。混合ガウス分布はK個のガウス分布の線形重ね合わせで表されます。ここで、π_kを混合係数と言い、k番目のガウス分布を選択する確率を表します。π_kは確率の条件を満たし、すべてのkについて足し合わせると1になりま…

K-meansクラスタリング

9章のK-meansをPythonで実装してみます。データx_nをあらかじめ指定したK個のクラスタにわけることを考えます。各クラスタの重心をμ_kとします。K個のデータ平均(means)=重心があるからK-meansですね。さらに、2値指示変数r_nkを用意します。これは、デー…

グイン・サーガ読了

豹頭の仮面―グイン・サーガ(1) (ハヤカワ文庫JA)作者: 栗本薫出版社/メーカー: 早川書房発売日: 1979/09/29メディア: 文庫購入: 2人 クリック: 66回この商品を含むブログ (100件) を見る 見知らぬ明日―グイン・サーガ〈130〉 (ハヤカワ文庫JA)作者: 栗本薫,…

ソフトマージンSVM

前回(2010/5/2)のハードマージンSVMでは、データに重なりがある場合、下のようにちゃんと分類境界を求められませんでした。今回は、重なりのあるクラス分布に対応できるように拡張してみます。このようなSVMはハードマージンSVMに対してソフトマージンSVM…

非線形SVM

今回は、非線形サポートベクトルマシンを試してみます。線形SVM(2010/5/1)は、カーネル関数に線形カーネル(ただの内積)を使いましたが、これを多項式カーネル(A)やガウスカーネル(B)に変更します。 カーネル関数は元のベクトルxを非線形写像によって…

線形SVM

下巻に入って7章のサポートベクトルマシン(Support Vector Machine: SVM)を実装してみます。SVMに関しては、有名なSVMのライブラリ(libsvm)を使ったことがあるだけで、アルゴリズム詳細はPRMLで初めて学習しました。なので変なことを書いていたらコメン…

ロジスティック回帰

今回は、ロジスティック回帰です。この方法はPRMLで初めて知りましたが、統計学の方では一般的な方法のようです。回帰という名前がついてますが、実際は分類のためのモデルとのこと。ロジスティック回帰では、クラス1の事後確率が特徴ベクトルの線形関数のロ…

パーセプトロン

今回は、4.1.7のパーセプトロンアルゴリズムを実装します。パーセプトロンは、2クラスの識別モデルで、識別関数は式(4.52)です。 パーセプトロンは、下の条件を満たすような重みベクトルwを学習します。教師信号は、クラス1のとき教師信号+1、クラス2のと…

フィッシャーの線形判別

今回は、4.1.4のフィッシャーの線形判別を試してみました。これは、他の手法と少し毛色が違う感じがします。まず、D次元の入力ベクトルxを(4.20)で1次元ベクトル(スカラー)に射影します。ベクトル同士の内積なので結果はスカラーで、wはxを射影する方向…

分類における最小二乗

4.1節は、データから識別関数を直接的に構成するアプローチとして、 最小二乗法 フィッシャーの線形判別 パーセプトロン が紹介されています。すべて線形識別モデルなので二次元なら直線、三次元なら平面、それ以上なら超平面で分離できる、つまり、線形分離…

知能の原理

さっき共立出版から案内が来て初めて知りましたが、知の創成―身体性認知科学への招待(2005/3/15)の著者、R. Pfeifer氏の新著が出版されたようです。翻訳されるまで全然知りませんでした。非常に面白そうな内容なので読み終わったらレビューしようと思いま…

最尤推定、MAP推定、ベイズ推定

1.2.5 曲線フィッティング再訪 1.2.6 ベイズ曲線フィッティングのところを実装してみます。前回は、最小二乗法で曲線フィッティングをしたけど、ベイズ的な方法で解こうって話のようです。この2つの節では、 最尤推定 最大事後確率(MAP)推定 ベイズ推定 と…

多項式曲線フィッティング

PRMLをよく理解する&復習のために自分でもコーディングしていきます。Rを使っている方がいて(Rでベイズ線形回帰の予測分布)Rでやろうかなぁと思ったのですが慣れているPythonを使うことにしました。Pythonにも数値計算用のSciPyとNumPy、グラフ描画のmatpl…

PRML読書中

今年の目標だったパターン認識と機械学習(PRML)を読書中。まだ完全に理解できてないところが多々あるけれど上巻が読み終わった。まだまだ数学がきつくて式変形が追いきれてないところもあったけど、ベイズ的な考え方とはどういうことか少しずつわかってき…

第153回TOEICを受験してきました

今年の目標(2010/1/1)で挙げたTOEICを受験してきました。公開テストは就職前に一回受けただけなのでかなり久しぶり。以前よりできたという実感はあるけれどどれくらい伸びてるかなぁ。受験後に某掲示板の答え合わせスレを読んでましたけど、reimburseでか…

Visual Wordsを用いた類似画像検索

類似画像検索システムを作ろう(2009/10/3) 3日で作る高速特定物体認識システム(2009/10/18) に続くOpenCVプロジェクト第三弾です。今回は、上の二つをふまえてカラーヒストグラムではなく、局所特徴量(SIFTやSURF)を用いた類似画像検索を試してみます…

PythonでAmazon Product Advertising APIを使う

以前、Amazon Web Serviceで書籍情報を取得する(2008/12/20)というエントリを書きましたが、2009年8月15日から新しく認証が導入されてそのままでは使えなくなっていることに気がつきました。サービス名もProduct Advertising APIに変更されたそうです。Ama…

2010年目標

人工知能に関する三テーマの深耕 特に興味を持っている人工知能に関する三テーマ(2009/3/23)をさらに深耕していきたい。いろんな題材はそろっているのだけど、どこからどう手をつけてどう形にしていくかがけっこう難しい。発明家を目指すならやっぱりモノ…