タグ

ブックマーク / d.hatena.ne.jp/nokuno (5)

  • 2010-02-25 - nokunoの日記

    第2回R勉強会に参加しました。第2回R勉強会@東京 : ATND私の方は、「Rでニューラルネットワークのパッケージを試す」というお題でLTをさせていただきました。Tokyo R 2 Machine LearningView more presentations from nokuno.発表に使ったコードを貼っておきます。 library(nnet) #training data x c(0.000000,0.111111,0.222222,0.333333,0.444444,0.555556,0.666667,0.777778,0.888889,1.000000) t c(0.349486,0.830839,1.007332,0.971507,0.133066,0.166823,-0.848307,-0.445686,-0.563567,0.261502) #learning phase

  • 多項分布の最尤推定 - nokunoの日記

    多項分布の最尤推定は確率モデルの基中の基であるが,意外と知らない人も多いので説明しておきたい.ここでいう多項分布は離散変数,たとえば単語や商品,ユーザなどの種類を表す変数の分布である.多項分布は頻度の分布を意味する場合もあるが,今回はNLP業界の慣習にならって観測回数が1回の場合を指す.このような変数はカテゴリカル変数などと呼ばれるらしい. 今,確率でi番目の単語が観測されるものとする.確率なので次の制約が成り立つ.この分布の元で単語が回観測されたとする.パラメータの元でこのような観測がされる確率を尤度関数と呼び,その対数は対数尤度関数と呼ばれる.各観測が上記離散確率の独立同分布に従うとすると,対数尤度関数は以下で表される.最尤推定は,観測値が与えられたときにこの対数尤度関数を最大とするようなパラメータを求める推定方法である.離散変数の場合は先ほどの制約を満たす中で上の対数尤度関数を最

  • nokunoの日記

    引き続き東大の「創造情報学連携講義VII」より賀沢さんの課題1でもある、IBMモデル1の実装を行いました。創造情報学連携講座IBMモデル1のEMアルゴリズムを実装してサンプルデータで結果を確認せよという問題です。 #!/usr/bin/env python from collections import defaultdict def train(corpus): pair = defaultdict(float) for english, forein in corpus: for e in english.split(" "): for f in forein.split(" "): pair[(e,f)] += 1. print 'pair:', pair t = defaultdict(float) for e,f in pair.keys(): t[(e,f)] = 0.25 f

  • PRML#15 隠れマルコフモデル - nokunoの日記

  • 「言語処理のための機械学習入門」を参考に各種モデルに対するEMアルゴリズムを実装したよ - nokunoの日記

    Amazonにもレビューを書いたのですが、高村さんの「言語処理のための機械学習入門」を読みました。実はこのを読むのは2回目で、1回目はドラフト版のレビューをさせていただく機会があったのですが、そのときは「言語処理研究者のための機械学習入門」というタイトルで、ちょっと敷居が高いのではないかとコメントしたら「研究者」の部分が削られたという経緯があったりしました。 それはともかくとして、以前読んだときは時間もなくて実装までする暇はなかったのですが、今度はもうちょっとじっくり読みたいなということで、このブログに書いてみようと思います。EMアルゴリズムは教師なし学習を確率モデルと最尤推定でやろうとするときに必ず出てくる手法で、隠れ変数や欠損値を含む色々なモデルに適用できる汎用的なフレームワークになっています。一般的には混合ガウス分布の場合をまず説明して、それがk-means法の一般化した形になって

  • 1