MATHGRAM

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

Diffie-Hellman鍵共有について

以下の書籍3章前半のまとめです。 クラウドを支えるこれからの暗号技術作者:光成 滋生出版社/メーカー: 秀和システム発売日: 2015/06/24メディア: 単行本 目次 公開鍵暗号 Diffie-Hellman 鍵共有 DLP と DHP と CDH 仮定 1. 公開鍵暗号 前回、共通鍵暗号の課…

共通鍵暗号と情報理論的安全/計算量的安全、乱択アルゴリズムについて

クラウドを支えるこれからの暗号技術を読み進めているので、自分なりに簡単にまとめようと思います。 最終的に「完全準同型暗号を実装して加乗の演算を行う」ことが目標です。 まえおき とりあえず1章のまとめとなりますが、本書を読み進めていく上でキーワ…

【低レベルプログラミング】アセンブリ言語【その2】

前回の続きです。 本記事では、前記事で書いたハローワールドを読み解くことを目標とします。 ほとんど、低レベルプログラミングを2章までのまとめに近い内容になってるはずです。 また、付属している設問にも回答していこうと思います。 レポジトリはここ…

【低レベルプログラミング】docker による実行環境構築とハローワールド 【その1】

めっちゃお久しぶりです. エンジニアとして強くなるために低水準言語をちゃんと理解したくなり, 最近低レベルプログラミングを購入しました. 低レベルプログラミング作者: Igor Zhirkov,吉川邦夫出版社/メーカー: 翔泳社発売日: 2018/01/19メディア: 単行…

t-SNEの結果をplotlyで3D可視化する

前回のplotlyの記事で実践編は暇あったら書きます的なこと言ったのですが,今回はそれに当たる内容です. 内容量はかなり少なく薄いですが,plotlyの使用例程度に思ってくれると有難いです. t-SNEとは t-SNEとは,皆さまご存知の通り次元圧縮の手法ですね.…

matplotlib使いづらくない?plotlyで可視化しようよ

pythonでグラフを可視化する時,matplotlib使いづらくないですか?覚えにくいし,毎回ググってる気がします. あとデザインもダサいので全然好きになれません.(デザインに関してはseabornを使えば綺麗ですが,結局matplotlibで書くことになるので覚えづらい…

崩壊型ギブスサンプリングを用いたトピックモデルの実装

こんにちは. GWですね.最高の実装日和です. トピックモデル (機械学習プロフェッショナルシリーズ)作者: 岩田具治出版社/メーカー: 講談社発売日: 2015/04/08メディア: 単行本(ソフトカバー)この商品を含むブログ (2件) を見る 今回は上の本を読み,p77…

1年間で読んだ本を振り返ってみる

お久しぶりです. 晴れて大学を卒業し, 4月から社会人になりました. 今は研修期間で割と時間がありますが, 本格的に仕事が始まっても, それを言い訳にせず記事を書き続けていきたいです. さて1つの区切りとしていいタイミングなので, 何も考えず文系就職でい…

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