import torch x = torch.tensor([1., -1.]) w = torch.tensor([1.0, 0.5], requires_grad=True) loss = -torch.dot(x, w).sigmoid().log() loss.backward() print(loss.item()) print(w.grad)
本記事はU-TOKYO AP Advent Calendar 2017の17日目です. はじめに 年の瀬が近づき何かと出費がかさむ季節になりましたね. 財布の中も真冬です. 実は2ヶ月ほど前から年越しに備えて仮想通貨で資産運用をしています. 他の資産運用と比べたときの仮想通貨取引のメリットは「少額でも大きな利益を得るチャンスがあること」と「24時間365日取引ができること」でしょうか. ということで, その時に自動取引についていろいろと試行錯誤をしたので, 勉強したことをまとめて記事にしたいと思います. 具体的には, PythonでbitFlyerのAPIを叩いてチャートを描画し, 決められたアルゴリズムに従って自動でビットコインの売買をする, という一連の流れを紹介します. ごく簡単な紹介にとどめるので, その先は各々で試して自分なりのやり方を考えてほしいです. *僕は仮想通貨に関しても
データ分析ガチ勉強アドベントカレンダー 14日目。 時系列データでまず思いつくのは、株価のチャートですよね。 また、最近はやっている仮想通貨。私も最近coincheckに入金しました。 ビットコイン取引所 "coincheck" やっぱ、実際にお金が絡むとちゃんと勉強しようって言う気になる!笑 せっかくチャートを見るわけだし、その見方について勉強しておこうと思いました。 そしてせっかくなので、自分で実装してどういう仕組みなのかまで知っておこうと思いました。 理系だからね、分からないものを使うのは嫌だからね。 というわけで、Python(主にPandasとMatplotlibを用いながら)でテクニカル指標についてやっていきます。扱うデータは三年分の日経平均株価。 指標について知りたい人も、自分で実装してみたいという人もどうぞ。 テクニカル分析とファンダメンタル分析 実装において ローソク足
Pythonでのグラフ描画 Pythonチャートを描く場合の定番は「matplotlib」ですが、その見た目のやや野暮ったい感じと、表記法のややこしさが指摘されています。 そこで、この記事ではMatplotlibの機能をより美しく、またより簡単に実現するためのラッパー的存在である、「Seaborn」の使い方を取り上げます。 ◆ Overview of Python Visualization Tools http://pbpython.com/visualization-tools-1.html 上記の記事ではMatplotlibとSeabornについて下記のように書かれています。 matplotlibについて Matplotlib is the grandfather of python visualization packages. It is extremely powerful b
PythonとBigQueryのコラボ データ分析を行う上で、PythonとBigQueryの組み合わせはなかなかに相性がよいです。 Pythonは巨大すぎるデータの扱いには向いていませんが、その部分だけをBigQueryにやらせてしまい、データを小さく切り出してしまえば、あとはPythonで自由自在です。 問題はPythonとBigQueryをどう連携するかですが、これは大きく2つの方法があります PythonのBigQuery連携ライブラリを使う Google Cloud Datalabを使う 2は特にJupyter Notebookを使い慣れている人におすすめです。 1.PythonのBigQuery連携ライブラリを使う オススメのライブラリ PythonからBigQueryを叩くためのライブラリはいくつかあります。 例えば、BigQuery-Python、bigquery_py な
こんにちは。久々の投稿です。 僕のTwitterをフォローしてくれている方はご存知かと思いますが、4月から機械学習エンジニア/データサイエンティスト(見習い)として働く事が決まりました。 今日六本木の某社から正式に内定を頂きましたが、間違いなくTwitterのおかげでありTwitterこそ就活の全てであると確信した次第でございます— マスタケ (@MATHETAKE) 2017年2月23日 良い区切りですので今回はタイトルの通り、ただの純粋数学の学生だった僕がデータサイエンスの勉強を何故/どのようにしてきたのか、についての思い出せる範囲で書こうと思います。 Disclaimer: この記事は基本的に、"What I did" に関する記事であって決して "What you should do" についての記事ではありません。そんな勉強方法おかしいとか、こうすべきだ、みたいなマサカリは一切受
はじめに Udacityというネット上のビデオを視聴する形で受講できる講義を提供しているサイトがあります。 Learn the Latest Tech Skills; Advance Your Career | Udacity サイトや講義は英語なのですが、その中で Machine Learning for Tradingという講義を見つけました。 この講義は主に3つのパートに分かれています 金融データをPythonで操作する コンピュータを使った投資 取引に使う機械学習アルゴリズム 1つ目のパートを視聴したので、Pythonの基本的な知識の部分で知らなかった点を、実際のデータを操作する中で紹介しようと思います。 2つ目と3つ目はまた後日にでも。。 目次 はじめに 目次 今回使用するデータとJupyter Notebook データの読み込み 移動平均の計算 pandasのrollingを使
会員事業部の有賀(id:chezou)です。 今年一年、社内では勝手に"Jupyterの伝道師"を標榜してJupyter notebookの普及活動を展開してきました。 先日、社内でハンズオンも行ったおかげもあり、かなり社内のマシンにPython環境が構築されてきました :) Jupyter notebookとは? ひとことで言うとブラウザで動くすごい便利なREPL*1です。 百聞は一見にしかず、見てみましょう。 このように、Rubyの対話環境であるpryを触っているようにインタラクティブにコードを書くことができます。 以降で説明をしますが、Jupyter notebookは記録・共有・再現がとても得意です。特に図表があるときにその効果を発揮します。 Jupyter notebookの良い所 過去のコードを改変、再実行できる セルと呼ばれる入力部分にはMarkdownやコードが記述できます
作ったモノ 次の機能を実装してみました 1. 最新の為替レートを取得し続けるプログラム 2. AIを稼働させ自動売買するプログラム 3. 最新のデータを元に新しいAIを遺伝的アルゴリズムで生成するプログラム 4. AIのパフォーマンスを測定して引退と取引通貨単位を管理するプログラム 背景 OANDAが提供している取引用APIが、かなり良い感じだったので実現できました。 特に1通貨単位(1ドル単位)で売買できるため、AI100個動かし取引を重ねても損失は1日数十円に収まります。試験時に売買システムがバグで暴走しても安心です。このAPIが無ければ個人では実現出来なかったので、良い時代になったなーと思います。 http://developer.oanda.com/rest-live/development-guide/ 遺伝的アルゴリズムの特徴 最適化問題の準最適解を短時間で解ける。 最適化問題
プログラマーのための確率プログラミングとベイズ推定¶PythonとPyMCの使い方¶ベイズ推定(Bayesian method)は,確率推論のためのもっとも適切なアプローチであるにもかかわらず,書籍を読むとページ数も数式も多いので,あまり積極的に読もうとする読者は少ないのが現状である.典型的なベイズ推定の教科書では,最初の3章を使って確率の理論を説明し,それからベイズ推論とは何かを説明する.残念ながら多くのベイズモデルは解析的に解くことが困難であるため,読者が目にするのは簡単で人工的な例題ばかりになってしまう.そのため,ベイス推論と聞いても「だから何?」と思ってしまうのである.実際,著者の私がそう思っていたのだから. 最近の機械学習のコンテストで良い成績を収めることができたので,私はこのトピックを復習しようと思い立った. 私は数学には強い方である.しかしそれでも,例題や説明を読んで頭の中で
EmacsのPython環境周りを最近整えたので自分のためのメモ。似たような情報は色々とネットに転がっているのだが、古いEmacs向けだったり、いろいろとやりすぎだったりというのもあったので、自分なりにシンプルにまとめてみた。 以下、Ubuntuでemacs24を使ってることを前提とする(Linuxならばそんなに変わらないかなと思うが)。python-modeとpackage.elはすでに入っているとする。python-pipがインストールされてて、~/.local/binにパスが通っていることも前提とする。 以下の順で説明する。 準備:package.elの設定 自動インデントの設定 yasnippetのインストール py-autopep8のインストール auto-completeのインストール elpyインストール flymake関連のインストール 動作デモ(動画) それぞれ独立なので
統計的声質変換 (1) ロードマップ(2015/2/11)の続き。 統計的声質変換の第二回ということでまずは統計的じゃない声質変換の枠組みで簡単なボイスチェンジャーを作ってみたい。いきなり本題とずれているけれどここをしっかり理解できていないと統計的な方はまったく歯が立たないため整理しておきたい。 ソース・フィルタモデル 人間の音声は、ノドの声帯を振動させたブザー音が声道、口、唇を通過することで出てくる仕組みになっている。これを数学的にモデル化したのがソース・フィルタモデル。 http://www.kumikomi.net/archives/2010/08/ep30gose.php から引用 このモデルでは、音源にあたるブザー音を作り出し、ブザー音をディジタルフィルタに通すことで音声を作る。音源のパラメータとして声の高さを表すピッチ、声道のパラメータとしてメルケプストラムというのがよく使われ
pygal.Bar()(1, 3, 3, 7)(1, 6, 6, 4).render()
ウィリアム・スタイン(2011年6月) SageMath(セイジ、以前はSage、SAGEと記した)は数学の幅広い処理を扱うソフトウェアである。扱う処理は計算機代数、組み合わせ、数値計算など多岐に及ぶ。工学的応用に加え基礎科学の研究も対応している。 SageMathは2005年2月24日にフリーソフトウェアとしてGNU General Public Licenseの元で初版が公開された。その開発目的はMagma、Maple、Mathematica(いずれも計算機代数ソフトウェア)、MATLABの代替となるフリーかつオープンソースなソフトウェアを提供することであった[3]。開発は、米ワシントン大学の数学准教授のウィリアム・スタイン (William Stein) が主導して始まった。 SageMathはPythonプログラミング言語を使用しており、手続き型・関数型・オブジェクト指向によるプロ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く