MATHGRAM

主に数学とプログラミング、時々趣味について。

rust

RustでForward自動微分を実装してみた

Rustの理解がまだまだすぎて. モジュールとして全く使えない実装になっているので悪しからず. Forward自動微分そのものを理解することを目標とします. ちなみに僕が参考にしたのは以下のサイトです. 自動微分 - Wikipedia ボトムアップ型自動微分の実験 - ki…

[Rust] 月型の2値データを生成する (機械学習の準備)

scikit-learnのmake_moons()を移植した感じです. データの生成ができたので, 次から機械学習の様々な手法を本格的に実装していこうかと思います. こういうデータを見るとSVMがやりたくなるのでSVMからやろうかな. あと, 次からはジェネリクスで関数や構造体…

[Rust] 練習で最急降下法やってみた

pythonばっか触ってきた自分からすると, Rustは楽しいけど難しいです. もっといろんな機能を使いこなせるようになりたい・・・ 最急降下法 理論はクソ簡単なので, 特に説明しません. 坂道転がってくだけです. 実装では自分で微分した式を使っちゃってるので,…

[Rust] zipでfor文 & 速度比較

Rustで2つのイテレータをペアで回す方法です. 二つの方法があるようなので速度比較します. 標準装備を使う fn main() { let x = vec![0; 1000000]; let y = vec![0; 1000000]; pair_iter(x, y); } fn pair_iter(x: Vec<i32>, y: Vec<i32>) { let start = time::now(); </i32></i32>…

[Rust] 正規分布に従う乱数を生成する [Box-Mullerの実装]

正規分布を実装したので, 正規乱数も作りたいなぁと思い実装しました. これ使ってガウスノイズ付きのデータ生成 & 線形回帰とかやっていこうかと思います. そんなことより, ボックス=ミュラー法, 今日知りました. うん, 普通に感動したわ.(小並感) 理論の参…

[Rust] ビルダーパターンを理解する

ちょっと気になったのでまとめておきます. 実際使われてるんですかね? まだRust歴が短すぎてよくわからないですけど一応使えるようにしておきたい. pythonとの対比 いきなりRustの話じゃなくて申し訳ないのですが, 例えばpythonであるクラスを作り, メンバー…

[Rust] 外側のループを抜けたい

Rustの勉強しててこれは便利だなぁって思ったものは小さい記事でもまとめておきます. 記事にすることで記憶に残りますしね. ループに名前をつけられる この機能をループラベルと言います. ループ処理が入れ子になっていて, ここで外側のループを抜けたいんだ…

[Rust] 練習で正規分布描いてみた [gnuplot]

Rust楽しいです. 自分はまだプログラミングをちゃんと勉強しはじめて1年ちょいしか経っておらず, しかもほぼpythonしか触れてこなかったので, トレイトとか寿命とか所有権とかの概念に対してハッキリとしたありがたみを感じることができてません. Rustの強み…

[Rust]ベクトルの要素でfor文まわす

Rust勉強中です. fn main() { let mut x: Vec<i32> = vec![1,2,3,4,5]; for element in &x { println!("{}", element); } } 以上です.</i32>

Rustで機械学習、はじめラスタ。

卒論終了の目処が立ちました。働き始めるまでに記事数を2倍にするという若干無謀なツイートをしたことを後悔しながらもどんどん記事書いていこうかと思います。 さて今回はrustで機械学習をやってみよう!というものですが、僕のrust歴は4時間程度ですw rust…

rsvmでRustのバージョン管理をしよう!

今回の内容はrustをrsvm使ってmacに導入する手順です! メモ程度に残しておきます。 手元の環境はmacOS Sierra 10.12.1です。 rsvmをインストールしよう! まずはpythonでいうpyenvのようなrsvmをインストールしましょう。 基本的にはここを見れば問題ないと…