今僕はstatic-perlという、Perl上で動く静的な型を持つVMを持った言語バーチャルマシンを作成しています。 オープンソースで開発していて、他の開発者の方からpull requestを受け取っているのだけれど、pull requestをマージする前に必ずやっていることがある。 マージする前にタグをつけておく いまmasterブランチにいたとして「foo」という他の開発者が作ってくれたブランチをマージする。
class Lifegame attr_accessor :cells def initialize(y = 0,x = 0) @cells = Array.new(y) { Array.new(x,0) } end
今回は前回の記事の最後に言っていた変分混合ガウス分布を実装しました。前回はEMアルゴリズムを用いて混合ガウス分布のパラメータを最尤推定しましたが、今回は変分ベイズ法を使って混合ガウス分布のパラメータをベイズ推定します。前回の実装では混合ガウス分布の混合要素数をこちらが設定していましたが、変分ベイズ法を用いることで自動的に混合要素数を決定してくれます。他にもベイズ的に扱う利点がいくつかあります。 通常の混合ガウス分布の最尤推定では混合係数$\pi_k$、平均$\mu_k$、共分散$\Sigma_k$(もしくは精度$\Lambda_k$)を最尤推定しましたが、今回はそれら全てが確率変数だとしてその確率分布を推定します。 今回用いるモデルをグラフィカルモデルにしたものが下の図(PRML図10.5より抜粋)です。 これらの確率変数全ての同時分布は p({\bf X}, {\bf Z}, {\bf
最近、コンピュータサイエンスなどの基礎的な知識を学習するように心がけている。できる限り今後も長い期間役に立つ、寿命の長い技術や知識を付けておきたいためである。その一貫で アルゴリズムを学習 してみている。 学習をはじめて感じた課題 しかし、とりあえずアルゴリズムを学習してみると、学習を続けられるか分からないという課題も感じた。 寿命の長い技術であるほど、日々の開発にすぐに利用できないことが多い 例えばアルゴリズムを学んだとしても、それが役立つまでいくにはある程度長い時間が必要 日々の開発に利用できていないと、モチベーションをずっと保ち続けるのが難しい モチベーションが保てないと、結局途中で勉強をやめてしまい、日々の開発に利用できるレベルまでたどり着けない 流行りの技術とかは、すぐに開発に導入してみるとかができるので、とりあえずモチベーションは保ちやすい。しかし、数学とかアルゴリズムとかLi
はじめに 株式会社サイシードのサマーインターンシップに参加してLINE Chatbotを開発してきました。2016/9/29にLINEから公式版のMessaging APIが発表されたので、今回は公式版のほうで自動応答してくれるbotを作成しました。 【LINE】chatbotの開発・普及に向けて新たな展開を発表、新たなMessaging APIを公開し、開発者への正式提供を開始 https://linecorp.com/ja/pr/news/ja/2016/1516 追記(2016/10/18) githubでbotのソースコードを公開しました。 https://github.com/Sciseed/yukko-line-bot システム構成 今回の開発環境は以下の通りです。 ・Python 3.4.0 ・Heroku ・Django 1.8.14 作り方 0.サーバーを構築 今回はHe
私的Chainer入門してみたイキオイで、続きをやってみることにする。 とはいえ、chainerを極める方向に行くよりも、いろいろと食い散らかしておきたい。 まあ、そんなワケで、TensorFlowである。 MNIST For ML Beginnersを参照しつつすすめる。 私的Chainer入門やPythonでKNNを使った手書き文字認識でもMNISTを扱ったワケだけれど、こいつをつかって「数字判別機を作る」というのは、機械学習のチュートリアルの基礎中の基礎だ。言うなれば、Oracleデータベースを初めて触る人がscott/tigerのempデータベースをselectするSQL文から入るようなもんだ。 TensorFlowの準備から PythonからTensorFlowを使う。AnacondaでPython環境を作っているので、ドキュメントに従い、以下のようにインストールする。
概要 ChainerでローカルのCSVファイルを扱う方法です。 Chainerの公式サイトに載っているMNISTのサンプルはライブラリから直接データを取得していたので、CSVファイルを扱う方法が分からず調べた次第です。 環境 $ sw_vers ProductName: Mac OS X ProductVersion: 10.11.6 BuildVersion: 15G1212 $ python --version Python 3.5.2 :: Anaconda 4.1.1 (x86_64) $ pip list --format=legacy | grep chainer chainer (1.18.0) 学習に使用するデータ kaggleのチュートリアル的存在である、タイタニック号の乗客の生死を予測するコンペのデータを使いました。 Titanic: Machine Learning
Neural Networkモデル の 誤差減少 が 長時間 止まる "plateaux" 滞留 問題 を 解消する「自然勾配学習法」の Theano 実装コード 事例 DeepLearning深層学習人工知能InformationGeometryNeuralNetwork ( GitHub )pascanur/natgrad Natural Gradient implementation in Theano Implementation of natural gradient in python using Theano. Contact: Razvan Pascanu (r.pascanu@gmail...) License: 3-clause BSD ( GitHub )yingzha/natgrad forked from pascanur/natgrad Natural Grad
クロスプラットフォームなデスクトップアプリ開発ができるElectronですが、よりデスクトップアプリらしさを追求していくとクロスプラットフォームなどというものはやはり幻想だったということ思い出します。 プラットフォームごとにアプリに一般的に期待される挙動が違う プラットフォームごとにElectronの挙動が微妙に違う 機能の実現にそもそものElectronのAPIが足りない そんなことがあってAPIを追加したいと思っていたことがあり、ネイティブのAPIを呼び出すべくElectronのソースコードを調べた時のことを書き並べたいと思います。なお、この記事ではElectron 1.4.12を扱います。 知っていると役に立つもの native addonの作成方法とパターン https://nodejs.org/api/addons.html Electronのデバッグ方法 http://elec
はじめに コマンドライン起動系のPythonのプロジェクトを定期実行やサービス化して様々な環境で安定して実行させたい場合、やはりDocker化するという選択肢があります。最近、私なりにその方法が固まってきたので共有します。 今回 コマンドライン起動系と書いているのは「Web系」の場合は少し違うかもな、と思ったからです。Pythonは 自分で使いたいVersionと OSに含まれるバージョンが競合したり、ライブラリのInstallが結構大変だったりするので(pipあまり賢くない...)、Docker化してリリースするのはかなり有効に思えます。 個人的要求 git にpushしたりすることなくコンテナ化したい コンテナ化にかかる時間は最小限にしたい 環境情報や鍵情報は実行時に指定したい Version Docker for Mac: Version 1.13.0-rc4-beta34.1 (1
はじめに 何らかの事情で線形計画問題を解くためのシンプレックス法(単体法)の既存実装を探しているが、 C/C++でバシっとかかれたOSSのソルバ(COIN-OR CLP, GLPKなど)は読みたくないという軟弱な人向けに、 比較的信用できそうなPython実装はこれですよというメモを書きます。 Nelder-Meadの単体法ではありません。 scipy.optimize.linprog https://docs.scipy.org/doc/scipy-0.18.1/reference/generated/scipy.optimize.linprog.html scipyはPythonの数値計算のための有名なライブラリで、 割と最近になってPythonによる単体法の実装が追加されています。 LL言語の数値計算パッケージにはたいてい最適化問題を解くためのメソッドが用意されていますが、中身は単な
シェルスクリプトのレビューを効率化するため,シェルスクリプト専用の静的解析ツール "ShellCheck" を導入して,さらに CircleCI で自動テストすることにした.導入検証も兼ねて,個人的に使ってる dotfiles に導入してみた話をまとめる. github.com apt-get install shellcheck はできなかった CircleCI で稼働するコンテナは "Ubuntu 12.04 (Precise)" or "Ubuntu 14.04 (Trusty)" なので,README に書いてある通り apt-get install shellcheck を circle.yml に書いて実行したら,エラーになってしまった.apt-get update も効果は無かった. $ sudo apt-get install shellcheck Reading pack
- Apache Spark is an open-source cluster computing framework for large-scale data processing. It was originally developed at the University of California, Berkeley in 2009 and is used for distributed tasks like data mining, streaming and machine learning. - Spark utilizes in-memory computing to optimize performance. It keeps data in memory across tasks to allow for faster analytics compared to dis
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く