linear regression 线性回归
Notation:
m = Number of training example
x's = “input”variable / featurees
y's = “output”variable / “target”variable
其中 θ 0 \theta_0 θ0和 θ 1 \theta_1 θ1称为模型参数,不同的模型参数会得到不同的假设函数h(x)
如何得到合适的theta值?
选择能使h(x),即输入x时我们预测的值最接近该样本对应的y值的参数。
在线性回归中,我们要解决最小化问题:
尽量减少假设的输出与真实房价之差的平方。即min{[h(x)-y]^2}。由于[x(i),y(i)]代表第i个样本,因此对所有训练样本进行一个求和,即
m
i
n
i
m
i
n
e
1
2
m
∑
i
=
1
m
(
h
θ
(
x
i
)
−
y
i
)
2
minimine{ \frac{1}{2m}\sum_{i=1}^{m}\left ( h_{\theta}\left ( x^{i} \right )-y^{i} \right )^2}
minimine2m1∑i=1m(hθ(xi)−yi)2
其中
1
2
m
\frac{1}{2m}
2m1是为了尽量减少平均误差。
该问题就变成了:找到训练集中预测值和真实值的差的平方和的
1
2
m
\frac{1}{2m}
2m1最小的
θ
0
\theta_0
θ0和
θ
1
\theta_1
θ1的值。
代价函数(cost function) 也被称为平方误差函数(squared error function),或者平方误差代价函数(square error cost function)。是解决回归问题最常用的手段。
(1)简化的代价函数:
即 θ 0 \theta_0 θ0的值为0,h(x)是经过(0,0)点的假设函数。
假设函数和代价函数
假设函数
h
θ
(
x
)
h_\theta(x)
hθ(x)对于给定的
θ
1
\theta_1
θ1是一个关于x的函数;代价函数
J
(
θ
1
)
J(\theta_1)
J(θ1)是关于
θ
1
\theta_1
θ1的函数,他控制着直线的斜率。
我们的优化目标就是要找到对应 J ( θ 1 ) J(\theta_1) J(θ1)最小的 θ 1 \theta_1 θ1的值,在图中可以看出,应该取 θ 1 = 1 \theta_1=1 θ1=1,此时假设函数 h θ ( x ) h_\theta(x) hθ(x)的曲线的拟合效果是最好的。
(2)未简化的代价函数
代价函数的形状:
其中,竖轴的高度,即曲面的高度表示代价函数
J
(
θ
0
,
θ
1
)
J(\theta_0,\theta_1)
J(θ0,θ1)的值
为便于理解,使用等高线图(contour plot)来展示代价函数
J
(
θ
0
,
θ
1
)
J(\theta_0,\theta_1)
J(θ0,θ1)
其中,轴为
θ
0
\theta_0
θ0和
θ
1
\theta_1
θ1。每个椭圆显示了一系列代价函数
J
(
θ
0
,
θ
1
)
J(\theta_0,\theta_1)
J(θ0,θ1)相等的点,代价函数的最小值在最中心的椭圆。
每个
(
θ
0
,
θ
1
)
(\theta_0,\theta_1)
(θ0,θ1)对应一个
h
θ
(
x
)
h_\theta(x)
hθ(x),当代价函数
J
(
θ
0
,
θ
1
)
J(\theta_0,\theta_1)
J(θ0,θ1)接近最小时,假设函数的拟合效果最好。训练样本与预测值之间距离的平方和是一个所有误差。