暇人日記

アラフォーおっさんのコーセラの機械学習の課題を解こうと頑張っています!

2020-06-01から1ヶ月間の記事一覧

Coursera Machine Learning Week5 課題 2周目⑱ 予測精度向上

Week5の課題ではλ=1、MaxIter=50で的中率95.2%でした。 同じ課題をWeek4では与えられたθでの的中率は97.5でした。 オプションではNeural Networkは複雑な予測線を描ける強力なツールなので、 λを小さくしてある程度regularizedの力を弱めて精度100%に近づ…

Week3の課題をNeural Networkで解いてみる 後半

前回はNeural Networkの精度の低さにびっくりしたところで終わりました。 まずはlambdaを調整してみたいと思います。 overfitやunderfitの時のガイドラインがCourseraでは紹介されていました↓ 今回は当たらなさすぎのunderfitの状態なので、 Decreasing λに…

Week3の課題をNeural Networkで解いてみる 前半

Week3の課題はTEST1とTEST2の点数と合否がデータセットで100個与えられていて、 合否の予測線を作りなさいというものでした。 まずNeural Networkで解くので構造を考えてみます。 Input layerはTest1とTest2のなので「2」ですね。 Output Layerは合格か不合…

fmincg,fminuncを使うときに出てくる@t,@pは何か?

Week5までに出てきた@t、@pを列挙してみます。 Week5のex4.mの中です。 @(p)が絡んでいる nnCostFunction.mはnn_params, input_layer_size,hidden_layer_size,num_labels,X, y,lambdaを入力すると Jとgradを計算してくれる関数となっていました。 nn_par…

Coursera Machine Learning Week5 課題 2周目⑰ 予測

もう随分とWeek5のNeural Networkに取り組んでますが振り返りたいと思います。 Week2-4で学んだ黄金の流れ ①予測式-->②Cost Function-->③Gradient-->④最適θ-->⑤予測 でいくと①-③がこれまでの日記で完了しています。 Linear Regression/Logistic Regressio…

Coursera Machine Learning Week5 課題 2周目⑯ Random Initialization/debugInitilization

Random Initializationを深堀してみます。 Random Initializationはθの値の初期設定をランダムに決めることです。 Random InitializationはVideoでも紹介され問題文にもあって課題プログラムまで ありましたが、答えが書いてあって実行して理解したという気…

Coursera Machine Learning Week5 2周目⑮ Gradinent Checking-後半-

Gradient CheckingをWeek5ではなくWeek3やWeek4の課題で使う練習をしたいと思います。 まずはWeek3の課題のwithout regularizationでやってみます。 100人の受験者のTEST1とTEST2の得点と合否がサンプルとして 与えられ、どれくらいのTEST1とTEST2だったら合…

Coursera Machine Learning Week5 2周目⑭ Gradinent Checking-中編-

Gradient Checkingを使いこなすための深掘りです。 使えるとこういう結果が出てきます。 左の列にGradinent Checkingで計算したgrad, 右の列にBackpropagationで計算したgradが並びます。 この差が01e-9以下ならBackpropagationの計算は正しいという目安で 2…

Coursera Machine Learning Week5 2周目⑬ Gradinent Checking-前半-

課題にはなっていないんですが、他のデータでNeuralNetworkを 使いたいと思った時にとても重要になっているGradient Checkingを 深堀してみます。 VIDEO 問題文 プログラム全体/詳細 の流れで取り組みます VIDEO 概念と計算式と具体的なコードが触れられてい…