読者です 読者をやめる 読者になる 読者になる

MATHGRAM

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

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

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

chainerでYahoo!の占有率推定を実装してみた

こんにちは. 今回は僕も参加したYahoo! JAPAN データ&サイエンス カンファレンス 2016で取り上げられていた占有率推定を実装してみました. 前書き Yahoo! Japanは働き方改革のロールモデルとして, 頻繁にメディアに取り上げられていますね. 特に週休三日制…

chainerに復帰したくてFCN実装した

もともと, chainerユーザーだった僕ですが, 5月くらいにKerasを使い出してからchainerにはあまり触れてきませんでした. しかし先日の分散処理の発表なども含め, バージョンアップが早く, 常に速度の向上を図っているchainerにはもう1度触れておきたいと思い,…

[Keras] backend functionを使いこなそう!

みなさん, keraってますか. 今回はloss関数やlayerの実装に欠かせない, backend functionをまとめていきます. ただし自分が主に使ってる関数のみ紹介するので, 絶対Document読む方がいいですよ. これ以外にも色々ありますからね. こいつを使いこなして, どん…

[Keras] パラメータの更新をさせないfreezeに関する実験

突然ですが, 一昨日のことです. @tuntuku_sy 初めまして, こんにちは. Kerasをメインで使っているものです. ブログ拝見させていただきました. 一つ気になったのですが, そのtrainable=Falseの使い方で, dis modelをfreezeできてますでしょうか?— Kento Wata…

[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>

まとめサイトから画像をスクレイピングする[python]

作ってた線画着色NNモデルのためにpixivからイラストを集めたのですが, 諸事情によりまとめサイトからも画像を集めたかったのでスクレイピングしました. まぁ端的に理由を言うと, エロ画像の特徴量も欲しかったと言うことですw コード BeautifulSoupはhtmlの…

pixivからイラストを無限に集めてみる[python]

一個前の記事で書いたように, 初心者がchainerで線画着色してみた。わりとできた。 - Qiita を実装する際に溜まった知識のまとめ第二弾です. 今回は画像のスクレイピングについてです. 以下のサイトのコードをめちゃくちゃ参考にしています. ありがとうござ…

カラー画像から線画を作る[OpenCV & python]

最近, 初心者がchainerで線画着色してみた。わりとできた。 - Qiita をKerasで実装してサービス化してみようかと頑張ってたんですけど, ちんたらしてたらこの記事を書いてる製作者様本人がwebサービス化しちゃいました笑 正直60万の画像を一晩で20epochも回…

Phragmén–Lindelöfの定理の証明

あけましておめでとうございます。 厄年を発熱で迎え、最悪の三が日を過ごしました。 お祓いいこうかなぁ・・・ さて、今回は久しぶりに純粋な数学の記事でございます。 数学界には多額の懸賞がかかったミレニアム問題が存在するのは有名な話ですが、今日は…

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

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

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

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

Keras tips: 様々な画像の前処理をカンタンにやってくれるkeras.preprocessingのまとめ

Kerasが徐々に流行って来ていると思ってたら、そんなことはなかった。 Qiitaのタグ数。(投稿日) chainer: 263, TensorFlow: 532, Keras: 41 おいおい、嘘だろ・・・。 メインで使っている僕からするととても悲しいのでもっと普及するようにtips書いて行くこ…

Kerasで任意の大きさの画像をinputする方法

tipsと言う名の覚え書き。 Variable-size image to convolutional layer 軽く調べたら、issuesに上がってた。 Variable-size image to convolutional layer · Issue #1920 · fchollet/keras · GitHub RGBの画像だったらピクセルを表す2,3個目の引数を None …

KerasでFCN(Fully Convolutional Network)を実装したよ!

久しぶりのDeepLearning関連の記事です。 最近、昔の記事を引用してくれることが増えたのですが、すごい汚いコードを参考にさせてしまって本当に申し訳ないです。もはや恥ずかしささえも感じる・・・。時間があれば昔の記事も更新していきたいです。 挨拶は…

メリン変換とゼータの関数等式の証明

久しぶりの記事になってしまいました。卒論がまぁまぁ大変・・・。 ゼータばっか見てて頭が解析接続されちゃいそうです。ちゃんと統計、機械学習の勉強もしないと。 休憩中に適当に書いたプログラムで他の記事を用意してるんだけど、卒業研究してたら気にな…

[Keras] モデルの可視化をしよう!!

どうも、こんにちは。 めっちゃ天気いいのにPCばっかいじってます。 今回は、kerasのkeras.utils.visualize_utilの中にあるplotモジュールを使って、モデルの可視化をしてみましょう! まえがき あえて作図をしなくても、モデルの設計者は構造を理解している…

MacでkerasのGPUモードを動かしてみた!!

まえがき 前回kerasの紹介の中で予告していた、GPUモードを動かす手順について説明していきたいと思います! 見出しで嘘つくなよ!ってツッコミを受けそうですが、僕のMacが積んでるグラボじゃ余裕でメモリが足りませんでした・・・。つまり学習はできなかっ…

あれ...?chainerよりkerasの方が書きやすくね?

こんにちは。 本記事は、kerasの簡単な紹介とmnistのソースコードを軽く紹介するという記事でございます。 そこまで深い説明はしていないので、あんまり期待しないでね・・・笑 [追記:2017/02/10] kerasに関するエントリまとめました!よかったらこちらも参…

AlphaGoの論文を日本語に訳してまとめてみた!(まだまだ未完成)

こんにちは。 今回はAlphaGoの論文を日本語に訳してまとめてみました。 本論文はこちらにございます。 Mastering the game of Go with deep neural networks and tree search : Nature : Nature Research もしバンバン論文読みまくってるエンジニアさんやマ…

pythonで言語処理100本ノックやってみた!〜第1章 準備運動〜

お久しぶりになってしまった。 決してサボってたわけじゃない・・・ 決して・・・。 言い訳は置いといて、記事を書いていきます。 基礎力不足を感じる今日この頃 まだpythonしか扱えない僕ですが、pythonすら扱えていないと最近ひしひしと感じています。 と…

python: chainerを使って化物語キャラを認識させるよ! 〜part6 主要キャラで多値分類(GPU使ったよ編)〜

GPU。さっそく試してみました。 -- 目次 -- part0 前書き part1 画像の収集 part2 画像の縮小&水増し まずは2値分類してみる。 part3 暦orNOT暦で2値分類(モデル作成&学習編) part4 暦orNOT暦で2値分類(未知データに適用するよ編) ここから主要キャラの分類…

NVIDIA積んでたiMac(EI Capitan)にubuntu14.04ぶち込んで、chainerをGPUモードでぶん回せるようにしたよ!

こんにちは。 タイトルが荒ぶってんのは、この環境設定に10時間くらいかかったからです。まじ疲れた。 しかし、すべて自分の無知のせい・・・。いつかの時のためにメモを取っておきます。 環境 結構前に買ったiMac iMac (21.5-inch, Late 2012) バージョン…

AWSにターミナルからsshで接続する(自分メモ)

完全に自分メモです。 ホストに接続する AWSでEC2インスタンスを立ち上げる。 下にある説明の部分でIPアドレス(パブリックIP)を確認する。 ssh -i ~/.ssh/[key_name] [user_name]@[IPアドレス] で接続完了。 つまづいたことがある部分 "Operating timed out"…

ゼータ関数を研究するよ!〜 part1.3 Euler Product&THEOREM1.1 〜

こんにちは。 これで三つ目です。やっとゼータ関数の話に入っていきます。 目次&前後 ゼータ関数を研究するよ!〜目次〜 - MATHGRAM一個まえ:とりあえず複素数に慣れようか その2 次のやつ:工事中 使っている教科書 The Riemann Zeta-Function: Theory and…

ゼータ関数を研究するよ!〜目次〜

目次でございます。 part0 前書き part1 part1.1 とりあえず複素数に慣れようか part1.2 とりあえず複素数に慣れようか その2 part1.3 Euler Product&THEOREM1.1

ゼータ関数を研究するよ!〜part1.2 とりあえず複素数に慣れようか その2〜

前回に記事に引き続き、実数の複素数乗はどのように成立するのか見ていきます。 目次のリンク ゼータ関数を研究するよ!〜目次〜 - MATHGRAM 前回のおさらい この関数内で扱われるに注目。 の乗、つまりは自然数の複素数乗はどう扱われるのかを確認しようと…

ゼータ関数を研究するよ!〜part1.1 とりあえず複素数に慣れようか 〜

こんにちは。 それではζの研究を開始します。(カッコつけて研究って言ってるけどただの勉強) 目次へのリンク ゼータ関数を研究するよ!〜目次〜 - MATHGRAM 教科書 The Riemann Zeta-Function: Theory and Applications (Dover Books on Mathematics)作者: A…

python: chainerを使って化物語キャラを認識させるよ! 〜part5.5 主要キャラで多値分類(改良編)〜

予定にありませんでしたがpart5.5でございます。くそミスのせいでこんなことに。 どうせ5.5として書くならもう一回コードをモデルから張り直して、整理します。 -- 目次 -- part0 前書き part1 画像の収集 part2 画像の縮小&水増し まずは2値分類してみる。…

ゼータ関数を研究するよ!〜part0 前書き〜

こんにちは。twitterとの連携のテストも兼ねて記事書きます。 特に数学の内容はありません。ゼータに関しての記事が見たい方はすぐにpart1にいっちゃってください!(まだないけどね!!)そろそろ4月になるわけで、4月から研究室でのお勉強が始まります。僕…

python: chainerを使って化物語キャラを認識させるよ! 〜part5 主要キャラで多値分類(未知データに適用編)〜

はい、part5でございます。 -- 目次 -- part0 前書き part1 画像の収集 part2 画像の縮小&水増し まずは2値分類してみる。 part3 暦orNOT暦で2値分類(モデル作成&学習編) part4 暦orNOT暦で2値分類(未知データに適用するよ編) ここから主要キャラの分類 par…

python: chainerを使って化物語キャラを認識させるよ! 〜part4 暦orNOT暦で2値分類(未知データに適用編)〜

part4です! -- 目次 -- part0 前書き part1 画像の収集 part2 画像の縮小&水増し まずは2値分類してみる。 part3 暦orNOT暦で2値分類(モデル作成&学習編) part4 暦orNOT暦で2値分類(未知データに適用するよ編) ここから主要キャラの分類 part5 主要キャラ…

python: chainerを使って化物語キャラを認識させるよ! 〜part3 暦orNOT暦で2値分類(モデル作成&学習編)〜

ようやくpart3でございます。 -- 目次 -- part0 前書き part1 画像の収集 part2 画像の縮小&水増し まずは2値分類してみる。 part3 暦orNOT暦で2値分類(モデル作成&学習編) part4 暦orNOT暦で2値分類(未知データに適用するよ編) ここから主要キャラの分類 p…

python: chainerを使って化物語キャラを認識させるよ! 〜part2 画像の縮小&水増し〜

はい、part2は画像の大きさ縮小と水増しでございます。 -- 目次 -- part0 前書き part1 画像の収集 part2 画像の縮小&水増し まずは2値分類してみる。 part3 暦orNOT暦で2値分類(モデル作成&学習編) part4 暦orNOT暦で2値分類(未知データに適用するよ編) こ…

python: chainerを使って化物語キャラを認識させるよ! 〜part1 画像の収集〜

前書きから二日も経ってしまいました。 -- 目次 -- part0 前書き part1 画像の収集 part2 画像の縮小&水増し まずは2値分類してみる。 part3 暦orNOT暦で2値分類(モデル作成&学習編) part4 暦orNOT暦で2値分類(未知データに適用するよ編) ここから主要キャ…

python: オンライン学習-Confidence Weighted Learning-を実装してみたよ!

前回のPassive Aggressive(以下PA)の実装は、あとから冷静に考えて良くないところが多かったなあ、と反省。以下がそのリンクです。今回作ったモジュールにPAを含んでいるので正直あんなクソ記事見なくていいです。 ket-30.hatenablog.comその反省を生かそう…

python: chainerを使って化物語キャラを認識させるよ! 〜part0 前書き〜

こんにちは。ついに囲碁も人類が負けてしまいましたね。 なんか最近、普通にテレビのニュースとかでdeep learningが取り上げられたりしてて妙な焦りを感じています。個人的には一般人に知れ渡る前にエキスパートになっていたい・・・という謎の欲があるので…

python: オンライン学習-Passive Aggressive-を実装してみた

こんにちは、また久しぶりの投稿になってしまいました。久しぶりということでtipsとかではなく、ちゃんとした記事書きます。初めて、理論の本から実装したので、まだまだ甘い部分が目立ちますが許してください。 ※3/25 追記 ket-30.hatenablog.com こっちに…

python:データ処理tips その3 クロス集計したものをヒートマップで可視化する

クロス集計とか便利すぎだろ! 初心者ゆえにクロス集計という言葉すら知らずに、いわゆるクロス集計を自前で実装していました。しかもクソおそい。馬鹿かよほんと。 この流れでヒートマップを作ればかなりいい感じに可視化をできる気がします。 まずはクロス…

python: 二次元正規分布の周辺化

”ブログを更新してない” == ”実装の練習をしてない” もっと更新しないといかんですな。今回はUdemyで配信されてる授業、"ベイズ推定とグラフィカルモデル"からの練習。 周辺化 周辺化(Marginalization)とは、 パラメータごとに積分を行い、パラメータの数を…

python:データ処理tips その2 数字で整理されたファイルを順番に読み込む。(02,03などの桁数縛り)

今回は、前回とは違った形でファイル名が整理されている時です。 具体的にはこんな感じ。 result1_01.tsv result5_01.tsv result1_02.tsv result5_02.tsv result1_03.tsv result5_03.tsvつまりは、01や03などのように桁数が2桁で固定されているような時です…

python:データ処理tips その1 数字で整理されたファイルを順番に読み込む。(辞書を使った組み合わせ)

テストあと一つだ。。。 眠いから久しぶりに記事まとめて気分転換しようってことで。 組み合わせの作り方について簡単にまとめます。たくさんデータを順番に読み込みたい時、tsvやcsvファイルが、 result1_1.csv result2_1.csv result1_2.csv result2_2.csv …

python:画像処理tips その4 フォルダ内の画像の大きさを揃える

その3をループで回しただけ。拡大縮小後の保存ファイル名は、リストから位置と拡張子を取得してformatdeぶち込んでる。これで簡単にデータセット作れそう。 # -*- coding:utf-8 -*- from PIL import Image import os images = os.listdir("path") #ディレク…