タグ

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

  • 2008-07-01 - きしだのはてな - バックプロパゲーションでニューラルネットの学習

    ニューラルネットというのは、入力があって、複数の階層を経て出力を得るようなグラフ構造のことです。通常は、入力層・中間層・出力層のように層構造になっているようなものを差します。中でも、中間層が1層の、3層構造になっているものが多くとりあげられます。バックプロパゲーションは、誤差逆伝播法とも言って、ニューラルネットワークのパラメータを学習するための手法です。 ニューラルネットについてのサイトやでは、中間層を多層に対応した一般的な表現で説明されることが多いのですが、なかなか式を読み解くのが難しかったりするので、今回は3層で入力が2パラメータ、出力は1つ、中間層のニューロンは2つという、単純なものを取り上げます。 では、3層ニューラルネットワークでの判定時のデータの流れを見てみます。 3層ということになっていますが、実際の処理は2層になっています。実装するときには2層だと考えたほうがわかりやすい

    2008-07-01 - きしだのはてな - バックプロパゲーションでニューラルネットの学習
  • [機械学習]サポートベクターマシンの本 - 2008-07-15 - きしだのはてな

    うちにあるで、サポートベクターマシン(SVM)について書いてあるをあげてみます。 まずは、これ。機械学習ってなんなの?という人におすすめ。パーセプトロンからSVM、ニューラルネットワークときて、そうやってできた学習機械の評価方法についても書いてあります。 フリーソフトでつくる音声認識システム パターン認識・機械学習の初歩から対話システムまで 作者: 荒木雅弘出版社/メーカー: 森北出版発売日: 2007/10/01メディア: 単行(ソフトカバー)購入: 45人 クリック: 519回この商品を含むブログ (39件) を見る SVM・カーネルに関しては記述が軽く、これも機械学習の入門書。けど、学習機械を組み合わせるブースティングなどの話が書いてある。 パターン認識と学習の統計学―新しい概念と手法 (統計科学のフロンティア 6) 作者: 甘利俊一,麻生英樹,津田宏治,村田昇出版社/メーカー

  • ところでサポートベクターマシンって何なの? - きしだのHatena

    最近、機械学習とか、そのアルゴリズムのひとつであるサポートベクターマシンとかやってるわけですが、そもそも機械学習ってなんなんでしょか? 機械学習ってのは、なんとなく与えられた点の分類から、新たに与えられた点の分類を推測するのですが、ようするに、点が与えられたときにそこから分類の領域を推測しておいて、新たな点がきたときにはどの領域に入るかを判別するのです。 ニューラルネットワークは、名前にニューロンとかついてて、とてもステキな響きがするのですが、あれは関数のあてはめを行っているのです。そうやって関数をあてはめることで、領域の境界面を求めます。 NN法は、学習とかせず、一番近いデータが同じ分類になるはずという戦略でやってます。 サポートベクターマシンも考え方としてはNN法と同じで、新しい点がやってくると、学習したそれぞれの点までの近さを計算して、一番ちかい分類を求めます。そのため、学習データが

    mrorii
    mrorii 2010/05/10
  • 線形サポートベクターマシン失敗 - きしだのHatena

    とりあえずの目標はサポートベクターマシンてことで、次のサイト参考に組んでみました。*1 http://www.neuro.sfc.keio.ac.jp/~masato/study/SVM/index.htm なんか、なぜかちゃんと角度的にはいい感じになってるけど、ぜんぜんマージン最大化していません。見てみたら、λは0以下にならないはずなのに、-4000とかになってるし。 で、よく考えたら、どうにか無理やり の条件にあてはめてやってたけどλ≧0っていう条件を考えていないし、といろいろ試行錯誤して、どうも単純な最急降下法でやるのがまずいんじゃないかなと思ったのです。 上記のサイトでは「それは考えてみてよ.」と軽く書いてあったけど、これって、研究分野になるじゃないの? 結局、そういうのをどうにかするために、SMO法とかSVMLightとかいう分割法があって、それを使わないといけないということまで

    mrorii
    mrorii 2010/04/23
  • SVMの学習用アルゴリズムSMOを実装してみる - きしだのHatena

    SVMは2次最適化問題になるので、それを勉強してみてはということだったのですが、SVMに特化したSMO(Sequential Minimal Optimisation)アルゴリズムがあるということなので、そちらをやってみました。 SVMの制約条件に というのがあって、yiは正例なら1、負例なら-1となる値なのですが、そうすると、ようするにこの条件は、正例のαの合計と負例のαの合計が等しくなるということを示してるわけです。 この条件をつかうと、ひとつαを操作したときには、ほかのαを操作して、正例と負例のバランスを取る必要があることがわかります。 で、このことを利用して、同時に2つのαを操作することにすると、解析的に一つ目のαが求められて、2つ目のαはそこから足し算引き算で求められてお徳かも、というのがSMOの考え方です。 問題は、いかに効率よく更新する2つのαを決めるかということになります。

  • いまSICPを読むのは時間の無駄 - きしだのはてな

    SICPは、よい内容について書かれたであり、最良のだった時期もあった。 けれども、今となっては、理解が難しく内容の割には時間がかかる、時間の無駄ともいえるといってもいいかもしれない。 もちろん、Schemeの可能性、数値計算、プログラミング、コンピュータ教育歴史、そしてSICP自体のすべてに興味があれば、効率がいいかもしれない。 けれども、コンピュータ教育歴史、SICP自体に興味がないのなら、あまり効率のいいとはいえない。特に、Scheme、数値計算に当面の興味はなく、プログラミングについてだけを学びたいのであれば、時間の無駄でしかないと思えるし、今となっては足りない部分もある。 SICPの欠点として、まず、次の点が挙げられる。 日語がよみにくい サンプルに数学の知識が必要 プログラムがよみにくい 日語がよみにくいというのはよく指摘される。ただこれは翻訳だけが悪いのではな

    いまSICPを読むのは時間の無駄 - きしだのはてな
    mrorii
    mrorii 2009/05/09
  • 1