JavaScriptで決定木

前回のAS3でNaive Bayesによる文書分類に関連して機械学習による分類問題を扱います。 今回は決定木(Decision Tree)をCanvasに描いてみます。前回のナイーブベイズよりも決定木の方が解釈が簡単で、分類過程が見た目にも分かりやすいので手軽に試すことができました。今回も理論的な部分はWebや書籍の方を参考にしてもらって、ここでは試したことだけ書きます。 今回扱う問題は集合知プログラミングにある「サインアップを予測する」を取り上げます。これは、あるユーザーがあるWebサービスの…

CanvasとBitmapとよもやま話

久しぶりにフロントエンド寄りのこと。 ウチの会社の制作本部の人達と久しぶりに飲みに行ったので、彼/彼女らの仕事の進め方みたいなものを聞いてきた。一般的なWebサイト制作はもちろん、FlashやJavaScriptなどの技術力も僕より数倍上な人達だ。大きな組織の内でプロのデザイナーとしてたくさんの人と競争し続けてきたわけだから優秀で当たり前なのかもしれない。趣味程度にやってる僕なんかとは違う。 * CanvasとBitmapについて 彼らはしばらくCanvasを使ったアニメーションやゲームなどの案…

HLAC: 高次局所自己相関特徴

今回は画像特徴量の1つである高次局所自己相関特徴 (HLAC: Higher-order Local AutoCorrelation)について。 HLACは画像認識に対する基本的な要望としての位置不変性および加法性を満たすものであり、一次にとどまらない高次の相関に基づく統計的特徴量になっています。現在では様々なHLACの発展系が生まれていますが、今回はその基本となるアルゴリズムについて整理したいと思います。 基本アルゴリズム 自己相関関数を高次に拡張したN次の自己相関関数は、対象となる画像領域内…

Flash, HTML5 Canvas + OpenCV

前回はWSGIアプリケーションからOpenCVを利用する例を挙げましたが、今回はクライアントをFlashとHTML5の両方で試してみます。といっても特別なことをする必要はなくて、公開されたURIからリソースを取得すればいいだけです。 、、 ということで既に先が見えて飽きてしまいましたが、簡単なデモと方針だけでも気力を振り絞って書いておきます。後はアプリ層の方々におまかせ;; OpenCVはPythonバインディングを使いますので、この部分は前回と同じくFlaskを使うことにします。クライアントが…

HTML5 playground

このブログ上からわざわざ個別にページを辿ってもらうのは申し訳ないので、 HTML5関連デモのまとめページを作りました。(ただのリンク集ですが;;) こちらから: HTML5 playground 今までに作ったCanvas(+ Web Workers)関連のデモをまとめています。 Firefox4が正式にリリースされ、より高度なAPIを試す機会も増えてきたので、 時間を作ってどんどん試していきたいと思います。

AS3でFunction.bind()

今回は久しぶりにActionScript(ECMAScript)関連を。 ECMAScript 5では Function.prototype に bind() メソッドが追加されます。 (JavaScript 1.8.5 で実装、ChromeやFirefox4などでは既に利用可能) Function.apply() や Function.call() と同じように利用できるので、 また一つ強力な技が備わったという感じでしょうか。 有名なJavascriptライブラリ prototype.js 由…

wonderfl,jsdo.it Meetup #1 行ってきた

wonderfl,jsdo.it Meetup #1 補欠繰り上がりになったので参加させていだたきました。 僕の本業とはかけ離れた層の方々がFlash,HTML5について様々な話をしていました。 普段は地面の下を潜って水道管を整備してるような立場で仕事してるので、 今回は制作サイドの方々に感性を刺激され、モチベーションが上がっていくのがわかりました。 たぶん。 制作サイドの知識はほとんどない自分ですが、 これを機にちょこちょことFlash, HTML5について勉強していきたいと思います。 手始め…