Python

パーセプトロンの学習アルゴリズム

分類問題が線形分離可能であれば、単純パーセプトロンで解決できる。例として、パーセプトロンで論理回路を作るというものがある。それについては 単純パーセプトロンによる論理回路(1) 単純パーセプトロンによる論理回路(2) を参照。 論理回路の場合、座標…

単純パーセプトロンによる論理回路(2)

単純パーセプトロンで、ANDゲート・NANDゲート・ORゲートを作ることができる。また、これらを組み合わせることで、XORゲートも作ることができる。 このことについては、 単純パーセプトロンによる論理回路(1) を参照。 実は、NANDゲートだけで、他の全ての論…

単純パーセプトロンによる論理回路(1)

単純パーセプトロンで、ANDゲート・NANDゲート・ORゲート・XORゲートを実装する。ただし、XORゲートは単層では実装できない。非線形領域は単純パーセプトロンで分離できないからだ。そこで、他の3種を組み合わせることで、XORゲートも実装する。 入力([x1, x…

2層フィードフォワードニューラルネットワークによる手書き数字認識(Kerasでの実装)

2層フィードフォワードニューラルネットワークで、MNISTの手書き数字を認識する。 MNISTについては、 Kerasに含まれるMNISTのデータ構造 を参照。 一般的に、入力層はニューラルネットワークの層に含めない。2層だと、中間層が1層と、出力層のみの構成になる…

Kerasに含まれるMNISTのデータ構造

機械学習の例として、手書き数字の判定をさせることがある。サンプルデータとしては、MNISTがよく使われる。Kerasのサンプルデータセットにも、MNISTが含まれている。 今回は、そのデータ構造を確認する。 まず、 from keras.datasets import mnist (x_train…

毎月資金の追加がある場合の複利計算をするプログラム

投資をするときに、初期資金・月利・毎月追加する資金を固定すると、nヶ月後の資金がどうなるか、様々なパターンでシミュレーションするプログラムが欲しかったので書いてみました。 例として、初期資金200万円、月利10%、毎月20万円を追加することにしてシ…

JupyterでGo言語とJavaScript(Node.js)を使う

以前、 仮想マシンでJupyterを使うときの初期設定 を書いたのですが、さらに設定を追加しました。 Jupyterの拡張機能が結構充実しているので、どうせならPython以外の言語も使えるようにしておきたいところです。 今回はGo言語とJavaScript(Node.js)を使える…

仮想マシンでJupyterを使うときの初期設定

さっとPythonで何かを試すときに、仮想マシンを用意して、以下のシェルスクリプトでJupyterを初期化することにしました。 引数でPythonのバージョンも指定できるようにしました。デフォルトは3.5.4です。 numpy, scipy, pandasはたいてい必要になるので、つ…

Pythonによる仮想通貨自動売買への道(1)

全何回になるのか未定ですが、Pythonで仮想通貨自動売買のプログラムを書いていきます。 なぜPythonでやるかというと、いずれ機械学習を試したくなった時のことを考慮に入れているからです。他の言語でも良いのですが、やはり機械学習まわりのライブラリが充…

Pythonでアプリオリ・アルゴリズムを実装してPyPI登録

アソシエーション分析(バスケット分析) Pythonでアプリオリ・アルゴリズムを実装したライブラリはいくつかありますが、リフト(Lift)値を考慮に入れたものは、Orangeしか見当たりませんでした。 しかし、Orangeはpip installできないので不便だと思い、自…

BigQueryのライブラリ(Python)が変更

AttributeError: ‘QueryJob’ object has no attribute ‘results’ 以前に作ったJobで、PythonでBigQueryを叩くものがあり、cronで毎日動かしていたのですが、昨日はエラーになっていました。 予想通り、ライブラリ https://github.com/GoogleCloudPlatform/go…

pip installがこけた

AttributeError: ‘_NamespacePath’ object has no attribute ‘sort’ 今日新しくmkvirtualenvでPython3.5.2の環境を作り、pip installするとエラーになりました。 $ pip install --upgrade pip としても直らず。エラーをよく見ると、setuptoolsが怪しいことに…