- 🌸博主主页:@釉色清风
- 🌸文章专栏:机器学习
- 🌸今日语录:事情不做,越想越难;事情做了,越做越容易。
从线性回归模型看一个简单的成本函数
- 🌼引入:模型参数
- 🌼模型参数如何影响我们的模型
- 🌼评价拟合效果——成本函数(Cost function)
🌾🌾在上一篇文章中,我们用波特兰房屋面积大小与价格的关系,建立了线性回归模型。同时,在上篇文章中,我们基本了解到了机器学习中的专业名词以及符号表示。在这一次,同样又根据吴恩达老师的机器学习过程,总结成本函数(代价函数),这是很重要的,因为成本函数将告诉我们模型的运行情况,可以帮助我们尝试将模型做得更好。希望对大家有帮助。
🌼引入:模型参数
我们仍然以上一篇文章中的例子作为切入。
我们的训练集包含输入特征(input features)x和输出目标(output targets)y。
我们选定来拟合这个训练集的模型是线性函数。即:
M
o
d
e
l
:
f
w
,
b
(
x
)
=
w
x
+
b
Model:f_{w,b}(x)=wx+b
Model:fw,b(x)=wx+b
其中,参数
w
w
w和
b
b
b被称为模型参数。
以我们之前中学的知识,我们知道
w
w
w和
b
b
b是待定参数,即变量。同样,在机器学习中也是如此。
w
w
w 和
b
b
b作为模型的参数,是我们可以在训练期间可以改进模型的变量。
🌼模型参数如何影响我们的模型
作为参数
w
w
w和
b
b
b到底会怎样影响我们的模型呢?
下面,我们通过简单的几种特殊情况的很简单的例子来看一下:
即简单的说明,
w
w
w和
b
b
b的取值影响我们的"线",即影响我们的模型。
而对于我们的数据集,和我们定下的线性回归模型,我们需要选择
w
w
w和
b
b
b的值,以便我们的得到的函数f可以更好地拟合我们的数据。
(其中
y
^
\hat{y}
y^是模型的预测值。)
这条直线,在视觉上,我们看起来是相符的,但是这粗略的判断或者大概的估计,是不严谨的,我们并不能通过“视觉观察”来寻求 w w w和 b b b的最优值。
所以,我们现在的问题,产生了,如何找到 w w w和 b b b的值,使得尽可能多的训练示例 x i x_i xi、 y i y_i yi的预测值 y ^ i \hat y_i y^i接近真实目标 y i y_i yi,使得拟合效果尽可能地好。
🌼评价拟合效果——成本函数(Cost function)
那么现在怎么评价拟合效果尽可能地好呢?如何衡量拟合的结果呢?
为此,我们将构建一个成本函数(Cost function)。
成本函数其实就是,采用预测的
y
^
i
\hat y_i
y^i减去目标值
y
y
y,这样进行预测值和原真值的一个比较,即就是计算误差,测量预测与目标的距离。
但是如上,这样的误差可能是正、也可能是负,在数学中,衡量整体而非单个的误差,我们都要计算误差的绝对值或者平方(一般都是平方)。
通写如此。我们要为训练集中的不同训练示例i计算此项,即:
为了构建一个不会随着训练集大小而自动变大的成本函数,我们将计算平均平方误差而不是总平均误差,我们采用对每一个训练示例的误差求和再平均。
即:
按照惯例,机器学习使用的成本函数实际上时在上面此基础上再除以2,额外除以2只是为了让我们后面的一些计算看起来更加整洁。
成本函数,我们一般用J来代表成本函数,即:
J
(
w
,
b
)
J(w,b)
J(w,b)这也称为平均误差成本函数。
在上述式子中,
y
^
(
i
)
\hat y^{(i)}
y^(i)是预测值,可以写作为
f
w
,
b
(
x
(
i
)
)
f_{w,b}(x^{(i)})
fw,b(x(i))。故成本函数
J
J
J就可以写成了:
在机器学习中,不同的人会针对不同的应用程序使用不同的成本函数,但平方误差成本函数 J ( w , b ) J(w,b) J(w,b)是迄今为止线性回归最常用的函数。就此而言,对于所有的回归问题,它似乎为许多应用程序提供了良好的结果。