読者です 読者をやめる 読者になる 読者になる

謎言語使いの徒然

適当に気になった技術や言語を流すブログ。

Scala で解く「プログラマ脳を鍛える数学パズル」

病院行ったついでに待ち時間暇すぎて書店で見かけたやつ。 www.amazon.co.jp これの問2 1000 - 9999 の中で、「351 , 3 * 51 = 153」(計算結果が元の逆順になる)みたいな数字を見つけ出せ。 使っていいのは四則演算のみで、必ず1回は計算すること。 これ…

K-平均法

データを分類する為のアルゴリズム。 データの分類にはデンドログラムというアルゴリズムが有名。 デンドログラムとは 何らかの評価関数で、全ての要素間の類似度を計算する。 最も類似していると判定される二つをまとめて、平均値を持った1要素とする 「全…

ランダムフォレストを実装する

ランダムフォレスト? 実装してみた感じ、教師ありデータから分類・学習し、その後に与えられた未知のデータに対して、識別・分類を行うアルゴリズム。 正答率は 7-8 割位が目安。余り複雑な学習はできない。他のアルゴリズムと組み合わせて使うといい感じに…

第三回機械学習アルゴリズム実装会行って来た

正確には行って来たのは昨日なんですけどね。 ランダムフォレストという学習アルゴリズムの実装会でした。 内容はこれ。 http://www.slideshare.net/teppeibaba5/ss-37143977 次のエントリで実装したものを書く。

力学モデル

何というかメモ。 グラフを作画しようと思ってもなかなかレイアウトで良いアルゴリズムが思い浮かばなかったので調べてみた。 因みに最初に聞いてなんとなく困ったのが、衝突判定+摩擦係数方式。 単純にGUIで円としてアイテムを配置し、円同士が衝突 or 重…

昨日の続き

昨日 お勧め映画検索のデータ準備 - 謎言語使いの徒然 の続きで、実際に人の組み合わせをやってみたわけ、、、、だがっ! 総勢 6040 人。組み合わせ数 18,237,780 ユーザIDを Long として保存したので 4 バイト。72,951,120 MB のデータ容量。 まぁこの位は…

お勧め映画検索のデータ準備

2人間の類似値を取得する - 謎言語使いの徒然 2人間の類似値を取得する(2) - 謎言語使いの徒然 この辺の続き。 近似値が出ていれば、ある人間 azalea から見てある程度近しい人間を選び、お勧めしてる商品(azalea が持っていないもので、相手がプラス評価し…

2人間の類似値を取得する(2)

ピアソン相関を使って類似度を出力する ピアソン相関ってなんぞ?と思った人は統計学の講座。 参考になるのが下記 http://kusuri-jouhou.com/statistics/soukan.html http://www.koka.ac.jp/morigiwa/sjs/les10801.htm 片方は薬学ですがキニシナイ。 論よりR…

2人間の類似値を取得する

ユークリッド距離で計算。 まずはデータソース val source = Map( "azalea" -> Map( "Java" -> 5, "C#" -> 5, "Python" -> 2, "Perl" -> 2, "Scala" -> 5, "C" -> 4, "C++" -> 4 ), "nullpobug" -> Map( "Ruby" -> 4, "Python" -> 5, "Java" -> 4, "PHP" -> …

ランポートのパン屋

そんな面白そうな単語を職場で聞いたものだから調べて覚えるしかないなと。http://ja.wikipedia.org/wiki/%E3%83%A9%E3%83%B3%E3%83%9D%E3%83%BC%E3%83%88%E3%81%AE%E3%83%91%E3%83%B3%E5%B1%8B%E3%81%AE%E3%82%A2%E3%83%AB%E3%82%B4%E3%83%AA%E3%82%BA%E3%8…

末尾呼出と最適化

ある関数Aが、Bを呼ぶだけの場合、Bの呼び出しをジャンプで呼び出すと、スタック消費が無いとか、諸々最適化できるという話。 コレが Tail call optimization なわけですが、Scalaの2.8では自動でやるどことか、Trampoline for Tail Call までやるらしい。 …

Aspect 指向のライブラリで、インスタンスキャッシュ(シングルトン)しようとして頓挫した、、、

Aspectが全てシングルトンだと過程して、「AAspect」→「BAspect」→「メソッド実行」のチェーンを組んで、実メソッド実行後に「実行メソッド」→「BAspect」→「AAspect」で戻れる実装が再起を除いて思い浮かばない。 再起でスタックを組んでしまうと、「BAspec…

Aspect 指向のライブラリを複数対応できるようにしてみた

http://www.white-azalea.net/index.php/p/azaleaworks/downloads/アップデートしてみました。 これで複数のアスペクトも同時実行できる。 namespace TestAspect { class Program { static void Main(string[] args) { SampleTarget target = new SampleTarg…

基本的な Aspect 実装をしてみた

結局、RealProxy 経由する限り、オブジェクトが MarshalByRefObject になるのは避けれないし、Attribute 実装で new をフックするにも、ContextBoundObject でないと、Attribute インスタンスでフックできない。 とはいえ、これはこれで使ったほうが早いかと…

素の .NET で Aspect 指向したくてがんばってみた。

C# の .NET でアスペクト指向がしたくて根性出してみた。 あぁ、Python ならデコレータで一発なのに、、、、とかやってて思った。*1実装方法的には、RealProxy 噛ませば、メソッドコールを基本すべて横取りできる。 で、RealProxy ラップすると、GetTranspar…

たらいまわし関数

いまさらかもしれないが、関数型言語勉強会で、たらいまわし関数についてやってたので、Pythonでどうにかしてみた。 というのも、現場でPythonを使った回答がうまく出来なかった為、リベンジしようという話。Haskell のたらいまわしtmaeda 日記 C++でたらい…