初めに この記事は、Machine Learning Advent Calendar 2016 5日目の記事です。 複数の学習器(弱学習器、weak learner)を組み合わせてよりより性能の高い学習器(強学習器、strong learner)を作る、アンサンブル学習の手法の一つ、ブースティング。 その中でも代表的な、AdaBoost。 PRML本にも載っている(日本語版下巻p.374)しググれば実装例もいくらでも出てきますけれど、弱学習器として一番単純な決定株(decision stump)を用いた例ばかり。 それを他のものに変えたら、性能にどう影響するか。思いつきで実験してみました。1 実験環境 Mac OSX 10.11.6 Core i7 3.1GHz / 16GB RAM Julia v0.5.0 IJulia(Julia の Jupyter カーネル)、Gadfly(Juli
正解率 (精度, accuracy):正や負と予測したデータのうち,実際にそうであるものの割合 \[\mathrm{Accuracy}=\frac{TP+TN}{TP+FP+TN+FN}\] 適合率 (precision):正と予測したデータのうち,実際に正であるものの割合 \[\mathrm{Precision}=\frac{TP}{TP+FP}\] 再現率 (recall, 感度, sensitivity):実際に正であるもののうち,正であると予測されたものの割合 \[\mathrm{Recall}=\frac{TP}{TP+FN}\] 特異度 (specificity):実際に負であるもののうち,負であると予測されたものの割合 \[\mathrm{Specificity}=\frac{TN}{FP+TN}\] F値 (F尺度, F-measure):再現率と適合率の調和平均. \[\
機械学習モデルにおいて、人間によるチューニングが必要なパラメータをハイパーパラメータと呼ぶ。 ハイパーパラメータをチューニングするやり方は色々とある。 例えば、良さそうなパラメータの組み合わせを全て試すグリッドサーチや、無作為に試すランダムサーチなど。 今回は、それとはちょっと違ったベイズ最適化というやり方を試してみる。 ベイズ最適化では、過去の試行結果から次に何処を調べれば良いかを確率分布と獲得関数にもとづいて決める。 これにより、比較的少ない試行回数でより優れたハイパーパラメータが選べるとされる。 Python でベイズ最適化をするためのパッケージとしては Bayesian Optimization や skopt、GPyOpt などがある。 今回は、その中でも Bayesian Optimization を使ってみることにした。 使った環境は次の通り。 $ sw_vers Produ
Nested versus non-nested cross-validation# This example compares non-nested and nested cross-validation strategies on a classifier of the iris data set. Nested cross-validation (CV) is often used to train a model in which hyperparameters also need to be optimized. Nested CV estimates the generalization error of the underlying model and its (hyper)parameter search. Choosing the parameters that maxi
注目している画素とその近傍の画素の濃度値に、ある重み付けをしたあと、それらの和をとって、注目している画素の新しい濃度値とするような処理を近傍処理といいます。このとき、重み付けに用いる値は、オペレータなどと呼ばれます。今回は、3×3 の近傍領域を用いた空間フィルタについて考えていくことにします。 注目している画素の濃度値を f (i , j ) とすると、処理対象となる濃度値は、表.2(a)のようになります。また、オペレータ a (k , l ) は表.2(b)に示します。
SIFT (Scale-Invariant Feature Transform, スケール不変の特徴変換)の紹介¶ 理論¶ 参考: 藤吉氏によるSIFTの紹介が分かりやすい これまでの章で、Harrisの手法などのコーナー検出の方法を学んだ。これらの手法は回転不変であった。つまり、画像が回転していても、同じコーナーを見つけられる手法であった。画像が回転してもコーナーはコーナーのまま、というのは明らかである。しかし、スケール(拡大縮小)についてはどうであろうか。画像が拡大縮小されたら、コーナーはコーナーでなくなってしまわないだろうか。例えば下の画像を見てみよう。左の画像にある小さなウィンドゥの中のコーナーが右図のように拡大されている。ここで右図の画像を同じサイズのウィンドゥでつぎつぎ取り出して見ていくと、もはやコーナーはなくなっている。このことから明らかなように、Harrisの方法はスケール
今回は、ハイパーパラメータ選びを含む機械学習モデルの交差検証について書いてみる。 このとき、交差検証のやり方がまずいと汎化性能を本来よりも高く見積もってしまう恐れがある。 汎化性能というのは、未知のデータに対処する能力のことを指す。 ようするに、いざモデルを実環境に投入してみたら想定よりも性能が出ない (Underperform) ということが起こる。 これを防ぐには、交差検証の中でも Nested Cross Validation (Nested CV) あるいは Double Cross Validation と呼ばれる手法を使う。 ハイパーパラメータの選び方としては、色々な組み合わせをとにかく試すグリッドサーチという方法を例にする。 また、モデルのアルゴリズムにはサポートベクターマシンを使った。 これは、サポートベクターマシンはハイパーパラメータの変更に対して敏感な印象があるため。
今回は、以下の記事の続きとして PyTorch で RMSProp のオプティマイザを実装してみる。 blog.amedama.jp 上記では PyTorch で Adagrad のオプティマイザを実装した。 Adagrad は学習率の調整に過去の勾配の平方和の累積を使っている。 このやり方には、イテレーションが進むと徐々に学習が進みにくくなってしまう問題がある。 そこで、RMSProp では学習率の調整に過去の勾配の平方和の指数移動平均を使っている。 これによって、徐々に学習が進みにくくなる問題を解決した。 使った環境は次のとおり。 $ sw_vers ProductName: macOS ProductVersion: 15.1 BuildVersion: 24B83 $ python -V Python 3.12.7 $ pip list | egrep -i "(torch|mat
16日朝早く、大阪 吹田市の交番前で26歳の男性巡査が男に包丁で胸を刺されて意識不明の重体となっています。男は巡査の拳銃を奪って逃走していて、警察は交番の防犯カメラに記録された不審な男の画像を公開し、情報の提供を求めるとともに不要不急の外出を控えるよう付近の住民に呼びかけています。 16日午前5時半ごろ、大阪 吹田市の千里山交番前の路上で、古瀬鈴之佑巡査(26)が左胸に包丁が刺さった状態で倒れているのを、近くの駅の駅員が見つけました。 古瀬巡査は刃物を使った切りつけなどに備えるための「防刃ベスト」を身につけていましたが、体を複数箇所刺されていて意識不明の重体だということです。 警察によりますと、巡査が所持していた5発の弾が入った拳銃が、強奪防止用の金具のフックが外され奪われたということで、警察は強盗殺人未遂事件として逃走した男の行方を捜査しています。 これまでの調べによりますと、当時、交番
ここからはこれまで述べてきたサポートベクターマシンにカーネル法を適用することにより非線形サポートベクターマシンへ拡張することを考えます。 カーネル法の導入 これまで述べてきたサポートベクターマシーン分離面が超平面であることを前提としていました。しかし、実際の問題では正例データと負例データの境界が超平面であるよりは、複雑に入り組んだ超曲面である可能性が高いことが想定されます。 このようなデータに、これまで述べてきたようなクラス境界を超平面とするサポートベクターマシーンを適用しても、高い分類性能を期待することは難しそうです。 たとえば下図のような単純なケースでさえ正例データ(○)と負例データ(×)を分ける直線は存在しないため、100%の分類性能は達成できません。 しかし、このようなデータでも線形分離が可能になるような別の空間へ変換できれば、変換先の空間ではクラス境界が超平面になるのでサポートベ
先に結論を書く。 大学の研究力が衰退した最大の理由は「教育改革」である。予算の減少が最大の理由ではない。 教育改革をやめれば、予算を増やさずとも研究力は向上する。 もっと平易に書けば、 教育を頑張りすぎたから研究力が落ちたのである。 教育には手を抜いて、研究に力を注ぐべきである。 過去の研究成果が現代のノーベル賞受賞に結び付いている理由を端的に言えば、 「昔は教育を適当にやっていたから」であり「時間がたっぷりあったから」である。 今は、産業界からの圧力で様々な教育改革が強烈に進められている。 皮肉なことに、どんなに教育に力を入れて優秀な人材を育てても、その能力を十分に活かすだけの場所が今の産業界(とくに経団連)には存在しない。 そんなことは「退職しました」系のエントリでも読めば明らかだ。 改めて言うまでもないが、大学教員が持つリソースは有限である。 教育にリソースを割けば、その分、研究に割
これまで、いくつもの困難に立ち向かい、それぞれ考え、解決をしてきた頼りになる新入社員ですが、一つ問題が出てきました。 それは、パソコンのタイピングの遅さです。 今現在、文書作成のほとんどを任せています。 レイアウト等の課題もありますが、何より文字を打つ速度が遅い・・・。 フリック入力の方が楽!と、愚痴る若者たち。おじさんはついていけません。 時は金なり。仕事は効率なり。文書作成はタイピング速度なり! 私がいろいろ試して、その中で面白いと感じたサイトを紹介します! (1)寿司打(すしだ)! www.typing.sakura.ne.jp ひたすら流れてくるお寿司(文字)を入力し、いくらお得になったか最終的に結果が出るもの! 実際やってみましたが、ミスタイプ多すぎィ! 一回に打つ文字数も自分にあったものが選べるので、楽しみながらタイピング練習ができると思います! お寿司が大好きな方には是非お勧
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く