• 机器学习中的目标函数、损失函数、代价函数


    结论:损失函数和代价函数是同一个东西,目标函数是一个与他们相关但更广的概念,对于目标函数来说在有约束条件下的最小化就是损失函数(loss function)。  

    Loss function 损失函数是定义在单个样本上,算的是一个样本的误差。

    Cost function 代价函数是定义在整个训练集上的,是所有样本误差的平均,也就是损失函数的平均。

    Object function 目标函数定义为:Cost function+正则化项


          for example

      上面三个图的函数分别为f1(x)  f2(x)  f3(x)。用这三个函数来分别拟合Price,Price的真实值记为Y。

         给定x,三个函数都会输出一个f(X),这个输出的f(X)与真实值Y可能是相同的,也可能是不同的,为了表示拟合的好坏,我们用一个函数来度量拟合的程度:损失函数。

              L(Y,f(X))=(Y-f(X))2,这个函数是损失函数(loss function),或者叫代价函数(cost function)。损失函数越小,拟合函数越好。

          那是不是目标函数需要让cost function越小越好呢?肯定不是

        加入一个新的概念:风险函数(risk function)。风险函数是损失函数的期望,因为我们输入输出的(X,Y)遵循一个联合分布,但是这个联合分布是未知的,所以无法计算。

        f(X)关于训练集的平均损失称为经验风险(empirical risk),即,所以我们的目标就是最小化,称为经验风险最小化。

             那么是最右面的f3(x)的经验风险函数最小了,因为它的拟合度是最高的,但是f3(x)的函数过于复杂化(过拟合)。我们不仅要让经验风险最小化,还要让结构风险最小化。定义一个

             函数J(f)结构风险,专门用来度量模型的复杂度,在机器学习中也叫正则化(regularization),常用的有L1,L2范数。

       所以我们最后优化的函数:即最优化经验风险和结构风险,这个函数为目标函数。

       结合上面的例子来说:f1(x)的结构风险最小(因为模型比较简单),但是经验风险太大;f3(x)的经验风险最小(对数据拟合效果好),但是结构风险太大;综合考虑f2(x)最适合用来

    预测未知数据集。

    在Ng的课程中,给出如下解释:

    The loss function computes the error for a single training example.

    The cost function is the average of the function of the entire training set.

           loss function 是单个样例的损失/误差;而cost function是对数据集整体的误差描述,是对数据的误差取平均得到的。

     

  • 相关阅读:
    【技术贴】每次打开excel表格都会弹出新excel。book1.xls解决方法
    【技术贴】鼠标右键盘符属性报错Volume filter WMI not found的解决办法
    解决QQ聊天QQ秀咒语为什么我不能施放咒语/看不到咒语效果?
    【java】servlet输出pdf文件到浏览器 教程
    C#抽象工厂模式的几种实现方法及比较(外摘)
    SQL 语句汇总With子句
    浅析.NET开发中代理模式的使用(外摘)
    使用设计模式构建通用数据库访问类(外摘)
    Cognos产品组件及各组件功能介绍
    游标Oracle游标汇总
  • 原文地址:https://www.cnblogs.com/renwjing/p/11688858.html
Copyright © 2020-2023  润新知