2008-07-01から1ヶ月間の記事一覧

SMOの収束速い!

KKT条件だけじゃなくて、変位の合計を見て収束しているかどうか判定するようにしたら、これめちゃくちゃ収束速いじゃないですか。 非線形分離の方で50回程度、線形分離の方だと2回とか3回で収束しちゃってます。 線形分離の場合で分離面が全然変なところに行…

SVMの学習用アルゴリズムSMOを実装してみる

SVMは2次最適化問題になるので、それを勉強してみてはということだったのですが、SVMに特化したSMO(Sequential Minimal Optimisation)アルゴリズムがあるということなので、そちらをやってみました。 SVMの制約条件に というのがあって、yiは正例なら1、負…

Seasarは自由ではない?

公式なところ以外では質問してはいけないというのは、どうかと思うのですが。 Seasarの技術情報を2chで求めるのはやめなさい 2chは、技術横断的な質問を同じ場所で行えて、しかもある程度のレベルの答えが返ってくる稀有な場所だと思うのですが、それを使っ…

Log4Jでファイルを動的に切り替える

ユーザーの指定によって出力先を変えたりするとき。 とりあえず、ファイルを閉じれないとファイルの書き込みが完了しなかったり、ファイルをにぎりっぱなしになったりするので、closeFileを呼び出してファイル閉じたいのだけど、protectedなので、継承してpu…

ログその後

結局、Log4Jの設定ファイルは記述が難しすぎて教育できないということで、設定ファイルは表に出さず普通にlog=true/false程度のプロパティで切り替え自体は自前でやることになって、それなら別にどのログAPIでもえぇやん、ということになりましたとさ。 めで…

Log4Jの落とし穴

ということで、Log4Jを使おうと思ってlog4j.jarをクラスパスに含めたら、今までおとなしかったライブラリがモノを言い始めた。 まずはBeanUtils。でも、これはloggerがねぇよ!って言ってるだけだったので、log4j.properties的なファイルにこんなのを追加す…

java.util.logging使えね

実行状況を表示してるのをファイルにも書いてとか、プロパティで出力の有無を切り替えれるようにしてとか言われて、ログAPIを使おうと思って、とりあえず標準のjava.util.logging使おうと思ったんだけど、設定がインストールしたJDK全体に及ぶとか、使えなす…

これを線形時間で解くには

さて、これで求めたい文字列が得られたわけですが、ここでアルゴリズムとして全ての順列について検査しているので、計算時間がO(n!)になってしまいます。 そこで、これを線形時間、つまり、入力文字列数nと出力文字列数mに比例した計算時間O(mn)になるように…

こんなプログラムを作ったけど

こないだの問題。 http://d.hatena.ne.jp/nowokay/20080717 Javaで書くとこんな感じか。 public class SBH { public static void main(String[] args){ sbh(new String[]{"BAB", "ABA", "AAB", "AAA", "BAA"}); sbh(new String[]{"BAB", "AAB", "AAA", "BAA"…

こんなプログラムを書いてみよう

文字列の集合{ BAB, AAB, BAA, AAA, ABA }があるとき、これらのすべてを1回ずつ含み、かつ、3文字の部分文字列としてはこれらの文字列しか含まない文字列は、BABAAABとBAAABABの2通りある。 文字列の集合が{ BAB, AAB, BAA, AAA }のときは、そのような条件…

サポートベクターマシンの本

うちにある本で、サポートベクターマシン(SVM)について書いてある本をあげてみます。 まずは、これ。機械学習ってなんなの?という人におすすめ。パーセプトロンからSVM、ニューラルネットワークときて、そうやってできた学習機械の評価方法についても書いて…

ソフトマージンサポートベクターマシン

いままでやってたSVMは、動きがそうなってるかどうかは別として、学習データが誤判別されないように識別面を選ぶのですが、学習データの中にありうる外れデータを考慮できるようにするのがソフトマージンSVMです。 いままでやってたのはハードマージンSVMと…

非線形サポートベクターマシン

とりあえず最適化の問題は置いておいて、ここを参考に非線形分離できるようにしてみました。 http://www.neuro.sfc.keio.ac.jp/~masato/study/SVM/SVM_3_1.htm さぁ,これで君も非線形SVMのコーディングができちゃうのだ.素晴らしき哉. ほんとにできた。 …

線形サポートベクターマシン失敗

とりあえずの目標はサポートベクターマシンてことで、次のサイト参考に組んでみました。*1 http://www.neuro.sfc.keio.ac.jp/~masato/study/SVM/index.htm なんか、なぜかちゃんと角度的にはいい感じになってるけど、ぜんぜんマージン最大化していません。見…

imaizumi.web

tenjin.webよりも範囲をせばめてマニアックにやる集まり

挨拶全否定?

コミュニケーションに中身があるとかないとか関係ないでしょ。 「こんにちは」とか「おはよう」というのは大事なコミュニケーションだけど中身はないよね。 そういう意味で、コミュニケーションということをわかってないだけだと思われる。 コミュニケーショ…

POI3.1でPowerPointを画像にエクスポートできると聞いたのだが

ここを見ると Export PowerPoint slides into image と書いてあってパワポのスライドを画像にエクスポートできると書いてあるのだけど。 Apache POI 3.1-FINAL - DZone パワポ中の画像を取得するAPIしか見つからんでごんす。

バックプロパゲーションでニューラルネットの学習

ニューラルネットというのは、入力があって、複数の階層を経て出力を得るようなグラフ構造のことです。通常は、入力層・中間層・出力層のように層構造になっているようなものを差します。中でも、中間層が1層の、3層構造になっているものが多くとりあげられ…