Browse Source

finish "2.2 损失函数(Cost Function)"

master
scruel 7 years ago
parent
commit
ad23cb0381
3 changed files with 48 additions and 5 deletions
  1. BIN
      notes/image/20180105_212048.png
  2. BIN
      notes/image/20180105_224648.png
  3. +48
    -5
      notes/week1.md

BIN
notes/image/20180105_212048.png View File

Before After
Width: 496  |  Height: 353  |  Size: 26 kB

BIN
notes/image/20180105_224648.png View File

Before After
Width: 960  |  Height: 540  |  Size: 56 kB

+ 48
- 5
notes/week1.md View File

@@ -85,7 +85,7 @@

## 1.4 无监督学习(Unsupervised Learning)

相对于监督学习,训练集不会有人为标注的结果(无反馈),而是由计算机自己来分析,计算机通过无监督学习算法,可能会把特定的数据集归为几个不同的簇,这个算法叫做聚类算法。
相对于监督学习,训练集不会有人为标注的结果(无反馈),而是由计算机通过无监督学习算法来自行分析计算机可能会把特定的数据集归为几个不同的簇,叫做聚类算法。

无监督学习一般由两种:
1. 聚类(Clustering)
@@ -109,14 +109,55 @@
神奇的代码:
`[W,s,v] = svd((repmat(sum(x.*x,1),size(x,1),1).*x)*x');`

提到了在机器学习刚开始时,**推荐使用 Matlab 类的工程编程语言**,因为在 C++ 或 Java 等编程语言中,编写对应的代码需要用到复杂的库以及大量的冗余代码,比较耗费时间,建议可以在学习过后再考虑使用其他语言来构建系统。
提到了在机器学习刚开始时,**推荐使用 Matlab 类的工程编程语言**,因为在 C++ 或 Java 等编程语言中,编写对应的代码需要用到复杂的库以及大量的冗余代码,比较耗费时间,建议可以在学习过后再考虑使用其他语言来构建系统。**(其实 tensorflow 的代码也非常简单,尚可一试。)**
另外,尤其是在做**原型搭建**的时候,也仍然使用 Octave,当其已经可以工作后,才将模型移植到其他的高级编程语言中。

# 2 Linear Regression with One Variable
# 2 单变量线性回归(Linear Regression with One Variable)

## 2.1 模型表示(Model Representation)

1. 房价预测训练集

| Size in $feet^2$ ($x$) | Price (\$) in 1000's($y$) |
| ---------------------- | ------------------------- |
| 2104 | 460 |
| 1416 | 232 |
| 1534 | 315 |
| 852 | 178 |
| ... | ... |


这个训练集中,既给出了输入 $x$ ,又给出了输出结果 $y$,即”正确结果“,预测的量是连续的,属于监督学习中的回归问题。

**下图解决了这个回归问题:**

:![](image/20180105_212048.png)

其中 $h$ 代表结果函数,也称为**假设(hypothesis)** 。这个结果函数根据输入(即房屋的面积大,给出预测结果输出(即房屋的价格)。

$h_\theta(x)=\theta_0+\theta_1x$,为其中一种可行的表达式。

上式中,$\theta$ 为参数,$\theta$ 的变化决定了输出结果,不同以往,这里的 $x$ 被我们**视作已知**(即不论是数据集还是预测前的输入),所以怎样解得 $\theta$ 以拟合数据,成了求解该问题的最终问题。

单变量即只有一个特征(房屋的面积)

## 2.2 损失函数(Cost Function)

为了求解上个视频中提到的 $\theta$,本视频引入了损失函数(Cost Function)这个概念,损失函数,用于度量预测结果于实际结果的**建模误差**。

目的在于求解预测结果 $h_\theta(x)$ 最接近于实际结果 $y$ 时 $\theta$ 的取值,则可以把问题转化为**求解 $\sum\limits_{i=0}^{n}(h_\theta(x^{(i)})-y^{(i)})$ 的最小值**。

![](image\20180105_224648.png)

上图中,为在 $\theta$ 取不同值时的拟合情况,蓝色虚线代表的即为误差,要最小化的就是每个预测点的误差值。

这里则要引入损失函数的概念,我们对求最小值的式子进行数学建模,让其变得易于求最小值,而其中一种办法就是建模为二次函数,即统计学上的平方损失函数(最小二乘法):

$$ J\left( \theta \right)=\frac{1}{2m}\sum\limits_{i=1}^{m}{{{\left( {{h}_{\theta }}\left( {{x}^{(i)}} \right)-{{y}^{(i)}} \right)}^{2}}} $$ ,其中 $m$ 为训练集中的样本数量。

对于之前的房价问题来说,我们的问题就转化成了**求解 $J\left( \theta_0, \theta_1 \right)$ 的最小值**。

## 2.1 Model Representation

## 2.2 Cost Function

## 2.3 Cost Function - Intuition I

@@ -124,6 +165,8 @@

## 2.5 Gradient Descent



## 2.6 Gradient Descent Intuition

## 2.7 Gradient Descent For Linear Regression


Loading…
Cancel
Save