ウシジの深層・強化学習の学習

深層学習、強化学習に関して、学んだことや論文、ニュース等を紹介していきます。よろしくお願いします。

Coursera Machine Learningまとめ

移転しました。

f:id:ushiji:20191121133558j:plain

 

深層学習、強化学習を学ぼうと1年以上前に決めたにも関わらず、なかなか自習が進まず。まずは、機械学習の基礎からちゃんと学ぼうと、有名なCourseraのAndrew Ng氏のMachine Learningを受講しました。受講したまま放っておくと内容をどんどん忘れそうなので、備忘のためにブログにまとめます。

 

 

Coursera Machine Learningコースがどのようなものか

www.coursera.org

機械学習の基礎をAndrew Ng氏がわかりやすく解説してくれます。動画での解説8割、演習での実際のプログラミング2割といった感じで、演習では、scikit-learn等の機械学習ライブラリを使うわけでは無く、基礎の数式から自分で機械学習のプログラミングを行います。利用する言語は、Octave/MATLAB

演習込みで行う場合は、コースを購入(8,000円くらい)する必要があるのですが、動画だけで学習するのであれば、YouTubeでも閲覧することができます。


Lecture 1.1 — Introduction What Is Machine Learning — [ Machine Learning | Andrew Ng ]

 

自分は、以前YouTubeで学習しようとしたのですが、特に期限もなくだらだらとやっていたので、結局途中でやめてしまいました。今回は、演習含めやりたかったので、コースを購入。値段以上の価値はあったかなと思います。

 

コース概要

コースの目次です。ブログにまとめたものについては、そのリンクも記載しています。

Week1(まとめ:本記事)

  • Introduction
  • Linear Regression with One Variable
  • Linear Algebra Review

Week2(まとめ記事

  • Linear Regression with Multiple Variables
  • Octave/Matlab Tutorial

Week3

Week4(まとめ記事

  • Neural Networks: Representation

Week5(まとめ記事

  • Neural Networks: Learning

Week6

Week7(まとめ記事

  • Support Vector Machines

Week8

Week9

Week10(まとめ記事

  • Large Scale Machine Learning

Week11(まとめ記事

  • Application Example: Photo OCR

 

Week1

Introduction

機械学習の概要紹介です。歴史や何に使われているか等を説明してくれます。

Linear Regression with One Variable

まずは、機械学習の基礎ということで、変数が1つの場合の線形回帰について学びます。お題は住宅価格の予測で、サイズを変数として価格を予測します。

f:id:ushiji:20191120154543j:plain

Housing Price Estimation

 

家のサイズを変数 x として、価格を予測するためのHypothesisを以下のように定義します。 

f:id:ushiji:20191120171427p:plain

Hypothesis

シータはパラメータです。

シータを求めるために、下記のコスト関数を最小化します。Hypothesisで予測した価格と実際のデータからの価格 y との差分の最小化です。

f:id:ushiji:20191120173852p:plain

Cost Function

コストを最小化するために、Gradient Descentを用います。コスト関数をシータで微分すれば、そのシータに関する傾きがわかるので、その値を用いて、シータを更新し続けます。(正の傾きであれば、シータを大きくすれば、コストが大きくなるので、シータを小さくする。負の傾きであればその逆) 

アルファは、Learning rateで、大きすぎると、コストが収束せずに発散する場合があります。

f:id:ushiji:20191121091100p:plain

Gradient descent algorithm

コストが最小になるまで、この計算を繰り返せば、適切なシータが得られ、Hypythesisで価格を予測できるようになります。(今回は、変数が1つで、そこまで精度の良いものではありませんが。。)

ちなみに、Gradient Descentの各ステップに全てのトレーニングデータを用いるものを、“Batch” Gradient Descent というらしいです。
 

Linear Algebra Review

線形代数の基礎を教えてくれます。行列計算等忘れてしまった場合は、再学習できます。

 

次回は、Week2 Linear Regressionについてまとめます。

ushiji.hatenablog.com