以回归方程为例,最后的回归方程不管是直线仍是曲线,方程除了应有的自变量外,还存在各类常量参数,这些参数的不一样,直接影响着最终方程。函数
仍是以回归问题为例。blog
假设咱们要将数据线性回归到某条直线上(逻辑回归等其余回归同理)。变量
那么咱们首先能设这个回归方程为:y(x) = θ1x+θ2方法
其中x和y在某种程度上都是已知的,由于咱们确定有不少样本数据,这些样本数据就是具体的x、y坐标。im
很明显,咱们若是能知道θ一、θ2,这个回归方程也就出来了。数据
代价函数的目的就是找到这些θ。img
让咱们用白话来描述一下求出θ的思路:co
假设咱们有好多个样本点,如(1,2)、(3,4)、(5,6)等ps
咱们这条拟合直线确定越靠近这些点越好。参数
怎么个靠近法呢?把这些点的x坐标代入方程,其计算后得出的y值“离该点真实的y值距离越小越好”。
回到咱们以前“假设”的回归方程y(x) = θ1x+θ2上。
当咱们把这些真实的样本点的x值代入y(x)函数中,获得的就是拟合直线上的y值,若是这个y值的距离离真实y值很小,就表示该拟合方程很好。
以点(3,4)为例,拟合方程计算获得的y值与实际y值之差表示为:距离 = (θ1*3+θ2)-(4)
即:距离 = θ1*x1+θ2 - y1
但咱们确定不止(x1,y1)这一个样本点,当还有(x2,y2)等多个样本点后,就须要计算拟合方程距离各个样本点的距离,即:
距离1 = θ1*x1+θ2 - y1
距离2 = θ1*x2+θ2 - y2
距离3 = θ1*x3+θ2 - y3
······
这么多距离,咱们最好求一个这些距离的平均值来表达一个平均距离,比较合适的方法如:
计算全部距离的平方差后再除以1/2获得
其中h(x)函数就是θ1x+θ2,x(i),y(i)是具体样本点的x,y坐标。
(求平均值的方法有不少,并不必定非要用这种)
这个方程就是代价方程。
经过上面一系列的推导,咱们很容易看出全部的x(i),y(i)都是已知的样本点,即全是已知常数,反而未知数变成了θ。
因此咱们能够将上面的代价函数设为J(θ)。
经过以前的推导咱们知道这个方程最终的结果是“拟合y值到真实y值的距离差”,天然是越小越好。
因此咱们要求的就是J(θ)函数的最小值。
(这里提一下,以上的θ全都是向量,即不必定只有一个θ。
这也很好理解,当咱们在多维空间,如三维坐标系中进行拟合时,这时候直线的通常方程就变成了:
θ1X+θ2Y+θ3Z = 0,θ随着拟合空间维数的增长而增长,因此为了方便起见就用向量θ = [θ1,θ2,θ3]来表示。
相应的,θ用向量表示了,整个拟合方程也会转化成向量的格式,即θ^T*W = 0 (θ^T表示θ的转置,W也是向量,表示[X,Y,Z]))
其实推到这代价函数基本上解释清楚了,后面的问题就是如何求解J(θ)函数最小值的问题了,在只有一个θ参数时J(θ)函数图像仍是在二维平面上的凹函数,存在最小值。
当θ变为2个时,J(θ)的图像就变成了三维空间上了,咱们要找的是整个模型的最小点。
至于如何找到这些最小值,方法就不少了,经常使用的如梯度降低法等。