Go言語で実装された、エッジやフォグで機械学習することを目的とされたストリームエンジン、SensorBeeのご紹介です。
この連載では、Javaでリアクティブプログラミングを行うためのライブラリである「RxJava」を使って、リアクティブプログラミングにおけるポイントや、RxJavaが持つ機能について学んでいきます。今回は、RxJavaおよびリアクティブプログラミングの概要について解説します。 対象読者 Java経験者(初心者可) RxJava未経験者 リアクティブプログラミング未経験者 RxJavaとは RxJavaは、Javaでリアクティブプログラミングを行うためのライブラリです。このライブラリは軽量であり、また、他のライブラリに対する依存がないのでRxJavaのjarをパスに通すだけで使えるようになります。対応しているJavaのバージョンは6からで、さらにAndroidもバージョン2.3(Gingerbread)からサポートしています。 そして、RxJavaは厳密には関数型リアクティブプログラミング(F
機械学習や深層学習を学ぶ上で、数学は言語である 線形代数学 行列とベクトルは連立方程式を解くための記法 機械学習での活躍 どこまで学ぶか 最適化数学 学習とは 教師あり学習 教師なし学習 最適化を行う際の重要ワード「正則化」 どこまで学ぶ必要があるか 確率・統計 最低限知っておくべき定理や性質 最低限知っておくべき推定法 確率分布には見慣れるしかない 何に役立つのか 情報理論 情報を確率で記述する 何に役立つのか 情報幾何学 発祥は日本 機械学習での役割 海外での方が有名? 機械学習や深層学習を学ぶ上で、数学は言語である 以前、学びたい機械学習のレベルに応じて、どんな数学が必要になってくるのかを紹介しました(以下の記事)。 s0sem0y.hatenablog.com そのときにも述べましたが、数学というのは何らかの操作を非常に簡潔に表現してくれます。要するに情報をギュッと圧縮して伝える手
最近、学習は最適化問題に帰着されるということを自分自身強く意識するようになりました。 そこで有名なSVMや対数線形モデルなどの評価関数を見て、それぞれがどのような狙いを持っているのかを概観してみようと思います。 Support Vector Machine 評価関数 解釈 ソフトマージン 対数線形モデル 狙い 実際の最適化問題 解釈 正則化 正則化項の取り扱い 評価関数の一般的な取り扱い 正則化と最大事後確率推定(Maximum a-posteriori estimation:MAP推定) 対数線形モデルは最大事後確率推定 Support Vector Machine 線形関数 で分離面を構成するのが第一の考え方です。 評価関数 がマージンと呼ばれるもので、これを最大化するのがSVMです。絶対値は取り扱いにくいので、代わりに二乗を考え、分数も厄介なので、逆数を取り、以下の最適化問題に帰着し
主旨 1.文章を投入すると、その文章が何を説明しているのか判断 2.あらかじめ学習データを投入する教師あり学習で、単純ベイズ分類器を利用 3.学習させている分類の割合と、文中の単語の頻出度合いを元に分類を決定している (但し、学習データの事前確率は各分類で等価、つまり各分類につき1個の説明文書を投入) 4.サンプルソースなので、学習データの永続化などは行っていない 5.数学的に厳密に正しいという自信はない・・・です つまり、、、 以下のソースで、分類を正しく返してくれるサンプルモジュール public static void main(String argv[]) { NaiveBayesClassifier classifier = new NaiveBayesClassifier(); /** * 分類と説明をセットにして学習させる */ classifier.learn("青龍",
幾度か当ブログでもお伝えしてきた、夢のパームトップPC、「GPD WIN」。 5.5インチの液晶を持ち、350gのキーボード付きの小さなボディながら、CPU Atom X7-8700 Quad CoreとWindows 10を搭載したれっきとしたPC。 3Dゲームが動くゲーム機として作られたため、搭載されたx7-8700はMicrosoft Surface 3と同じハイパフォーマンスを発揮するCPU。 これまで作られた*すべて*のパームトップPCが、その時代のPCの持つ平均的な処理速度を大きく下回るものだったのに対し、この「GPD WIN」はモバイル向けのCPUであるAtomシリーズの中では最速クラスのCPUが奢られており、非常にきびきびと動作。先入観を打ち破るスピードで動作します。 GPD WINでのWebブラウザーのスクロールの様子(MS Edge)。カーソルキー、XYABボタン(カー
機械学習関連情報の収集と分類(構想)の❷の部分に関連する記事です。 実際に調べた時点から数か月ほど時間が経っていますので、現状と若干ずれがあるかもしれません。 また、満足できる結果になっていないことをあらかじめお断りしておきましょう。 Qiita にも Python にも慣れていないのでいろいろおかしな記述があるかもしれませんが、そういうところはコメントいただければありがたいです。 今回の記事で説明する処理は下記のような流れになっています。 ❶サイトのクロウル クロウルした文書(article)を bookmarks.crawled ディレクトリ配下に置きます。 ↓ ❷articleのPythonオブジェクト化 文書(article)単位で Pythonオブジェクト化します。 ↓ ❸コーパスのPythonオブジェクト化 文書群全体をコーパスとしてPythonオブジェクト化します。 ↓ ❹ト
概要 Bash on Ubuntu on Windows で Docker を使えない! ただし Docker for Windows を Bash on Ubuntu on Windows から使うならできる。 そう Windows 10 Pro ならね。 ※少々場当たり的なことをしていると思うので、 よりよい方法をご存知でしたらお知らせください。 Bash on Ubuntu on Windows で Docker デーモンは動かせないが Docker クライアントをインストールして DOCKER_HOST 環境変数を設定し Docker for Windows の Docker デーモンにアクセスすることはできる。 Docker を使うシェルスクリプトの動作確認をしたいときなどには便利。 ただし Docker Compose のボリュームの指定で相対パスを使えない。 たとえば vol
以前にFacebookである人が、SSHの接続情報の管理に ~/.ssh/config を使ってたんだけど、鍵が多すぎて修羅場みたいなことを書いてて、その時は特に何も思いつかなかったんですが、以下のような方法はどうでしょうね? ワーキングディレクトリにSSHのコンフィグを置く。 .ssh-config というファイル名で内容は以下のような感じのあれです。 Host example.com HostName xxx.xxx.xxx.xxx User vagrant Port 22 UserKnownHostsFile /dev/null StrictHostKeyChecking no PasswordAuthentication no IdentityFile /path/to/private_key IdentitiesOnly yes LogLevel FATAL ForwardAge
日本にはどのような技術カンファレンスがあるのかを調べたことがあるのでメモを残しておこうと思います。「これも載せるべき!」というカンファレンスがある、もしくは説明に不備があるという場合は編集リクエストを送っていただけると幸いです。 全体の雰囲気を知ることができるようなカンファレンス参加レポを見つけたらそれも貼っています(★マークのやつです)。 2016年には開催されていないカンファレンスでも後に復活する可能性はあるので一応載せています。 iOS try!Swift 世界中のSwiftデベロッパーが集まって知見を共有するカンファレンスで、海外からのスピーカーも多く存在していました。同時通訳も付いていたようで、英語が苦手でも安心です。平日3日間を使っての開催です。 ★try! Swift 全日程聞き起こしまとめ | #tryswiftconf 3日間を終えての感想、家に帰ってからが try! S
エンジニアにとって一度書いたソースコードを改善するリファクタリングは欠かせないものです。特に中長期的に修正や拡張が繰り返されるような場合、書いた本人だけでなく、ほかのエンジニアであっても理解できるようにしておくことはとても重要。 万が一怠ってしまうと、それはもう目の当てられない状況になることもあります……。そうならないためにも、常日頃からリファクタリングという作業をルーチンとして取り入れたいところです。そうしたリファクタリングを少しでも効率化できるツールをいくつかご紹介。 もちろん、事前にデバッグしておくことも重要ですので、後半ではデバッグツールもいくつかあわせてご紹介します。日々、コードレビューに時間を取られているような方にとっても作業を円滑にするうえで参考になると思いますので、是非ご一読してみてください。 grunt-plato https://github.com/jsoverson
SREチームのcubicdaiyaです。 今回は本ブログでも何度か紹介しているGaurunを利用したメルカリのプッシュ配信基盤とGaurunのパフォーマンスを最大化する方法について紹介します。 github.com 改めて紹介するとGaurunはスマホアプリ向けのプッシュ通知サーバです。APNsやGCMへのプッシュ通知処理をHTTP + JSONベースのAPIでラップして大量のプッシュ通知を素早く送信することができるのが特徴です。 メルカリのプッシュ配信基盤 メルカリのプッシュ配信基盤はnginxによるL7ロードバランサーとGaurunで構成されています。 APIサーバ(e.g. 商品の購入や発送等のイベント通知)やジョブワーカ、バッチ(e.g. キャンペーン等による一斉配信)からはGaurunが提供するHTTP + JSONベースのAPIを利用してiOSやAndroidの端末へのプッシュ
SQL、書いてますか? こと大規模データ処理の分野においてはSQLはもはや標準インターフェイスであり、 分析やらバッチやらに関わっている皆様は日々大量のSQLクエリーを生産していることと思います。 そこでちょっと気になるのが、 SQLのコーディングスタイルってどうするのが一般的なんだっけ……? という点です。 イマドキはSQLなんてO/R mapperに吐かせることが多いからなのか、 それともコードを広い範囲で共有することがそもそもないからか、 SQLのコーディングスタイルについて見聞きすることは他のプログラミング言語に比べるとだいぶ少なく、 いまいち決定版と言えるスタイルがないなと感じています。 そんなわけで本日は、SQLのコーディングスタイルについての意識を活発化させるべく、 クックパッドでわたし(青木)が使っているコーディングスタイルから特徴的な点を紹介したいと思います。 特に、分析
Pillowとは Pillow は、Python の画像処理ライブラリで、Python Imaging Library (PIL)の fork プロジェクトです。 PIL は開発が停滞し Python 2.7 までの対応にとどまっていますが、Pillow は Python 3.3 に対応しています。 2016-04-14 追記:Python 3.5.1 に対応しています。 Pillow 環境 pip インストール可能です。 $ pip install pillow Windows の場合、error: Unable to find vcvarsall.bat というエラーが出て、これは Visual C++ のなにがしを導入すると解消するらしいのですが、僕の環境で2008やら2012やらを入れても解消できなかったので諦めて Mac でやりました。 2013-05-07 追記:Windows
東京Ruby会議 11(2016年5月28日収録)
What are uThreads? uThreads is a concurrent library based on cooperative scheduling of user-level threads(fibers) implemented in C++. User-level threads are lightweight threads that execute on top of kernel threads to provide concurrency as well as parallelism. Kernel threads are necessary to utilize processors, but they come with the following drawbacks: Each suspend/resume operation involves a k
es: image: elasticsearch:5 ports: - "9200:9200" - "9300:9300" volumes: - ./es_config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml - ./es_data/:/usr/share/elasticsearch/data/ environment: - ES_JAVA_OPTS=-Xms512M -Xmx512M ki: image: kibana:5 ports: - "5601:5601" links: - es environment: - ELASTICSEARCH_URL=http://es:9200
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く