SSブログ

Week4のプログラミング課題を見直した [Octave]

(2019.09.22)
Machine Learning(↓)のWeek6を受講しています。Andrew Ng先生のビデオ講義にも慣れました。
https://www.coursera.org/learn/machine-learning/home/welcome

少し難し目のコースを順調に受講できているのは、プログラムが上手く動かない時に他の方のコードを参照することを厭わないためだと思っています。自嘲気味に『カンニング』と呼んでいますが・・・

学校なら『カンニング』はタブーかもしれません。けれどもエンジニアの現場では不具合を確実かつ速やかに解決するための手段は選びません。確かな情報を求めて手あたり次第に調べるのは当然のことです。なので、自分で書いたコードが上手く動かないとき、他の方のコードを参照して不具合箇所を探すことにためらいはありません。いずれ、正解の無い問題に取り組むことになるのですから、正解がそこにある間はそれを利用した方が良いと思います。これはCoursera-Honor-Codeを知った上で表明する管理人の考えです。もしMachine Learningコースを受講中で、Coursera-Honor-Codeを知らずにこのサイトを訪れた方がいらっしゃいましたら、是非Coursera-Honor-Code(↓)をご一読下さい。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
<Coursera-Honor-Code>
https://learner.coursera.help/hc/en-us/articles/209818863-Coursera-Honor-Code
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー

先日(↓)、Week4のプログラミング課題を達成率80%で合格したとお伝えしました。
https://broadbeans.blog.so-net.ne.jp/2018-09-20

気になっていたので、少し調べて(<==他の方のコードと比べて)みることにしました。
lrCostFunction.mは・・・問題なさそうです。oneVsAll.mも問題無さそうなんだけど・・・ん!
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
英語で受講するのは・・・やっぱりPythonが・・・という方にこれなどは如何でしょう


ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
<誤>
    for c = 1:10
      [ theta ] = fmincg (@(t)(lrCostFunction(t, X, (y == c), lambda)), initial_theta, options);
      all_theta(c,:) = theta(:);
    endfor

submitした結果
Iteration    28 | Cost: 3.391340e-01
Iteration    25 | Cost: 6.631438e-02
Iteration    31 | Cost: 1.002636e-01
Iteration    20 | Cost: 3.598119e-01
Iteration    50 | Cost: 2.353348e-07
Iteration    50 | Cost: 2.353348e-07
Iteration    50 | Cost: 2.353348e-07
Iteration    50 | Cost: 2.353348e-07
Iteration    50 | Cost: 2.353348e-07
Iteration    50 | Cost: 2.353348e-07
==
==                                   Part Name |     Score | Feedback
==                                   --------- |     ----- | --------
==             Regularized Logistic Regression |  30 /  30 | Nice work!
==              One-vs-All Classifier Training |   0 /  20 |       <==不正解
==            One-vs-All Classifier Prediction |  20 /  20 | Nice work!
==          Neural Network Prediction Function |  30 /  30 | Nice work!
==                                   --------------------------------
==                                             |  80 / 100 |
==

<正>
    for c = 1:num_labels
      [ theta ] = fmincg (@(t)(lrCostFunction(t, X, (y == c), lambda)), initial_theta, options);
      all_theta(c,:) = theta(:);
    endfor

submitした結果
Iteration    28 | Cost: 3.391340e-01
Iteration    25 | Cost: 6.631438e-02
Iteration    31 | Cost: 1.002636e-01
Iteration    20 | Cost: 3.598119e-01
==
==                                   Part Name |     Score | Feedback
==                                   --------- |     ----- | --------
==             Regularized Logistic Regression |  30 /  30 | Nice work!
==              One-vs-All Classifier Training |  20 /  20 | Nice work!
==            One-vs-All Classifier Prediction |  20 /  20 | Nice work!
==          Neural Network Prediction Function |  30 /  30 | Nice work!
==                                   --------------------------------
==                                             | 100 / 100 |


『 for c = 1:10』を『 for c = 1:num_labels』に替えてようやく正解になりました。

やれやれ
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
<Pythonを使って機械学習>



nice!(1)  コメント(0) 
共通テーマ:日記・雑感

nice! 1

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。