<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Play hard, study hard! &#187; アルゴリズム</title>
	<atom:link href="http://blog.pakpak.jp/tag/%e3%82%a2%e3%83%ab%e3%82%b4%e3%83%aa%e3%82%ba%e3%83%a0/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.pakpak.jp</link>
	<description></description>
	<lastBuildDate>Sat, 27 Feb 2010 04:30:51 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>javascript de svm</title>
		<link>http://blog.pakpak.jp/2009/08/23/javascript-de-svm/</link>
		<comments>http://blog.pakpak.jp/2009/08/23/javascript-de-svm/#comments</comments>
		<pubDate>Sat, 22 Aug 2009 19:09:07 +0000</pubDate>
		<dc:creator>pakpak</dc:creator>
				<category><![CDATA[未分類]]></category>
		<category><![CDATA[アルゴリズム]]></category>
		<category><![CDATA[プログラム]]></category>
		<category><![CDATA[雑記]]></category>

		<guid isPermaLink="false">http://blog.pakpak.jp/?p=103</guid>
		<description><![CDATA[
紛失した過去記事の中で使っていたプログラムをサルベージ。
javascriptで実装したサポートベクターマシン(Support Vector Machine：SVM)のデモプログラムです。

デモ：
http://pa [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">
<p style="text-align: left;">紛失した過去記事の中で使っていたプログラムをサルベージ。<br />
javascriptで実装したサポートベクターマシン(Support Vector Machine：SVM)のデモプログラムです。</p>
<p style="text-align: left;"><a href="http://pakpak.jp/work/svm_javascript/"><img class="alignright size-full wp-image-104" title="ピクチャ 1" src="http://blog.pakpak.jp/wp-content/uploads/2009/08/427feeba2c3a5b495c286f27ae1fdcc3.png" alt="ピクチャ 1" width="313" height="336" /></a></p>
<p><strong>デモ：</strong></p>
<p style="text-align: left;"><a href="http://pakpak.jp/work/svm_javascript/">http://pakpak.jp/work/svm_javascript/</a></p>
<p style="text-align: left;">平面にプロットされた二種類の点（赤、青）を学習データとし、それら二種類の入力を識別する関数を求め、分離超平面（カーネルトリックってのを使ってるから曲面になる）を可視化しています。</p>
<p style="text-align: left;">正方形のマップ上で左クリックすると点がプロットされます。プロットする点の色は下の「change color」から変更します。「execute svm」をクリックするとそれまでの入力を学習し、識別関数を求めて分離超平面を可視化します。その下にある「parameter」と「kernel」は分離超平面の求め方を制御するためのものです。</p>
<p style="text-align: left;">canvas？何それ？状態な時期につくったもので、マップ表示は全部ただのdivタグですw あと、firefoxでしか動作確認していません。また、条件によって非常に計算量が多くなり、ブラウザが落ちちゃう可能性もありますので、その辺ご理解の上ご覧下さいm(_ _)m</p>
<p style="text-align: left;"><strong>SVM？何それ？</strong></p>
<p style="text-align: left;">って方に。<br />
<a href=" http://www.neuro.sfc.keio.ac.jp/~masato/study/SVM/index.htm">http://www.neuro.sfc.keio.ac.jp/~masato/study/SVM/index.htm</a><br />
もすこしちゃんと勉強したい方はこちらが参考になるかと思います。<a href=" http://www.ism.ac.jp/~fukumizu/ISM_lecture_2006/"><br />
http://www.ism.ac.jp/~fukumizu/ISM_lecture_2006/</a><a href=" http://arx.ee.utsunomiya-u.ac.jp/research/svm/index.html"></p>
<p>http://arx.ee.utsunomiya-u.ac.jp/research/svm/index.html</a></p>
<p><a href="http://ibisforest.org/index.php?SVM">http://ibisforest.org/index.php?SVM</a></p>
<p style="text-align: left;"><strong>自分の理解</strong></p>
<p style="text-align: left;">理論的なところをちゃんと理解した訳じゃないんですが、二種類のグループの間の距離（マージン）を最大化することで分離超平面を求めるという手法（線形SVM）のようです。でも平面だと曲面じゃないと分離できないようなケースに対応できないので、高次元の特徴空間に写像しておいて、そこで二つのグループを分離する超平面をもとめるという手法（非線形SVM）が用いられます。しかし、写像先での分離超平面を求める際に、その空間でのベクトル演算が必要になるのですが、高次元ベクトル演算の計算量は次元数に対して指数的に増大（たぶん）していくのでなるたけ避けたい。そのため、カーネルトリックとよばれる数学的手法が用いられる。これは、写像前のデータによる演算（実際必要なのは内積）をあたかも写像先で行ったかのように扱うことが出来る関数（カーネル関数）を用いる手法だそうです。（なんでそんなことが可能なのか私にはよくわかりません。。）特定の条件を満たす関数であればカーネル関数としてあつかっていいそうで、デモの「kernel」という項目ではそのカーネル関数のうちいくつかを選択することが出来るようになっているという訳です。</p>
<p>と、いつの間にかこんな時間だ。。おやすみなさいzzz</p>
<p style="text-align: left;">
]]></content:encoded>
			<wfw:commentRss>http://blog.pakpak.jp/2009/08/23/javascript-de-svm/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
