タグ

ブックマーク / rest-term.com (5)

  • JavaScriptで決定木 – Rest Term

    前回のAS3でNaive Bayesによる文書分類に関連して機械学習による分類問題を扱います。 今回は決定木(Decision Tree)をCanvasに描いてみます。前回のナイーブベイズよりも決定木の方が解釈が簡単で、分類過程が見た目にも分かりやすいので手軽に試すことができました。今回も理論的な部分はWebや書籍の方を参考にしてもらって、ここでは試したことだけ書きます。 今回扱う問題は集合知プログラミングにある「サインアップを予測する」を取り上げます。これは、あるユーザーがあるWebサービスの無料会員になるか有料会員になるかを事前に集めたデータから予測する分類問題になっています。決定木は文章で説明するよりも、決定木そのものを見た方が意味が分かりやすいのでサンプルを載せます。 Demo: Decision Tree on Canvas この決定木の見方ですが、例えばリファラーが”googl

    JavaScriptで決定木 – Rest Term
  • Flashでハイブリッドイメージ – Rest Term

    何日か前に、はてなでハイブリッドイメージが話題になっていたみたいです。 僕も数年前にJavaで作った記憶があり、懐かしさも覚えつつも今回はFlashで。 例によってマリリンシュタイン。 >> Demo (ハイパス/ローパスフィルタの半径をスライダーで変更可能) 今回のデモではアインシュタインの方にローパスフィルタを、 マリリンモンローの方にハイパスフィルタをかけています。 近視の人だとマリリンモンローはほとんど見えないはずです。 ただ、はてブの例ほど良い画像を組み合わせていないので、 近くで見てもアインシュタインが普通に浮かんで見えてしまいますが;; 2年前にASでFFTの処理は一度書いていたので、あまりすることがなかったです。 入力画像にハイパス/ローパスフィルタをかけてから足すだけ。 元論文ではガウシアンフィルタを併用しているようなのでそれもついでにかけておきます。 (FFTについては

    Flashでハイブリッドイメージ – Rest Term
  • HTML5の勉強 – Rest Term

    [crayon-6653a82095bdb975909371 lang="javascript" ] var Heart = function(canvas, n) { this.initialize.apply(this, arguments); }; Heart.prototype = { initialize : function(canvas, n) { if(canvas == undefined || canvas == null) return ; this.context = canvas.getContext('2d'); this.WIDTH = canvas.width; this.HEIGHT = canvas.height; this.SCALE = 25; this.FOV = 250; this.points = []; this.numPoints = 0;

    HTML5の勉強 – Rest Term
  • HTML5でConvolutionFilter – Rest Term

    HTML5のcanvasを使って簡単な画像処理をやってみます。 試してみたのは基的な畳み込みフィルタ。 今回はAS3のConvolutionFilter風のインタフェースで作りました。 Demo: HTML5 Image Processing (Convolution Filter) 汎用的に作ろうとすると少し時間がかかりそうだったので、ひとまず畳み込みフィルタの部分だけ。 引数はAS3のものよりずっと少なく、matrix, divisor, bias の3つ。 matrixXやmatrixYも用意してないのでフィルタカーネルのサイズは3×3限定だし、 異常系の処理も不十分で修正が必要ですが;; 他のフィルタ類は時間を見つけて作ってみようと思います。 ・クライアント例 var context = document.getElementById('Canvas').getContext('

    HTML5でConvolutionFilter – Rest Term
  • Symmetric Nearest Neighbor – Rest Term

    すこし落ち着いてきたので久しぶりにFlashを。 今回はSymmetric Nearest Neighbor (SNN)という手法を画像に適用します。 シンメトリック ニアレスト ネイバー。訳すと対称最近傍法。 画素値の差の絶対値を “距離” として、その距離が近い画素の値を選んでいきます。 対称としているのは注目画素に対して対称方向の位置にある2つの画素を参照するからです。 つまり、 1 2 3 4 5 6 7 8 9 とあって5が注目画素なら、1と9、2と8、3と7、4と6… の位置の画素を参照し、 注目画素との距離が近い方の画素の値を採用します。 メディアンフィルタやKuwaharaフィルタと同様にエッジを残したまま画像をぼかしますが、 両者より高品質な結果が得られることが多い手法で、写真が絵画っぽくなってくれます。 ・ソースコード package { import __AS3__.

    Symmetric Nearest Neighbor – Rest Term
    yo_waka
    yo_waka 2009/04/27
  • 1