美文网首页
机器学习——代价函数

机器学习——代价函数

作者: BioLearner | 来源:发表于2020-02-29 21:44 被阅读0次

    一、假设函数

    h表示学习算法的解决方案,也就是根据数据集训练拟合得到的一个函数,也称为假设函数(hypothesis)。h代表hypothesis(假设),h表示一个函数,输入是房屋尺寸大小,就像你朋友想出售的房屋,因此 h根据输入的x值来得出y值, y值对应房子的价格。因此,h是一个从x到y的函数映射。对于我们的房价预测问题,我们该如何表达h?

    一种可能的表达方式为:

    因为只含有一个特征/输入变量,因此这样的问题叫作单变量线性回归问题。

    二、代价函数 ( Cost Function )

    在线性回归中我们有一个像这样的训练集,m代表了训练样本的数量,比如m=47。而我们的假设函数,也就是用来进行预测的函数,是这样的线性函数形式:

    我们现在要做的便是为我们的模型选择合适的参数(parameters)θo和θ1,在房价问题这个例子中便是直线的斜率和在y轴上的截距。

    我们选择的参数决定了我们得到的直线相对于我们的训练集的准确程度,模型所预测的值与训练集中实际值之间的差距(下图中蓝线所指)就是建模误差(modeling error)。

    我们的目标便是选择出可以使得建模误差的平方和能够最小的模型参数。即使得代价函数最小,代价函数为:

    我们绘制一个等高线图,三个坐标分别为θo和θ1和J(θo,θ1):

    则可以看出在三维空间中存在一个使得J(θo,θ1)最小的点。

    上述的代价函数也被称作平方误差函数,有时也被称为平方误差代价函数。我们之所以要求出误差的平方和,是因为误差平方代价函数,对于大多数问题,特别是回归问题,都是一个合理的选择。还有其他的代价函数也能很好地发挥作用,但是平方误差代价函数可能是解决回归问题最常用的手段了。三、代价函数的直观理解****Ⅰ

    当θo为0时,则变成了右边的,只需要确定θ1使得J(θ1)值最小

    因此对于不同的取值的θ1,可以画出不同的h函数,如左图。且可以计算不同取值的θ1得到的h假设函数的代价函数J,因此对于J和不同的取值的θ1的关系如右图,从而得到一个θ1,使得J(θ1)值最小。

    学习算法的优化目标就是通过选择θ1的值,来获得最小的J(θ1),这就是线性回归的目标函数。

    四、代价函数的直观理解Ⅱ


    此部分不再假设θo为0

    image

    代价函数的样子,等高线图,则可以看出在三维空间中存在一个使得J(θo,θ1)最小的点。

    image

    总的来说,最终的目的是要找到假设函数h(x)的参数最佳的值,使得代价函数J的值最小,代价函数的值越大表示模型的误差越大。

    当然,我们真正需要的是一种有效的算法,能够自动地找出这些使代价函数J取最小值的参数θo和θ1来。

    我们也不希望编个程序把这些点画出来,然后人工的方法来读出这些点的数值,这很明显不是一个好办法。我们会遇到更复杂、更高维度、更多参数的情况,而这些情况是很难画出图的,因此更无法将其可视化,因此我们真正需要的是编写程序来找出这些最小化代价函数的θo和θ1值(实际情况参数可能不止这两个)。

    微信公众号:BioLearner

    相关文章

      网友评论

          本文标题:机器学习——代价函数

          本文链接:https://www.haomeiwen.com/subject/ucwbhhtx.html