暇人日記

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

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 概念と計算式と具体的なコードが触れられてい…

Coursera Machine Learning Week5 課題 2週目⑫ -苦闘記憶- Regularized Gradient

今回はRegularized Gradientに取り組みます↓ 今、全体の流れのどこをやっているか分からなくなったので振り返ることにします。 前回の日記で全体の構造を下のようにまとめました。 問題文的にはに取り組んでいます。 かなり終着に近づいてきました。 問題文/…

Coursera Machine Learning week5 2周目⑪Backpropagation ループ無 後半

さて、今回も前回に引き続きBackpropagationの課題に取り組みます。 ループ無しバージョンで解いたので、今はループ有りバージョンで解くことを 目指しています。 前回の日記でのおおきなきづきは 0-9の10通りのループと1-5000のループを2重にするとうまくい…

Coursera Machine Learning Week5 2周目⑩ Backpropagation ループ有り 前半

ヒントにはループ有で最初は解くようにとありましたが、 私にはループ有りで解く方が難しいです。 理由ははっきりしていてループするとループシュミレーション取り出しを しなければなりませんが、目指すべき形がわからないからです。 さらにgradは苦手分野…

Coursera Machine Learning Week5 2周目⑨ Backpropagation ループ無し

Video振り返り/問題文読み込みをしたので、 今回はBackpropagationの課題にいよいよ取り組みます。 解き方の順番は詳細にVideoにも問題文にもありました↓ この順番に解いていけばいいはずです。 今回はループ無しで解きます。 ヒントはループ有りが推奨でし…

Coursera Machine Learning Week5 2周目⑧ Backpropagation

問題に取り組んだ日記⑥を読み進めると問題は 2.1 Sigmoid Gradient 2.2 Random Initialization 2.3 Backpropagation ①問題文の読み込み ②プログラム全体ex4.mの読み込み ③プログラム詳細 nnCostFunction.mの読み込み となっていますので、この順に読み進めて…

Coursera Machine Learning Week5 2周目⑦ Backpropagation Video振り返り

今回はBackprobagationの課題に取り組む前にVideoの振り返りをします。 Video②Backpropagation Algorithm Video③Backpropagation intuition Video②Backpropagation Algorithm 1周目で課題は正解したものの内容を最も理解していない部分になります。 このVIDE…