タグ

Programmingとsvmに関するtorutoのブックマーク (4)

  • Zinniaの多クラス分類法 - 射撃しつつ前転 改

    ZinniaというSVMベースの新しい手書き文字認識エンジンがリリースされたので、早速ソースコードを少し読んでみた。 文字認識というのは、機械学習では多クラス分類という問題に分類される。しかもクラス数が認識したい文字数(数千文字程度だろう)分だけ存在するという、なかなか計算量的に厳しい問題である。二値分類器を使って多値分類器を構成する方法にはone vs rest, one vs one, その他にもいろいろあるらしいが、その中のどれを使っているのかというところに興味があった。Webによると、50〜100文字/秒の認識速度と書いてあったので、コードを読む前の予測としては、one vs oneかなーと思っていた。(速度的にはone vs oneの方がone vs restより速い。) しかし、そんな予想を裏切り、recognizer.cppの148行めあたりからには以下のようなコードが書いて

    Zinniaの多クラス分類法 - 射撃しつつ前転 改
  • きまぐれ日記: Zinnia: 機械学習ベースのポータブルなオンライン手書き文字認識エンジン

    オンライン手書き文字認識エンジンZinniaを公開しました。 http://zinnia.sourceforge.net/index-ja.html Zinniaは機械学習アルゴリズム SVM を用いたポータブルで汎用的な オンライン手書き文字認識エンジンです。Zinniaは組み込みの容易さと汎用性を高めるために、 文字のレンダリング機能は持っていません。Zinniaは文字のストローク情報を座標の連続として受け取り、 確からしい順にスコア付きでN文字の認識結果を返すだけに機能を限定しています。 また、認識エンジンは完全に機械学習ベースであるために、文字のみならずユーザの任意のマウス・ペンストロークに対して任意の文字列をマッピングするような認識エンジンを小コスト作成することができます。 2年前に、Ajax手書き文字認識と言うものを作ったのですが、その認識エンジンをスクラッチからポータブルでつ

  • 線形SVM 〜 コーディングに必要な式 〜

    線形SVM 〜 コーディングに必要な式 〜 戻る 線形SVMの識別関数は,次のように定義される. ただし. は入力ベクトル,ベクトルおよびスカラーは識別関数を決定するパラメータ. ニューラル的な表現をすると識別関数は2層パーセプトロンと見ることもできて,は結合係数,はバイアス結合あるいは出力ニューロンの閾値と考えることが出来る. さて,パラメータとを学習によって求めたいわけである. SVMの学習は,バックプロパゲーションのようにこれらのパラメータを直接,逐次学習によって求めるわけではない.ラグランジュ未定乗数ベクトルを学習により求めることで,パラメータおよびを求める,というまどろっこしい方法をとるのですよ.意味については次ページで説明するので,ここでは必要な式だけをまとめる. 学習データは個与えられているとし,と表す.これらのデータを2つのクラスおよびに分離することを考え

  • http://www.bi.a.u-tokyo.ac.jp/~tak/index.html

  • 1