2016-01-01から1年間の記事一覧

CNNとRankNetを用いた画像の順序予測(ラブライブ!のキャラクター順序予測を例に)

(Chainer Advent Calendar 2016 5日目です.この記事はTokyoTechLTで発表したものと同内容のものです.) この記事は何? 以前Chainer Advent Calendar 2015において,Chainerを用いたRankNet(ランク学習手法の1つ)の実装を紹介しました. 本記事では,RankNe…

z-scoreに変換しても相関係数は変わらない

この記事は何? 機械学習の前処理として特徴量のスケーリングを行うことがありますが,スケーリング手法の1つとしてz-score変換があります. z-scoreは平均が0,標準偏差が1となるようにスケーリングを行います,z-scoreを10倍して50を加えるとお馴染みの偏…

Pythonのset演算は演算子使うとスマート

この記事は何? Pythonでset演算をするには,union関数やintersection関数を用います. 最近,set演算は演算子を用いた方法もサポートされていることを知ったので(ドキュメントに書いてあるんですけどね),紹介したいと思います. どのように書けるのか? se…

numpyのmax関数とmaximum関数

numpyのmax関数を用いた,次のコードの実行結果を予想してみてください. import numpy as np xs = np.array([1, -2, 3]) np.max(xs, 0) この出力は3となります.[1, -2, 3]と0の4つの数字のうち,最も大きい値を出力します.一方で,[max(1, 0), max(-2, 0)…

PowerPointでもTeX数式を使いたい!

この記事は何? PowerPointアドインにIguanaTeXというものがあります. IguanaTeXは,TeX出力をPowerPointに図として簡単に挿入できるアドインです.PowerPointのデフォルト数式に辟易した方にオススメなので紹介したいと思います. 例 PowerPoint数式と,Ig…

確率的勾配降下法によるRankSVMの実装

この記事は何? ランク学習のモデルの一つとしてRankSVMがあります.RankSVMには様々な最適化手法が提案されていますが,通常のSVMと比較して計算量が大きいため,大きなデータセットに適用するのは難しいと言われています.一方,D. SculleyによるLarge Sca…

python3のパス名操作いろいろ

この記事は何? pythonでパス名を文字列操作するときはos.path以下の関数を用います. 提供されている関数がいくつかあり頭に入っていなかったので,実際に動かしてみたときのメモです. ソースコード import os test_path = "hoge/piyo/fuga.ext" print(tes…

発表用スライドの参考資料

この記事は何? 見やすい・分かりやすいスライドを作るために参考になった資料のまとめです. スライドデザイン 見やすいプレゼン資料の作り方-リニューアル増量版 見やすいプレゼン資料の作り方 - リニューアル増量版 from スマートキャンプ株式会社 www.sli…

線形回帰の実装

この記事は何? 線形回帰のpython(+ numpy)による実装例です. 数式 訓練データをとし,推定する重みベクトルをとすると,は以下の式で表されます. \begin{align} {\bf \hat{w}}=({\bf X}^T{\bf X})^{-1}{\bf X}^T{\bf y} \end{align} この式を実装するだけ…

Pythonのmultiprocessingを使ってマンデルブロ集合を並列に計算

この記事は何? Pythonでプロセス並列を行いたい時,標準ライブラリにmultiprocessingが,外部ライブラリにjoblibがあります. 普段はjoblibを使って並列処理を書いているのですが,multiprocessingをあまり使ったことが無かったので触れてみた時のメモです…

分子構造可視化ソフトウェアChimeraにオリジナルのpresetを登録する.

この記事は何? 分子構造可視化ソフトウェアの1つにChimeraというものがあります. 例えばタンパク質の立体構造を読み込むと下のような図を描画してくれます(PDBID: 1LCI). この図からいくつかコマンドを叩くと下のような綺麗な図も描くことが出来ます. 上…

一人ヌメロン

ヌメロンというゲームをご存知でしょうか. 簡単に言うと二人で遊ぶ数字当てゲームです. お互いに数字をコールしていき,数字と桁が一致している数・数字は合っているが桁は異なる数を教えます. 結構頭を使うゲームで,慣れていないとなかなか推理できませ…

Pythonでsetからランダムサンプリングすると遅い

この記事は何? Pythonでsetからランダムサンプリングするコードを書いたところ,非常に時間がかかっていたので簡単に計測した時のメモです. 実行環境はPython 3.5.1 (Anaconda 2.5.0)です. 実験条件 サンプリング元はlistおよびsetとし,サイズを10, 100,…

ROC-AUCを最適化したいならRankSVMを使えば良いのでは?

この記事は何? 機械学習分野における予測精度の評価指標としてROC-AUCがよく用いられています. ROC-AUCは分類問題で用いられる評価指標ですが,ROC-AUCを直接最適化できるとお得です. 機械学習の一つにランキングを学習するランク学習という枠組みがあり…

データ解析のためのモデリング入門第9章をPyStanで

この記事は何? 生態学データ解析 - 本/データ解析のための統計モデリング入門の第9章ではGLMを題材としたMCMCが紹介されています. この本ではMCMCのソフトウェアとしてWinBUGSが使われていますが,インストールバトルに負けたのでPyStanを使って第9章の例題…

中心極限定理の実験

この記事は何? 中心極限定理を確認してみたメモ 実験 それぞれの分布に従うサンプルを10000×N個生成します. その後N個の平均を取り,平均値のヒストグラムを描きます. 一様分布 二項分布 ポアソン分布 ソースコード 中心極限定理の実験 · GitHub