Machine Learning
直線モデル(線形モデル)にシグモイド関数を通すのはなぜ?
直線モデル(線形モデル)にシグモイド関数を通すのは、モデルの出力を 確率 のような 0から1の範囲 に制限し、非線形性を導入するためです。具体的には、以下の理由からシグモイド関数が使われます。 1. 確率解釈を可能にする シグモイド関数は入...
Machine Learning 11: 10分でできるKNeighborsClassifier(K最近傍法)
前回は、ROC曲線の下のエリアのAUSについて求めてみた。今までは、数字の画像が5かそれ以外だけを判断していた。 今回は、 機械学習の中で単純なKNeighborsClassifierを使って複数のクラスについて判断してみよう。 KNeig...
Machine Learning 10: 10分でできるAUC(Area Under the Curve)値の求め方
前回は、ROC曲線を描き、性能評価の可視化をしてみた。すでにroc_curveというライブラリが用意されているので、プロット自体は簡単だ。 今回は、ROC曲線の下の部分のエリアであるAUC(Area Under the Curve)について...
混同行列 (Confusion Matrix) のまとめ
混同行列は、言葉だけではピンとこないこともあるので、指標についてまとめてみた。 予測されたクラス + - 実際のクラス + True Positive False Negative - False Positive True Negativ...
Machine Learning 9: 10分でできるROC(Receiver Operating Characteristic)曲線
前回は、適合率/再現率曲線を実際に描いてみた。 理由は、正解率をチェックするだけでは不十分だからだ。 例えば、癌や新型コロナの陽性を発見するタスクでは、陽性患者を陰性と判定してはマズいので、陰性の患者を陽性と診断して、再検査したほうがマシと...
Machine Learning 8: 10分でできるprecision/recall curve (適合率/再現率曲線)
前回は、予測と実際の結果がどれほど一致するか検証してみた。 具体的には、k-folds cross validationやconfusion matrix(混合行列)について、実際の手書きの数字画像データを利用して検証してみた。 理由は、検...
Machine Learning 7: 10分でできる手書きの数字の判定と検証
前回は、クラス分類をするためにScikit-LearnのSGDというライブラリを使って数字の画像データの判定を行った。 今回は、結果がどれほど正しいかについて検証するための関数について学んでみよう。 Cross Validationとは C...