2016-01-01から1年間の記事一覧
前回まではRSA暗号の原理を説明してきたけれど、いよいよ本題。実際コーディングに取り掛かる。理論では簡単に説明されるところでも実際にコーディングしてみると難しいところがある。 RSA暗号を実装してみる(知識編) - 技術メモ RSA暗号を実装してみる(…
知識編で説明したように、RSA暗号の最大の特徴は暗号鍵から復号鍵を類推することが難しいというところにある。今回は、この特徴が数学的にどのように実現できているのかについて見ていく。 RSA暗号を実装してみる(知識編) - 技術メモ RSA暗号を実装してみ…
WEPキーに脆弱性があって突破されてしまうということを知ってから、最近暗号理論に興味をもって勉強していた。その中で、RSA暗号すげえってなったから実装してみたいと思う。単純そうに見えて奥深い。今回はまず暗号について勉強した知識をまとめる。数学的…
スパイキングニューロンのシミュレータを触ってみる記事の2回目。 以前の投稿の続きとして、サンプルにはないものを書いてみた。 izhikevichモデルニューロンの集団発火 サンプルではLIFモデルだったが、izhikevichモデルで同じものを作ってみる。 プログラ…
pythonのライブラリでおなじみ、scikit-learnで主成分分析をする方法。 最終的には累積寄与率をプロットできるようにしたい。タスクとしては基本的な手書き文字認識を題材にする。 基本 import matplotlib.pyplot as plt import seaborn as sns sns.set_styl…
タイトル通りだけど、webブラウザ上でターミナルを動かすbutterflyというものを見つけたので触ってみた。 これといって使うメリットは思い浮かばないが、何しろ変態的でなんとなくカッコイイ。 コマンドはこれだけ(pipが使えない人はまずpipをから入れてくだ…
pythonのグラフを美しく描くライブラリseabornというのを知ったので触ってみる。 こちらが公式サイト Seaborn: statistical data visualization — seaborn 0.7.1 documentation こんなのも描けるようになる。 インストール conda install seaborn pipでもで…
networkxを触った時の備忘録。今回扱ったのは無向グラフに限る。 用語などの解説は別の記事に譲りたい。 (networkx(1.11.0) python(2.7.12)) 適当なグラフを作成・可視化 import networkx as nx import numpy as np import matplotlib.pyplot as plt # gener…
むかし作ったやつを手直しして載せる SOMとは SOMはイメージとしては、"似たような"ベクトル同士が(1次元や2次元の)マップ上において"近傍に"配置されるように仕分けしていく機械学習。「多次元上で類似するものを低次元上で近傍に配置する」という意味で…
スパイキングニューロンのシミュレータの一つBrianを紹介したい。 http://briansimulator.org/Brian以外にもニューロンのシミュレータにはいくつか存在する。 特にPythonでコーディングできるものに限定すれば、 有名なものにNEURON。他にも、NEST(pyNEST),P…
pythonでマンホイットニーのU検定する方法。 scipyを使う。 from scipy import stats stats.mannwhitneyu(x, y, use_continuity=True, alternative=None) alternativeは'less','greater','two-sided'。Noneの時は'two-sided' p値は返り値のpvalueで取れる。 …
Linuxを使っているとWinowsが恋しくなる時があるはずです、よね。 僕はどうしてもUbuntuの安っぽいアイコンが好きになれない。 そこでubuntuをWindows10風にアレンジすることにした。手順としては 1.外観を変更するアプリケーション(gnome tweak tool か u…
VAIOにVMwareを入れてubuntuを動かしたかったが、 VMPlayerを起動しようとすると "Intel VT-x に対応していますが、Intel VT-x は無効になっています。" と怒られてしまった。 VAIOでBIOSに入ろうと思ったのだが入り方がわからない!BIOSに入れたはいいが何…
他人のソースを動かしていると、.pyxというファイルがあって、これ何?と思ったから調べてみた。.pyxの拡張子とは、PythonをC言語ライクにコンパイルするCythonというメタ言語のスクリプトファイルのこと。つまり、Cythonっていうほぼpythonみたいな言語があ…
※python2.7系ですpythonで普通にprint文を書くと for i in range(5): print i 0 1 2 3 4 となりコンソールに上書きされずに改行されてプリントされていく。処理中のファイル名や内部変数の値などをリアルタイムで見ていきたい時は改行せず上書きしたほうが見…