人間だったら考えて

考えて考えて人間だったら考えて

機械学習

Chainerでマルチタスクニューラルネットワークを実装した

注:この記事の実装は非効率的かもしれません. この記事は何? マルチタスク学習をニューラルネットワークに適用した研究がいくつか報告されています. 適用例として,Georgeら(2014)の研究では,タンパク質に対する化合物の活性予測にニューラルネットワー…

CNNモデル比較論文 "An Analysis of Deep Neural Network Models for Practical Applications"を読んだ

深層学習を用いた画像認識分野では様々なCNNのネットワーク構造が提案されており,ImageNetデータセット等を用いた予測精度比較が広く行われています. じゃあどのCNNモデルを使うべきなんだろう…と考えていましたが,最近こんなtweetが目に入りました.代表…

予測ランキング評価指標:NDCGの2つの定義と特徴の比較

この記事は何? 機械学習の応用例としてランキング予測があります. ランキング予測の例としてウェブページランキングがあります.GoogleやYahoo!のような検索エンジンでは,ユーザーが入力したクエリに対して適合度の高い順にウェブページをランキングし,…

正定値でないグラム行列を正定値に変換して学習すると精度は変化する?

この記事は何? カーネル法を用いた機械学習では,データセットに対するグラム行列を生成して学習を行いますが,非正定値カーネルを用いた場合やサンプル間の類似度をカーネルとして用いた場合は,得られるグラム行列が正定値にならない場合があります. 得…

スケーリングは訓練データだけでやる?テストデータも混ぜてスケーリングする?

この記事は何? 機械学習における前処理として,特徴量のスケーリングがあります. スケーリングの有無によって,予測器の性能が変化することがあります. スケーリングにも様々な手法があります.代表的なものとして,「最小値を0,最大値を1とする0-1スケ…

不均衡データに対する予測結果のAccuracyは簡単に上がってしまう

この記事は何? 機械学習における不均衡データの扱いは,学習時にも評価時にも注意する必要があります. 例えばSVMにおける学習では,クラス重みを事前に設定することで,不均衡データによるバイアスを軽減できます. 不均衡データに対する予測精度の評価に…

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を加えるとお馴染みの偏…

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

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

線形回帰の実装

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

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

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