人工知能に関する断創録

人工知能、認知科学、心理学、ロボティクス、生物学などに興味を持っています。このブログでは人工知能のさまざまな分野について調査したことをまとめています。最近は、機械学習、Deep Learning、Kerasに関する記事が多いです。



機械学習

多層パーセプトロンが収束する様子

多層パーセプトロンによる関数近似(2014/1/22)の続きです。もう少しスクリプトを改造し、実際に各重みと出力がどのように収束するかアニメーションにしてみました。ほとんどの関数は最初に急激に変化したあとだんだん収束していく様子が見てとれます。|x|…

多層パーセプトロンによる関数近似

パターン認識と機械学習(PRML)まとめ(2010/8/29)の続きです。以下、つづくかも?になってましたが、2014年はDeep Learningを勉強しよう(2014/1/4)と思っているので、関連するニューラルネットワーク関係の実験結果をもう少し追記します。今回は、PRML…

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

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

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

カイ二乗値を用いた特徴選択(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章からは難しくて歯が立たなくなってきたのでここらで少し具体的な応用に目を向けてみようと思います。機械学習の応用先としては画像の方が結果を見ていて面白いんですが、当面は自然言語処理を取り上げます。…

混合ガウスモデルと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を用意します。これは、デー…

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

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

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

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

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

PRML読書中

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

ビショップ本購入

パターン認識と機械学習 上作者: C.M.ビショップ,元田浩,栗田多喜夫,樋口知之,松本裕治,村田昇出版社/メーカー: 丸善出版発売日: 2012/04/05メディア: 単行本(ソフトカバー)購入: 6人 クリック: 33回この商品を含むブログ (13件) を見るパターン認識と機械…

集合知プログラミング

集合知プログラミング作者: Toby Segaran,當山仁健,鴨澤眞夫出版社/メーカー: オライリージャパン発売日: 2008/07/25メディア: 大型本購入: 85人 クリック: 2,153回この商品を含むブログ (267件) を見るWebサービスのAPIを解説してる本だろうと勝手に思って…

OpenBayesの使い方(2)

OpenBayesの使い方(1)の続き。今回はデータからCPTを学習する方法を紹介します。当然ながらSprinklerの元データは手に入らないので前回のBNからCPTの確率値に従ってサンプルデータを1000個生成し、新しく作ったBNのCPTをこの1000個のサンプルデータから学…

OpenBayesの使い方(1)

ベイズネットワークのゲームへの応用(2008/5/2)の続き。というわけでPythonのベイズネットのライブラリであるOpenBayesの使い方をちょっとまとめておきます。ここでは、OpenBayesのチュートリアルにあるSprinklerというベイズネットを作成してみます。この…

ベイズネットワークのゲームへの応用

「ゲーム開発者のためのAI入門」って本にベイズ推定とベイズネットワーク(ベイジアンネットワークとか信念ネットワークとも呼ばれますね)をゲームに応用する方法が書いてあった。ゲーム領域が不確定な状況下にあるときにプレーヤー以外のキャラクター(NPC…

歴史のパターン

歴史マイニング(2006/1/24)のつづき。銃・病原菌・鉄〈上巻〉―1万3000年にわたる人類史の謎作者: ジャレドダイアモンド,倉骨彰出版社/メーカー: 草思社発売日: 2000/10/02メディア: 単行本購入: 60人 クリック: 1,069回この商品を含むブログ (367件) を見…

パーソナライゼーションによって失われるもの

グーグル・アマゾン化する社会 (光文社新書)作者: 森健出版社/メーカー: 光文社発売日: 2006/09/15メディア: 新書購入: 5人 クリック: 64回この商品を含むブログ (154件) を見る今まで読んだWeb 2.0を論じた本の中では一番面白かった。「Web 2.0万歳」ではな…

統計学入門

神の考えを理解する(2006/08/04)ために統計学(の基礎)を集中勉強。とりあえず下のテキストを使用してるのだけどわかりやすくていい。『はじめての統計学』は具体的な練習問題がうんざりするほどたくさんあって非常にいい。何かごりごりやってると身に付…

統計学を拓いた異才たち

統計学を拓いた異才たち―経験則から科学へ進展した一世紀作者: デイヴィッドサルツブルグ,David S. Salsburg,竹内惠行,熊谷悦生出版社/メーカー: 日本経済新聞社発売日: 2006/03/20メディア: 単行本購入: 28人 クリック: 366回この商品を含むブログ (92件) …

パターン識別 (5) 2次元ガウスデータでの決定領域

『パターン識別』のp.44の例1。2つのカテゴリの確率分布が正規分布であって共分散行列が任意の場合、決定面は2次超曲面になる。データが2次元の場合は曲線になる。上の赤い方の分布は共分散行列が(0.5 0 : 0 2)であるためx1方向に押しつぶされた形をしている…

パターン識別 (4) 正規密度に対する判別関数

今日は p.36。2つの正規分布から生成されたサンプルを分離するための決定境界を求めてみる。ケース1共分散行列 の場合。ただし、決定境界は手計算で と求めてしまった。白い点の集合と黒い点の集合が見事に分断されてる。ケース1の場合は直線で分離できるの…

パターン識別 (3) 中心極限定理

パターン識別(2006/6/9)を読む。p.78のコンピュータ演習5を解いてみる。いわゆる中心極限定理をシミュレーションしてみろって問題(定理の意味はキーワードリンク先参照)。Rの勉強もかねてプログラムを書いてみた。 central_limit_theorem <- function() …

パターン識別 (2) 線形代数

パターン識別(2006/6/9)の続き。2章のベイズ決定理論まで。何か数式がピンとこないと思ってたら原因がわかった。数式がベクトルと行列で書かれているからだ。というわけで線形代数の勉強をし直し・・・プログラミングのための線形代数作者: 平岡和幸,堀玄…

The Wisdom of Crowds

日本語で言うと集団の知恵。「みんなの意見」は案外正しい作者: ジェームズ・スロウィッキー,小高尚子出版社/メーカー: 角川書店発売日: 2006/01/31メディア: 単行本購入: 13人 クリック: 216回この商品を含むブログ (264件) を見る何かハウツー本に見えるけ…

パターン識別 (1) 読破するぞ

パターン識別作者: リチャード・O.デューダ,ピーター・E.ハート,デイヴィット・G.ストーク,尾上守夫出版社/メーカー: アドコム・メディア発売日: 2001/07/03メディア: 大型本 クリック: 24回この商品を含むブログ (13件) を見る2章のベイズ決定理論が理解…

第52回 人工知能セミナー

第52回 人工知能セミナー(リンク切れ)がある。今回も前回(2006/03/30)と同じく人工知能学事典出版記念セミナーのようだ。知識モデリング、Webインテリジェンス、機械学習、データマイニングなどの解説。興味ある分野なのですごく聴きに行きたいけれど神…

歴史マイニング

世界でもっとも偉大で貴重な時系列データって何だと思う?株価?んなわきゃねー(笑)音楽?まあありえるかも。いろいろ考えられるけれど、私は歴史だと思うのだ。人類発祥から現在まで続くさまざまなイベントの集積。データと呼ぶのは失礼かもしれないけれ…

20Q

ついに手に入れた。ちまた(一部)でうわさのスーパー人工知能20Q。20Qはアナタの心をお見通し、頭の中に浮かべたものを20の質問だけで当ててしまう。20Q (ブルー)出版社/メーカー: バンダイ発売日: 2005/11/12メディア: おもちゃ&ホビー クリック: 26回こ…

last.fm

言語情報処理ポータルのコラム記事読んでいてlast.fmという面白いアプリケーションを知った。このアプリケーションはいわゆるインターネットラジオというやつで楽曲がフリーで聴ける。このラジオの特徴は選曲のパーソナライゼーションが可能なこと。流れる曲…

HAI:ヒューマンエージェントインタラクション

第49回人工知能セミナー(リンク切れ)に行った。HAIは以前強化学習で使えないか検討したことがあった。Human Agent Interaction(2003/12/28)。第一人者の山田誠二さんから話を聴けたのでよかった。HAIは人間とエージェント間でのインタラクション設計が目…

心の中では

クラスタリングは概念形成 異常値検出は注視 相関ルール抽出は連想記憶 と置き換えてたりする。後者の研究で前者のアルゴリズムを使ったりしてないものか。

経験の共有

X: 何かを勉強しているときはいい気分。でも知識を得るって本当に退屈なプロセスね。とくに徹夜で試験勉強したときなんて。それにどれだけ覚えているかも不確かだし。K: これも人間の知能の弱点だ。コンピュータなら簡単に、しかも敏速に知識を共有できる。…

便利さとお節介のトレードオフ

学習するシステムは本当に使いやすいか?学習してユーザーに適応するシステムは便利なのかただのお節介なのか?ちょっと自分で考えた例を挙げてみよう。 仮名漢字変換の学習で候補の順序が変わる ワープロソフトの仮名漢字変換はユーザがよく使う言葉が上の…

学習システム

私は数年前から学習システムというのに漠然と興味を持ってていろいろ調べてた。学習ってのはエージェントに必須な機能の1つだ。 適応インタフェース(2004/1/9) パーソナルライブラリアン(2005/5/9) 学習システムが本当に使いやすいか?というのはいろい…

ニューラルネットを使った逃避行動の学習

ニューラルネットによるパターン認識(2005/5/5)の続き。nn_escape.jarニューラルネット(3層パーセプトロン)を使ったサンプルプログラムを書いてみた。ニューラルネットへの入力はエージェントの周囲9マスの状況(敵がいるかいないか)で出力は逃げる方向…

ライフログ

人間は本来、記録を残したがる性質を持っているのだろうか?日記、写真、ホームビデオはもちろん近年のブログ人気もそれを示している感じがする。かくいう私も記録を残すのがすごく好きなメモ魔だ。恋するプログラム(2005/5/7)に 別の機会に書こうと思うけ…

パターン認識

ニューラルネット(3層パーセプトロン+誤差逆伝播法)を使ったパターン認識のサンプルプログラムを書いていた。パーセプトロン(2002/6/20)、2層と3層の違い(2002/6/21)、以来ほぼ3年ぶりにニューラルネットのサンプルを書いたのだけど1度プログラムする…

適応インタフェース 機械学習とヒューマンインタフェースの接点

ヒューマンインタフェース(Human Interface : HI)関係のレポート書くので題材探してた。最近のHI研究は、ポストGUIとして、拡張現実、ユビキタス、ウェアラブルみたいな実世界指向が流行ってることがつかめた。つまり、画面の中の情報世界から実世界を対象…

最近、面白いと思ったこと

最近、書きたいと思うことのネタが切れてきた。去年に比べて人工知能関係の本(ネタになりそうな本)を読まなくなってきたのが原因。最近、面白かったこと書きたいと思う。 JSP/サーブレット Javaは一番よく使う言語だけどサーバーサイドといわれるのはほと…

EMアルゴリズムと独立成分分析

について勉強した。EM(Expectation-Maximization)アルゴリズムというのは不完全データからの最尤推定法の一種。なんかどこかで聞いたことあると思ったら前にバイオインフォマティクスで隠れマルコフモデルをやってたときに出てきていた。最尤推定ってやつ…