魚でもわかるRandom Projection

いきなり始まった「魚でもわかる」シリーズ.

今回は情報科学系の方向け.
次元削減のいち手法である「Random Projection」を簡単に紹介します.

具体的にやってること,できることはものっそ簡単で,こないだBoostアドベ記事を書き上げてから寝付けなかったのでふと思い立って取り組んでみたら一発ですごいちゃんとできたのでブログにまとめるに至った次第(そしてその日はそのまま寝付けずに昼間死ぬかと思ったという).
最初に知ったのはMIRU2011という,夏にあった学会でとある論文を読んだ時.

もちろんわかってると思いますが,ツッコミ待ちです!!

Continue reading

cuda-gdbがlibpythonのエラーで起動できなかったら

CUDA4.1に付属のcuda-gdbはlibpython2.6が必要なんだそうです。
ぼくはpython3.xネイティブなので2.xは使えませんとかそういうのはおいといて、身近なディストロの最新はだいたい2.x系としては2.7しか用意してないぽい。

% cuda-gdb
cuda-gdb: error while loading shared libraries: libpython2.6.so.1.0: cannot open shared object file: No such file or directory

自分でlibpython2.6を入手して手元でビルドしてもいいんですがそんなねぇ。

ごまかしちゃえばいいみたいです。

% sudo ln -s /usr/lib/libpython2.7.so.1.0 /usr/lib/libpython2.6.so.1.0
% sudo ln -s /usr/lib64/libpython2.7.so.1.0 /usr/lib64/libpython2.6.so.1.0

ちょ。
YOUこんなことしていいのかYO!

% cuda-gdb
NVIDIA (R) CUDA Debugger
4.1 release
Portions Copyright (C) 2007-2012 NVIDIA Corporation
GNU gdb (GDB) 7.2
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-unknown-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
(cuda-gdb)

        ∧∧
       ヽ(・ω・)/   ズコー
      \(.\ ノ
    、ハ,,、  ̄
     ̄

ちょっと使った範囲だと問題なく動いてはいます。