筑波大学の機械学習講座:課題のPythonスクリプト部分を作りながらsklearnを勉強する (10)


前回
筑波大学の機械学習講座:課題のPythonスクリプト部分を作りながらsklearnを勉強する (9)
https://github.com/legacyworld/sklearn-basic

課題 5.3 ヒンジ損失と二乗損失

今回は外れ値がある場合
Youtubeの解説は第6回(1)55分30秒あたり

外れ値ありのヒンジ損失

プログラムは2行足すだけ

X = np.insert(X,0,[5,-50],axis=0)
y = np.insert(y,0,1)

講座では最初の値を入れ替えているようだが、1つ追加してもそこまで変化は無さそうだ。

これが実行結果。
大きく外れた値が一つポツンとあっても、正解であればヒンジ損失では0になるので何ら影響はない。

外れ値ありの二乗損失

これも同じく2行足すのだが、何故か座標が[5,-35]に変わっている。
おそらく二乗損失も[5,-50]でやると外れ方が大きくなりすぎるからだと思われる。
こちらが実行結果

この問題の意図

大きな外れ値があった場合にヒンジ損失では何の問題も無く分類で来ているが、二乗損失では正解であっても遠く離れたものは大きなペナルティを与えてしまうためおかしくなってしまう。

過去の投稿

筑波大学の機械学習講座:課題のPythonスクリプト部分を作りながらsklearnを勉強する (1)
筑波大学の機械学習講座:課題のPythonスクリプト部分を作りながらsklearnを勉強する (2)
筑波大学の機械学習講座:課題のPythonスクリプト部分を作りながらsklearnを勉強する (3)
筑波大学の機械学習講座:課題のPythonスクリプト部分を作りながらsklearnを勉強する (4)
筑波大学の機械学習講座:課題のPythonスクリプト部分を作りながらsklearnを勉強する (5)
筑波大学の機械学習講座:課題のPythonスクリプト部分を作りながらsklearnを勉強する (6)
筑波大学の機械学習講座:課題のPythonスクリプト部分を作りながらsklearnを勉強する (7) 最急降下法を自作
筑波大学の機械学習講座:課題のPythonスクリプト部分を作りながらsklearnを勉強する (8) 確率的最急降下法を自作
https://github.com/legacyworld/sklearn-basic
https://ocw.tsukuba.ac.jp/course/systeminformation/machine_learning/