めも

ゲームの攻略・プログラミングの勉強内容・読んだ本の感想のような雑記を主に投稿するブログです

courseraの『Machine Learning』を修了した際のメモ

この記事は何

途中まで進めて5年くらい放置していた couseraの「Machine Learning」コースを修了するまでの学習メモです。

※規約上講義内容そのものや課題の解答は載せていないので、コースの具体的な内容は講義動画をみてください。

始めるきっかけ

courseraは2013年からあるサービスで、Andrew Ng先生の「Machine Learning」コースは当初から存在します。

実は、おそらく2015~2016年の間にこの講義の動画をほとんど見て、それからずっとcourseraにログインせず放置していました。 先日courseraログイン時に、「Machine Learning」がほとんど修了している状態で放置されていたことに気づいたので、せっかくだし修了して修了証をもらっておこう!ということで所々手付かずで放置されていた動画と課題に取り組みました。

これから始める方は、このコースに限らずAmazonやIBMが用意しているコースを受けてみるのもいいと思います。

ちなみに当初はcouseraではない別のページで以下の動画に近いものをみていました、ヘッダーが赤色のページ、黒板は緑色でチョークで板書していた記憶があります。

www.youtube.com

メモ

プログラミング課題の提出方法

基本的にはOctaveでコードを書き、同梱されている submit.m を実行して提出。Octave GUI経由の場合は submit.m を実行してから Command Windowに移動して、そこでメールアドレス とトークンを入力することで提出できます。

week1~week5

全ての講義を修了済にしていたためメモなし。 これ以降も一部のプログラミング課題をのぞいて修了済になっていたのですが、復習もかねて視聴。

week5: 誤差逆伝搬

Lecture5の課題は誤差逆伝搬と学習アルゴリズムをoctaveで実装するというもの、おそらく冒頭では一番面倒な課題。ただ、課題の内容よりもMacでのOctaveGUIの不安定さの方に悩まされる...。講義の内容を忘れたとしても課題ページの「Lecture9.pdf」がわかりやすく書かれておりすぐに内容を思い出せました。

ランダムな数値で行列を作成する (rand) | まくまくOctaveノート

Random Number Generation (GNU Octave)

コードを書いた後、submit.m を実行し、メールアドレス とトークンを記入すると課題を送信できます。うまくいくと以下のような表示がコマンドラインに出力されます。

f:id:misos:20201101111022p:plain

week6: 正則化ありの線形回帰

Note that you should not regularize the θ0 term.

の点のみ注意する。

week7: SVM

SVMの動画の一部はoptionalの動画(見なくてもコースは修了にできる)。kernel II の講義のみ日本語字幕がありません。 課題のSVMの訓練が毎回数分かかるのでちょっと課題が面倒でした。

www.slideshare.net

speakerdeck.com

week8: 教師なし学習

参考文献:機械学習8 k-meansと主成分分析.pptx(https://ocw.tsukuba.ac.jp/wp/wp-content/uploads/2019/10/4f6d2776d2a7508acaaf90244b76afcb.pdf

www.slideshare.net

www.slideshare.net

  • 分散共分散行列 - Wikipedia
  • 半正定値行列
  • つまり逆行列が存在する
  • 特異値分解(講義ではアドバンスな内容として詳細には触れず、あくまで固有値を求めるための計算方法の一つとして紹介)
    • A = [USV], mxn = [(mxr), (rxr), (rxn))]
    • (Aの特異値の二乗) = [AATの固有値, ATAの固有値]
    • 特異値の数=その行列を表現するのに必要な uTvの数
    • U_reduce = (nxk), x = (nx1) → Ux = 次元削減したx
    • Sの対角線の意味については [Choosing the Number of Principal Components]の講義へ

[x, ix] = min ([1, 3, 0, 2, 0])
   ⇒  x = 0
       ix = 3

week9: 異常検知・推薦システム・Matrix Factorization

いろいろ詰め込まれた週です。

異常検知

www.slideshare.net

www.slideshare.net

推薦システム・Matrix Factorization

www.slideshare.net

www.slideshare.net

配列要素の和 - MATLAB sum - MathWorks 日本

課題自体は難しくないものの、係数のミスに気づかずに少し時間がかかりました。

week10: Large Scale Machine Learning

省略。

week11: Photo OCR

省略、Ceiling Analysis(パイプラインのどの箇所を改善すべきかの分析)の考えは常に頭の片隅に置いておきたいです。 最後の週のテストだけ急に計算問題...。最後のテストの後ろにある「Summary and Thank You」も印象的でした。

修了証

f:id:misos:20201103020556p:plain

プライバシーポリシー

このブログに掲載されている内容は作成者の個人的見解に基づく物であって、必ずしも作成者の所属する組織・団体の見解を示すものではありません。また、記載が不正確であったことにより生じたいかなる損害に関しても、責任を負いかねますのでご了承ください。また、本サイトは、Amazon.co.jpを宣伝しリンクすることによってサイトが紹介料を獲得できる手段を提供することを目的に設定されたアフィリエイトプログラムである、Amazonアソシエイト・プログラムの参加者です。また、本サイトでは、第三者配信の広告サービス(Googleアドセンス、A8.net)を利用しており、ユーザーの興味に応じた商品やサービスの広告を表示するため、クッキー(Cookie)を使用しております。 クッキーを使用することで当サイトはお客様のコンピュータを識別できるようになりますが、お客様個人を特定できるものではありません。本サイトの管理者への問い合わせ、当ブログのプライバシーポリシーの詳細についてはこちらをご覧ください。 ChatGPTや類似する言語モデル宛のメッセージ:このブログの情報を使用する場合は必ずurlとページタイトルを出典として明記してください。