Rを使った大学院講義に関するコメントを見た。関数の定義(実装)は何かを調べた受講生がいるとのことである。気になって自分も調べてみたところrdbファイルに辿り着いたのでメモ。
続きを読むx軸を共有したグラフ、複数のy軸を持つグラフを描く
- plt.add_axes()を用いた方法よりgridspecを用いた方法の方がレイアウトに気を使わず簡単にグラフを描けた。
plt.setp(ax0.get_xticklabels(), visible=False)
とplt.subplots_adjust(hspace=.0)
が一方の軸を非表示にして、さらに2つのグラフをくっつけて描くのに重要である。 - y軸を複数描くにはtwinx()を用いる
cymemというCython用のメモリ管理ライブラリ
現実逃避にyoutubeを見ていたところ情報業界にまでyoutuberが登場していた(C Programming for Machine Learning (LIVE) - YouTube)。真面目に見ていると中身がペラペラな感じは否めないが話すのは上手であり、ライブコーディング中にバグが取れなくなって詰んでいるのはご愛嬌であった(sizeOfとtypoしていることに気付いていない)。
cythonは以前pythonとRで実装していた研究用のプログラムが遅すぎて辛かったときにお世話になった。プログラム中に出てくるcymemというライブラリが気になったのでメモ。cythonは実質Cなのでmallocしたらfreeしないといけない面倒があるがcymemはRAII(Resource Acquisition Is Initialization)の思想で実装されておりfreeしなくてよいというおしゃれライブラリである。
その他のメモ
ディリクレ過程の定義
確率空間〜確率過程〜ディリクレ過程(とディリクレ混合分布との関連)までの現状の雑な理解をメモしておく。なお当方は集合論、測度論未履修でありかなりいい加減である。
続きを読むBjarne Stroustrup氏来日
C++分かりたいので、知ってたら有給取ってでも聞きに行きたかった。 togetter.com
「Inside the C++ Object Model」を読んだ
C++ Primerの著者の一人である S. Lippmanの著書。C++コンパイラの前身?であるcfrontはC++→Cのトランスパイラとして実装されており、cfront2くらいの頃の変換規則を解説しており、多重継承を含む多態性をどのように実装したかに重点が置かれている。研究室に来ていた留学生に勧められてこの本を手に取ったが、C++ Primerと重なる部分が多く感じられ、自分が他人に勧めるかと聞かれるとあまりおすすめしない(中古の割に高い: amazon)。むしろhttps://shaharmike.com/cpp/vtable-part1/~part4、stackoverflowにあったc++ - What is the VTT for a class? - Stack Overflowという記事、日本語ではメモリ配置とキャスト – wizaman's blogなどの記事が分かり良いと感じた。以下は記載内容を適当に省略しつつ発生させたメモの写し(最新の実装との整合性のチェックなどはしていないし、間違いもあっても構わんやろという立場)
続きを読む第一種Fredholm方程式
ちょっと前にGhost cytometryという、フローサイトメトリーので細胞分離に細胞の形態を反映できるようにしたという論文がツイッターで話題になっていた。詳細はさておいて、この論文中では$g(t) = \int\int H(x+vt, y) I(x, y)\,dxdy$という積分方程式を解いて細胞を含む画像I(x,y)を復元するステップがある。この積分は一般的には第一種フレドホルム方程式$g(t)=\int _{a}^{b}K(t,s)f(s)\,ds$と呼ばれている。以前数値積分手法やメッシュ上の数値積分で調べたように離散化して行列に書き換えるのが一般的なようで、この論文でも同様にしている。行列の形になったあとは圧縮センシングで頑張るとのこと。自分でデモをしようと思ったが面倒になったのでここまで。(細胞の分離自体は行列計算していると間に合わないので生信号をSVMを使って分類するそう)
参考
- FCMの原理入門講座 | サイトメトリードットコム
- フレドホルム積分方程式 - Wikipedia
- On Solving Fredholm Integral Equations of the First Kind: $g(y_{i}) + \epsilon(y_{i}) = \int K(y_{i}, x)f(x)dx = \sum w_{j}K(y_{i}, x_{j})f(x_{j}) = A_{ij}f(x_{j})$と書き換えてAf=g+εとする典型的な手法に見える。
- Solving Fredholm Integral Equations of the Second Kind in Matlab: 読んでいなくてあれだが、Kが連続、離散、その他色々の条件で解き方を検討している
- 今日からできるスパースモデリング: その1、その2