今回も前回に引き続きdataset3Params.mに取り組んでいます。
前回の宿題が
①56.5%の精度しかないすべて1という境界線をグラフで表現すること
②ValidationSetを評価しているのに、SVMの元データがX,yでいいのかということ
この2つだったのでこれに今日は取り組みます。
①は境界線の計算はもう終了しているのでグラフの軸を
いかにかえるかというOctaveの基本操作ですね。
では式を見てみます。
グラフはこの式で描かれています
具体的な中身がこれですね。
(出典;『Coursera Machine Learning』 By Mr. Andrew Ng)
分布図のグラフに境界線を追加するという2段構えなので、
軸に関係しそうな項目が2つありますね。
Plot Dataのグラフを作成して、境界線を追加するという仕組みなので
赤で囲った箇所を追加してPlot Dataの軸を変更してみます。
(出典;『Coursera Machine Learning』 By Mr. Andrew Ng)
-10から10の範囲にX軸もY軸も変更します。
軸が変わりました!
ちょっと大きくしすぎで分布図がまるでみえないので、
もう少し小さくして-2から2の範囲にX軸もY軸も変更します。
ちなみに境界線も見えていない状況です。
-2から2へ変更しましたが、依然境界線が見えません。
私の推定では下のグラフのように
こういう線が入って200個中113ある「0」が
全てErrorなのかと予測していたのですが、
その線が出てきません。。。
ふっとErrorの数はPred56.5%の倍の113個であってることを
確かめようと思いました。
あれ!?そもそもXは211でXvalは200です。
今までのグラフはXの数211についてのグラフです。
PredはValidationSet;Xvalについての予測だから、
グラフの○の数とは関係ないんだ、と気づきました。
自分でグラフの〇の数113とか言い出したから、
少しハマってしまいました。
境界線がどこに入るかは64通りの考察の後に
することにしました。
64通りしたときに56.5%の線が他にも
あるのではないかと思ったのがその理由です。
結局宿題の①は考察したものの未解決、②は手つかずですが
明日行うことにします。