Ruby

ニューラルネットワークの誤差逆伝播法による学習アルゴリズムの実装

今回も引き続き「ゼロから作るDeepLearning」をベースに、前回数値微分で実装した学習アルゴリズムの誤差逆伝播法版をRubyで実装してみました。計算の内容等は書籍を参照いただくとして、Rubyで実装した際のポイントを説明していきたいと思います。 www.orei…

ニューラルネットワークの数値微分による学習アルゴリズムの実装

今回も引き続き「ゼロから作るDeepLearning」をベースに、数値微分による学習アルゴリズムをRubyで実装してみました。 www.oreilly.co.jp 最初に書いておくと、今回の数値微分での実装は、実装はシンプルなもののその分処理に時間がかかり、手元の環境では繰…

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

前回に引き続き書籍「ゼロから作る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の実行環境も用意…