ニューラルネットワークの推論処理

前回に引き続き書籍「ゼロから作るDeepLearning」をベースに、前回NArray配列として扱うようにしたMNISTデータに対して推論処理を行うニューラルネットワークを実装してみます。 www.oreilly.co.jp ニューロンの構成は下記の通りです。 入力層: 784 # 28 x 2…

MNISTデータセットをNArray配列として扱う

RubyからMNISTのデータセットを扱えるように、書籍「ゼロから作るDeepLearning」のコードをベースにMNISTのデータセットをNArray配列としてロードするコードを書いてみました。 www.oreilly.co.jp コード全体 まずはコード全体を掲載します。 require 'open-…

3層ニューラルネットワーク実装

書籍「ゼロから作るDeepLearning」で紹介されている3層ニューラルネットワークをRubyで実装してみました。 www.oreilly.co.jp サンプルコード全体 まずは実装したコード全体を掲載します。 # 3層ニューラルネットワーク実装 # 各層のニューロン数は下記の通…

NumPyとNumo::NArray, Matrixでの演算の比較

最近「ゼロから作るDeepLearning」を読み始めました。 www.oreilly.co.jp この本ではプログラミング言語としてはPythonを使用していて、配列や行列の演算にはNumPyが使われています。第1章ではNumPyでの基本的な演算について説明されているのですが、その内…

ベイズ推定による回帰分析のコード

今回は下記書籍のベイズ推定による回帰分析のコードを Ruby で実装してみたいと思います。今回で下記書籍のコードの置き換えは終了です。 www.amazon.co.jp サンプルコードはこちらで公開されています。 github.com 単位行列の生成 Python版では numpy.ident…

ベイズ推定による正規分布の推定のコード

今回は下記書籍のベイズ推定による正規分布の推定のコードを Ruby で実装してみたいと思います。 ITエンジニアのための機械学習理論入門 https://www.amazon.co.jp/IT-ebook/dp/B016Q22IX2/ サンプルコードはこちらで公開されています。 github.com スクリプ…

混合ベルヌーイ分布による手書き文字分類のコード

今回は下記書籍の混合ベルヌーイ分布による手書き文字分類のコードを Ruby で実装してみたいと思います。 ITエンジニアのための機械学習理論入門 https://www.amazon.co.jp/IT-ebook/dp/B016Q22IX2/ サンプルコードはこちらで公開されています。 github.com …

k平均法による画像の減色処理のコード

今回は下記書籍のk平均法による画像の減色処理のコードを Ruby で実装してみたいと思います。 ITエンジニアのための機械学習理論入門 https://www.amazon.co.jp/IT-ebook/dp/B016Q22IX2/ サンプルコードはこちらで公開されています。 github.com 画像ファイ…

ロジスティック回帰のROC曲線のコード

今回は下記書籍のロジスティック回帰のROC曲線のコードを Ruby で実装してみたいと思います。 ITエンジニアのための機械学習理論入門 www.amazon.co.jp サンプルコードはこちらで公開されています。 github.com データセットの更新 Python版では計算結果の確…

ロジスティック回帰とパーセプトロンの比較コード

今回は下記書籍のロジスティック回帰とパーセプトロンの比較のコードを Ruby で実装してみたいと思います。 ITエンジニアのための機械学習理論入門 https://www.amazon.co.jp/IT-ebook/dp/B016Q22IX2/ サンプルコードはこちらで公開されています。 github.co…

パーセプトロンによる二項分類のコード

今回は下記書籍のパーセプトロンによる二項分類のコードを Ruby で実装してみたいと思います。 ITエンジニアのための機械学習理論入門 https://www.amazon.co.jp/IT-ebook/dp/B016Q22IX2/www.amazon.co.jp サンプルコードはこちらで公開されています。 githu…

推定量の一致性と不偏性の確認コード

今回は下記書籍の推定量の一致性と不偏性の確認のサンプルコードをRubyで実装してみたいと思います。 ITエンジニアのための機械学習理論入門 | 中井悦司 | 工学 | Kindleストア | Amazon サンプルコードはこちらで公開されています。 github.com 算術平均メ…

最尤推定による正規分布の推定コード

今回は下記書籍の最尤推定による正規分布の推定のサンプルコードをRubyで実装してみたいと思います。 ITエンジニアのための機械学習理論入門 サンプルコードはこちらで公開されています。 github.com 算術平均 python では numpy.mean を使って配列に含まれ…

Amazon Dash Button を押したら Slack にポストする(RxRuby版)

前回の投稿で、 Amazon Dash Button を押したら Slack にポストする記事を書いたのですが、Facebookでシェアしたところ、「イベントハンドリングのところで、RxRubyあたりを使うとクールに実装できそうです。」というコメントをいただいたので、RxRubyを使う…

Amazon Dash Button を押したら Slack にポストする

12月5日に日本でも Amazon Dash Button の提供が始まりましたが、すぐに下記の記事を投稿されている方がいて、面白そうだったので私もやってみました。 qiita.com 他にもすでに同様のことを行われている記事はあるのですが、パケットキャプチャ部分を Ruby …

最尤推定による回帰分析のコード

今回は「ITエンジニアのための機械学習理論入門」の最尤推定による回帰分析のサンプルコードを ruby で実装してみます。書籍のサンプルコードは下記に公開されています。 github.com 自然対数 今回は前回までのコードと似ている部分が多く、新しい要素は自然…

最小二乗法による分析結果のグラフ表示コード

今回は前回までのメソッドを使って分析した結果をグラフに表示する部分のコードを ruby で実装します。書籍のコードの下記の部分になります。 # Main if __name__ == '__main__': train_set = create_dataset(N) test_set = create_dataset(N) df_ws = DataF…

平方根平均二乗誤差の計算部分のコード

今回も引き続き書籍のサンプルコードを ruby で実装します。今回は平方根平均二乗誤差を計算するメソッドです。サンプルコードのうちの下記部分になります。渡された多項式で平方根平均二乗誤差を計算しています。 # 平方根平均二乗誤差(Root mean square e…

最小二乗法で解を求めるコード

今回は前回に引き続き書籍のサンプルコードの下記部分を ruby で実装します。最小二乗法の公式を用いて係数を計算するメソッドです。 メソッドの戻り値として、決定された多項式と係数を返しています。 # 最小二乗法で解を求める def resolve(dataset, m): t…

誤差関数(最小二乗法)による回帰分析サンプルのデータセット作成コード

とりあえず前回で ruby と python のコードを動かす環境を作ったので、サンプルコードを ruby に書き換えていきます。まずは誤差関数(最小二乗法)による回帰分析のサンプルコード。書籍のコードは下記に公開されています。 github.com この中で、まず今回…

Vagrant + rbenv + pyenv で機械学習の勉強用環境構築

機械学習の勉強をしようと下記書籍を読み始めました。機械学習といえばやはり言語はPythonなのですが、普段Rubyをメインで使っている自分としては、Rubyで同様のことができないかなと思い、書籍のサンプルコード実行の為の環境に加えてRubyの実行環境も用意…

からあげ Beer Bash を開催(社内イベント)

先日社内イベントとして、開発部で「からあげ Beer Bash」を開催しました。イベント名は、唐揚げとビール片手に交流しましょう、ということでつけました。今まであまり開発部内でこういったイベントはできていなかったのですが、下記のような意図から今回や…

システム思考セミナー

先日、システム思考のセミナーに参加してきました。 learningvesper.doorkeeper.jp イベントやセミナー情報のメルマガでたまたま今回のセミナーを見かけて、課題の深掘りをできるようにしていくというところに興味を持ちました。 システム思考とは システム…

SlackでRSSフィードを通知する

個人的にはFeedlyというRSS Readerを使って技術系のニュース等をチェックしているのですが、弊社の主なサービス対象である業界に関するニュースは、個人任せではなくチームとして最新の動向をキャッチアップできる仕組みを作っておいた方が何かと便利です。…

ユーザーローカルの人工知能ボットAPIを試す

以前申し込んであったユーザーローカル人工知能ボットAPIのAPIキーが届いたので試してみました。 下記サイトの開発者向けAPI申込フォームから利用登録をしておくと、後日APIキーがメールで送られてきます。 ai.userlocal.jp APIの機能はこちら 自動会話API …

IoT領域でのデータ分析セミナー

Sassorさんによる、「IoT領域におけるデータ分析の現状とこれから」というセミナーに行ってきました。 イベント概要はこちら。 atnd.org Sassorさんは2010年に創業されて、IoTという言葉が言われ始めた頃から、デバイス作成からサービスまでワンストップで提…

メッセンジャー・チャットUI系スタートアップのピッチイベント

Chat UI Campという、メッセンジャー・チャットUI系のサービスを提供するスタートアップのピッチイベントに行ってきました。 イベントの詳細はこちら www.asahi.com 内容としては、 スタートアップ13社がそれぞれ持ち時間5分でのピッチ&質疑応答 その中から3…

to_travel は DateTime.now に対応してない

RSpecで現在時刻に関連するテストをするときに、Rails4.1からはTimecopを使わなくても ActiveSupport::Testing::TimeHelpers の to_travel というメソッドを使って現在時刻を設定することができます。 たとえば、下記のように現在時刻を返すメソッドがあると…

RailsアプリにPassengerから環境変数を渡す

環境変数によってRailsアプリの動作を切り替えたいことがあって、 nginx + Passenger で動かしているRailsアプリに環境変数を渡す方法を調べました。 nginx の起動スクリプト(/etc/init.d/nginx)に書いても、 /etc/default/nginx に書いてもうまくいかなか…

Rails4 で datetimepicker を使う

Rails4で入力フォームから日時を選択できるように datetimepicker を使ったのですがちゃんと動くまでに軽くはまったのでメモ。 bootstrap3-datetimepicker-rails まずはGemfileに下記エントリを追加して bundle install gem 'momentjs-rails' gem 'bootstrap…