Pythonと機械学習

Pythonも機械学習も初心者ですが、頑張ってこのブログで勉強してこうと思います。

Python

RNNの実装

目次 目次 はじめに 学習データ kerasによる実装 return_sequences=True return_sequences=False RNNの実装 活性化関数と全結合 活性化関数 全結合 RNNブロック 順伝播の時間ループ 逆伝播の時間ループ Dense中の時間ループ ネットワーク全体作成クラス 実行…

多層パーセプトロンの実装

目次 目次 はじめに 活性化関数の実装部 ソフトマックス関数の実装部 全結合の実装部 多層パーセプトロン実装部 学習実施 scikit-learnで実行した結果 Kerasで多層パーセプトロン 学習履歴の比較 はじめに 前回、前々回は多層パーセプトロン理論編でした。今…

多クラス分類ロジスティック回帰の実装

目次 目次 はじめに 活性化関数・損失関数の実装 ソフトマックス関数 交差エントロピー 交差エントロピーの重み勾配 多クラス分類ロジスティック回帰クラス 分類の実施 scikit-learnの多クラス分類結果 はじめに 前回、多クラス分類ロジスティック回帰の記事…

多目的最適化

目次 目次 はじめに パレート最適解 多目的最適化の選択アルゴリズム サンプルコード コードの解説 スクリプトの実行結果 はじめに 最近たまたま多目的最適化を扱う機会があり、DEAPを使って最適化を実施したので、その時のメモです。 DEAPのチュートリアル…

RRLの学習にGAを使ってみる

目次 目次 はじめに RRLスクリプト スクリプトの変更点 重みの変更範囲の設定と学習の実施 GAによる学習結果 シャープレシオの推移 過去の期間Tでの学習結果 未来の期間Tでの取引シミュレーション結果 過去10回分のアクションを入力してみる シャープレシオ…

DEAP

目次 目次 はじめに 使い方の解説 creator.create()関数 適応度の定義 個体の定義 base.Toolbox.register()関数 遺伝子を作成する関数 個体を作成する関数 世代を作成する関数 目的関数 交叉関数 突然変異関数 選択関数 注意点 main関数内の処理 個体にnumpy…

遺伝的アルゴリズム

目次 目次 はじめに 遺伝的アルゴリズム 用語説明 ステップ1(初期世代の作成) ステップ2 (選択) ステップ3 (交叉) ステップ4 (突然変異) Pythonで実装 実行結果 はじめに 機械学習では重みの最適化に勾配降下法が一般的に採用されているようですが、なぜだろ…

CythonでC++コードをラッピング

目次 目次 はじめに C++テストコード Cythonラッパーコード コンパイル用setup.py 実行スピード比較 C++で書いたRRLのコードをCythonでラッピング 参考にさせていただいたサイト はじめに PythonはC++に比べて圧倒的に実行速度が遅いのですが、それでもPytho…

CythonでRRLを実装

目次 目次 はじめに 準備するもの テストコード Cythonファイルのコンパイル 実行スピード比較 RRLをCythonで実装 Cythonスクリプト setup.py 学習実行スクリプト 学習結果 参考にさせて頂いたサイト はじめに 前回の記事では、再帰型強化学習(RRL)を使ってF…

再帰型強化学習

目次 目次 はじめに 再帰型強化学習のアルゴリズム Pythonで実装してみる 検証結果 シャープレシオの推移 過去の期間Tでの学習結果 未来の期間Tでの取引シミュレーション結果 はじめに こちらのブログで紹介されている、再帰型強化学習を使ってFXトレードを…

自動トレードボット(マージントレード版)

目次 目次 はじめに 使い方 ボットの取引ルール 運用結果 はじめに 少し前ですが、Poloniexで仮想通貨の現物取引ボットを作った記事の続編です。 前のボットは現物買いしかできませんでしたが、今回は空売り空買いができるマージントレードに対応させました…

k近傍法

目次 目次 はじめに k近傍法のアルゴリズム 距離指標 自作スクリプト スコア比較 決定領域 自作スクリプト版 scikit-learn版 はじめに 最初は機械学習に対し、何かよく分からないマシーンが人間の様に学習しているイメージを持っていましたが、最近は学習と…

ランダムフォレスト

目次 目次 はじめに ブートストラップサンプリング 特徴量の重要度 自作スクリプト スコアと特徴量の重要度比較 決定領域 自作スクリプト版 scikit-learn版 おわりに はじめに ランダムフォレストは複数の決定木学習による多数決で学習結果を決定するアルゴ…

決定木アルゴリズムを実装してみる

目次 目次 はじめに 再帰呼び出し 決定木のチャート図 決定木で使われる乱数 特徴量の重要度 自作スクリプト テスト結果のスコア比較 特徴量の重要度比較 決定領域比較 自作版の決定領域 scikit-learn版の決定領域 決定木チャート図比較 自作版のチャート図 …

決定木アルゴリズム

目次 目次 はじめに ジニ不純度 情報エントロピー 情報利得 具体例 不純度指標にジニ不純度を使った場合 不純度指標に情報エントロピーを使った場合 参考 はじめに 今まで何も考えずに決定木を使っていましたが、どういうアルゴリズムなのか調べてみることに…

python-poloniexのバージョンアップ

ずっと使ってたpython-poloniexがバージョンアップしたようで、関数名が一新されてしまいました。 アップデートしたら、botが動かなくなってしまったので焦ってしまいました。 ラッパー中で使っている関数名をAPIのオリジナルコマンド名と合わせたみたいです…

自動トレードボット

目次 目次 はじめに 使い方 準備するもの ボット稼働方法 ボット内のルーチン 注意 おまけ はじめに ここまでで仮想通貨の自動トレードボット作成に必要な知識がそろったので、実際にボットを作ってみました。 一カ月ほど運用していますが、まあ結果は全然ダ…

APScheduler

目次 目次 はじめに Poloniexサーバー時間 使用例 Linuxでバックグラウンド実行 はじめに Poloniexからチャートデータを取ってきて明日のコイン価格を予想することができ、またAPIを使って成行トレードもできるようになったので、後はそれらをまとめて実行す…

カスタムPoloniex

目次 目次 はじめに サンプルスクリプト 基軸コイン バランスデータ取得 資産データをBTCとUSD換算 成行買い 成行買い(買えるだけ) 成行売り 成行売り(売れるだけ) はじめに Poloniex APIのpythonラッパーであるpython-poloniexは非常に便利なのですが、バラ…

PoloniexのAPIを使ってトレードしてみる

目次 目次 はじめに API KeyとSecretの取得 APIの使い方 バランスデータの取得 トレードしてみる はじめに 前回はPush APIを使ってPoloniexのサーバーが配信するデータを自動受信してみました。 今回は通常のAPIを使って仮想通貨のトレードをしてみたいと思…

PoloniexのPush APIを使ってみる

PoloniexのAPIを使ってデータを取得する際にPush APIというものがあるらしいです。 PoloniexのAPI解説ページに行くと、いきなりPush APIの説明が出てきてWAMP protocolで通信する必要があり、環境をセットアップしなければならない等ややこしいので挫折して…

Pythonと機械学習のお勉強

私は理論よりも実践を重視しようと考えてますが、やはり知識は必要です。 これまでBitcoin投資にscikit-learnを使う環境を作ってきました。しかし決定木アルゴリズムだけではどうもうまく行かなそうなのでもっと知識をつけようと思います。 Kindle版で通常よ…

Metatrader4でPython実行環境を整える

Metatrader4はFXで使われているプラットフォームです。C言語に似たmqlというスクリプトで、トレード指標やシステムトレードのプログラムを自作することができます。 自作したプログラム(EAって呼ばれています)を使って、バックテストもできますし、EAパラメ…

PyCharmのインストール

Pythonのコードを書くのにそのままエディターで書いてもいいですが、やはりやりずらいのでIDE環境を整えたほうがいいです。 いろいろ試してみましたが、PyCharmがよさそうなのでこいつを使うことにしました。こちらのサイトを参考にさせてもらいました。 PyC…

Python環境を整える

Pythonのインストール WindowsにPythonをインストールして機械学習ができる環境を作った時のメモです。"Python インストール"で検索するとPythonのサイトが出てくるのでそこからインストーラをダウンロードします。私はバージョン2.7.12の32bit版python-2.7.…