タグ

ブックマーク / poly.hatenablog.com (6)

  • 第9回PRML読書会 - 遥かへのスピードランナー

    土曜日はサイボウズ・ラボで行われた第9回PRML読書会に参加しました。 自分は発表者トップバッターでSVMの基的なところを説明しました。 参加者の方からもいろいろ指摘をいただきました。 なぜマージンを最大化するとよいのか?の説明で『まず2値に分類された学習データをガウスカーネルでのParzen推定を適用して入力の分布を推定する。誤分類が最小になる分類平面は、ガウスカーネルの分散を→0の極限において、マージンを最大化する分類平面に一致する』とあるが、なぜ分散を0に近づけるのかがわからない。 そういうものとして理解するしかない?理論的な説明はまだ分からずです。。 Randomized Algorythmを適用してSVMの計算を高速化する手法がある。 ちょっとググってみたところこの辺ですかね。いろいろと制約はるみたいですがO(log n)で二次計画問題の近似解が求まる! biasをゼロと仮定し

    第9回PRML読書会 - 遥かへのスピードランナー
    mrorii
    mrorii 2010/04/08
  • Rでガウス過程による分類を実装 - 遥かへのスピードランナー

    PRMLの6.4.5〜6.4.6の範囲にあるガウス過程による分類をRで実装してみました。 ソースコード全文はgithubにアップしています。 http://github.com/thorikawa/prml/blob/master/gaussian_process_classify.R ここでは例として、(1,0),(2,0),(3,0)で1、(0,1),(0,2),(0,3)で0の値を取る訓練集合を用いています。 # Training data x=list(c(1,0),c(2,0), c(3,0), c(0,1), c(0,2), c(0,3)) t=c(1,1,1,0,0,0) training_data_num <- length(x) この訓練集合とカーネル関数をもとに予測分布を導出しています。 ガウス過程においては、訓練集合から予測分布を決める(ほぼ)唯一の要素はカーネル関数

    Rでガウス過程による分類を実装 - 遥かへのスピードランナー
    mrorii
    mrorii 2010/04/07
  • Rでニューラルネットワーク(2変数の関数近似) - 遥かへのスピードランナー

    で、1変数の関数近似がうまくいったので、調子にのって2変数の関数近似にもチャレンジしてみました。 2変数のsinc関数を、ニューラルネットワークの誤差伝播法を使って近似する(しようとする)ものです。 library(animation) #number of training data N <- 30 #number of hidden unit s <- 5 #learning rate parameter l <- 0.01 #standard deviation of training data sd <- 0.05 #count of loop LOOP <- 10000 #frame interval of animation movie INTERVAL <- 0.1 #total time of animation movie TOTAL <- 20 #initialize

    Rでニューラルネットワーク(2変数の関数近似) - 遥かへのスピードランナー
  • Rでニューラルネットワーク(1変数の関数近似) - 遥かへのスピードランナー

    機械学習・パターン認識方面の勉強初めてから4ヶ月ほど立ちました。最近はnaoya_tさん主催のPRML読書会に参加させて頂いています。 来週末8/29の第6回読書会ではニューラルネットワークの章の発表を担当することになったので、Rを使ってサンプルプログラムを組んでみました。参考にしたのはPRML5.1〜5.3の範囲で、sin関数からサンプリングした点データをニューラルネットワークを使って誤差逆伝播法で学習し、元のsin関数を近似します。 学習前の初期状態が以下の図。赤字が元の関数(線)およびサンプルデータ(点)で青字がニューラルネットワークの出力です。 で、学習後の状態が以下です。 いい感じに再現できています。 以下ソースコード。 library(animation) #number of training data N <- 50 #number of hidden unit s <-

    Rでニューラルネットワーク(1変数の関数近似) - 遥かへのスピードランナー
  • ニューラルネットワークで画像認識 - 遥かへのスピードランナー

    ニューラルネットワークの簡単な関数近似プログラムを先日書いたので、今は画像認識プログラムを書いてますが、ものすごく簡単なバージョンが出来上がったので晒しておきます。 C++で画像解析部分を作って、Rで訓練データの学習、テストデータの判定をしています。 MNISTの手書き文字から学習データ準備 まずは、インプットとなる画像のデータですが、定番のMNISTの手書き数値データを使います。 元々のIDXフォーマットというフォーマットは再利用性が無さそうなので、http://www.cs.toronto.edu/~roweis/data.htmlから既にJPEG化されたものを引っ張ってきてそれを解析します。 OpenCVを使って2値化+CSV出力する簡単なプログラム。 #include "cv.h" #include "highgui.h" #include <stdio.h> #include <

    ニューラルネットワークで画像認識 - 遥かへのスピードランナー
  • WEB+DBプレスの「[速習]レコメンドエンジン」のサンプルプログラムを訂正してみる - 遥かへのスピードランナー

    プリファードインフラストラクチャーのid:tkngさんと岡野原さんがWEB+DBプレスvol.49に「[速習]レコメンドエンジン」という記事を書かれています。 WEB+DB PRESS Vol.49posted with amazlet at 09.03.08 技術評論社 売り上げランキング: 359 Amazon.co.jp で詳細を見る レコメンドエンジンには前々から興味を持っていたので、早速サンプルコードを自分でも書いてみるか、と思い誌面のソースをXCodeに打ち込んで動かしていたのですが、コンパイルが通らない。 なにぶんC++なんてほとんど書いたことがないので、自分のやり方が悪いのかと疑ったのですが、代入する変数が間違っていたりミススペルがあったりなど、おそらくこれは誌面のソースが間違っているのだろうという結論に至りました。 例えば・・・ p130 リスト2より #include

    WEB+DBプレスの「[速習]レコメンドエンジン」のサンプルプログラムを訂正してみる - 遥かへのスピードランナー
  • 1