跳转至

吴恩达公开课-01

1. Introduction

1.1 Supervised Learning

一部分数据给出正确结果

预测结果类型

  1. Regression: 预测连续值
  2. Classfication: 预测离散值

1.2 Unsupervised Learning

不给出正确结果

1.2.1聚类算法 (Cluster Algorithm)

e.g.

  1. Google News, news with same topic are clustered together
  2. Astronomical data analysis 太空数据分析
  3. Cocktail Party Problem, 两个人同时说话,两个不同位置的麦克风记录两人的不同声音组合,分离两人的声音,算法用一行代码就可以实现

Octave

2. Model and Cost Function

2.1 Linear Regression

  • h: A function output from learning algorithm (hypothesis)

(Input) Training Set -> Learning Algorithm -> Hypothesis (Output)

  • h_\theta(x)=\theta_0+\theta_1x_1

2.2 Cost Funciton

如何选择h_\theta(x)中的\theta参数,让函数尽量好地和数据点拟合

最小化\frac{1}{2m}\sum_{i=1}^{m}(h_\theta(x^{(i)})-y^{(i)})^2

定义代价函数J(\theta_0, \theta_1)=\frac{1}{2m}\sum_{i=1}^{m}(h_\theta(x^{(i)})-y^{(i)})^2

Squared error function, 这里的½项是为了方便梯度计算

2.3 Cost Function Intuition I

将函数简化为h(x)=\theta_1x, 则问题变成了

\min \limits_{\theta_1}\frac{1}{2m}\sum_{i=1}^{m}(\theta_1x^{(i)}-y^{(i)})^2

根据h_\theta(x)可以画出J(\theta_1)函数的图像,是一个关于x=1对称的函数

2.4 Cost Function Intuition II

回到原来的J(\theta_0, \theta_1)函数

函数三维图像,也是一个弓形曲面

3. Parameter Learning

算法自动找到合适的参数\theta

3.1 Gradient Descent

用梯度下降最小化J

  1. 选择初始值
  2. 梯度下降直到最小值

for j=0 to j=1

  • \theta_j:=\theta_j-\alpha\frac{\partial}{\partial \theta_j}J(\theta_0, \theta_1, ..., \theta_n)

注意是同时更新,即上式右边的\theta都是旧的值,计算后对结果进行暂存,之后统一更新

3.2 Gradient Descent Intuition

即使\alpha不变,梯度下降的步长也会逐渐减小,因为每个\theta的偏导逐渐减小

3.3 Gradient Descnet For Linear Regression

J(\theta_0, \theta_1)=\frac{1}{2m}\sum_{i=1}^{m}(h_\theta(x_{(i)})-y_{(i)})^2中的\theta_0\theta_1分别求偏导,就是Linear Regression

Batch Gradient Descent: 每一步都使用所有的训练样例来完成梯度下降

线性回归的代价函数J是凸函数,没有局部最优解

Normal Equation方法不用多次迭代,可以直接进行最小化计算,不过梯度下降scale better to larger data sets than normal equation method