技术经验解读:【机器学习】代价函数(costfunction)

简介: 技术经验解读:【机器学习】代价函数(costfunction)

注:代价函数(有的地方也叫损失函数,Loss Function)在机器学习中的每一种算法中都很重要,因为训练模型的过程就是优化代价函数的过程,代价函数对每个参数的偏导数就是梯度下降中提到的梯度,防止过拟合时添加的正则化项也是加在代价函数后面的。在学习相关算法的过程中,对代价函数的理解也在不断的加深,在此做一个小结。


1. 什么是代价函数?


假设有训练样本(x, y),模型为h,参数为θ。h(θ) = θTx(θT表示θ的转置)。


(1)概况来讲,任何能够衡量模型预测出来的值h(θ)与真实值y之间的差异的函数都可以叫做代价函数C(θ),如果有多个样本,则可以将所有代价函数的取值求均值,记做J(θ)。因此很容易就可以得出以下关于代价函数的性质:


对于每种算法来说,代价函数不是唯一的;


代价函数是参数θ的函数;


总的代价函数J(θ)可以用来评价模型的好坏,代价函数越小说明模型和参数越符合训练样本(x, y);


J(θ)是一个标量;


(2)当我们确定了模型h,后面做的所有事情就是训练模型的参数θ。那么什么时候模型的训练才能结束呢?这时候也涉及到代价函数,由于代价函数是用来衡量模型好坏的,我们的目标当然是得到最好的模型(也就是最符合训练样本(x, y)的模型)。因此训练参数的过程就是不断改变θ,从而得到更小的J(θ)的过程。理想情况下,当我们取到代价函数J的最小值时,就得到了最优的参数θ,记为:


minθJ(θ)minθJ(θ)\displaystyle \min_{ \theta } J(\theta)


例如,J(θ) = 0,表示我们的模型完美的拟合了观察的数据,没有任何误差。


(3)在优化参数θ的过程中,最常用的方法是梯度下降,这里的梯度就是代价函数J(θ)对θ1, θ2, ..., θn的偏导数。由于需要求偏导,我们可以得到另一个关于代价函数的性质:


选择代价函数时,最好挑选对参数θ可微的函数(全微分存在,偏导数一定存在)


2. 代价函数的常见形式


经过上面的描述,一个好的代价函数需要满足两个最基本的要求:能够评//代码效果参考:http://www.lyjsj.net.cn/wz/art_22886.html

价模型的准确性,对参数θ可微。

2.1 均方误差


在线性回归中,最常用的是均方误差(Mean squared error),具体形式为:


J(θ0,θ1)=12mm∑i=1(?y(i)?y(i))2=12mm∑i=1(hθ(x(i))?y(i))2J(θ0,θ1)=12m∑i=1m(y^(i)?y(i))2=12m∑i=1m(hθ(x(i))?y(i))2J(\theta_0, \theta1) = \frac{ 1 }{ 2m } \displaystyle \sum{ i = 1 }^{ m } (\hat{ y }^{(i)} - y^{(i)})^2 = \frac{ 1 }{ 2m }?\displaystyle \sum{ i = 1 }^{ m } (h\theta(x^{(i)}) - y^{(i)})^2?


m:训练样本的个数;


hθ(x):用参数θ和x预测出来的y值;


y:原训练样本中的y值,也就是标准答案


上角标(i):第i个样本


2.2 交叉熵


在逻辑回归中,最常用的是代价函数是交叉熵(Cross Entropy),交叉熵是一个常见的代价函数,在神经网络中也会用到。下面是《神经网络与深度学习》一书对交叉熵的解释:


交叉熵是对「出乎意料」(译者注:原文使用suprise)的度量。神经元的目标是去计算函数y, 且y=y(x)。但是我们让它取而代之计算函数a, 且a=a(x)。假设我们把a当作y等于1的概率,1?a是y等于0的概率。那么,交叉熵衡量的是我们在知道y的真实值时的平均「出乎意料」程度。当输出是我们期望的值,我们的「出乎意料」程度比较低;当输出不是我们期望的,我们的「出乎意料」程度就比较高。


在1948年,克劳德·艾尔伍德·香农将热力学的熵,引入到信息论,因此它又被称为香农熵(Shannon Entropy),它是香农信息量(Shannon Information Content, SIC)的期望。香农信息量用来度量不确定性的大小:一个事件的香农信息量等于0,表示该事件的发生不会给我们提供任何新的信息,例如确定性的事件,发生的概率是1,发生了也不会引起任何惊讶;当不可能事件发生时,香农信息量为无穷大,这表示给我们提供了无穷多的新信息,并且使我们无限的惊讶。更多解释可以看这里。


J(θ)=?1m【m∑i=1(y(i)loghθ(x(i))+(1?y(i))log(1?hθ(x(<span class="MJXp-mi MJXp-it

相关文章
|
1天前
|
机器学习/深度学习 人工智能 搜索推荐
人工智能与机器学习的融合:未来技术发展的新趋势
随着科技的快速发展,人工智能(AI)和机器学习(ML)已成为当今最热门的话题。本文将探讨AI与ML的融合如何推动未来技术的发展,以及这种融合对各行业的影响。我们将通过分析最新的研究成果、统计数据和案例研究,深入探讨AI与ML的融合如何改变我们的生活和工作方式。
|
2天前
|
机器学习/深度学习 算法 数据可视化
技术心得记录:机器学习笔记之聚类算法层次聚类HierarchicalClustering
技术心得记录:机器学习笔记之聚类算法层次聚类HierarchicalClustering
|
2天前
|
机器学习/深度学习
技术心得:机器学习的数学基础
技术心得:机器学习的数学基础
|
2天前
|
机器学习/深度学习 分布式计算 API
技术好文:Spark机器学习笔记一
技术好文:Spark机器学习笔记一
|
3天前
|
机器学习/深度学习 数据采集 JavaScript
技术心得记录:机器学习——用逻辑回归及随机森林实现泰坦尼克号的生存预测
技术心得记录:机器学习——用逻辑回归及随机森林实现泰坦尼克号的生存预测
|
3天前
|
机器学习/深度学习 算法 数据挖掘
技术心得:机器学习入门篇——感知器
技术心得:机器学习入门篇——感知器
|
5天前
|
机器学习/深度学习 算法 安全
【机器学习与大模型】开源大模型和闭源大模型:技术发展与社会责任的平衡点
【机器学习与大模型】开源大模型和闭源大模型:技术发展与社会责任的平衡点
16 0
|
6天前
|
机器学习/深度学习 人工智能 自然语言处理
GPT-4中的机器学习技术
GPT-4中的机器学习技术
10 0
|
3天前
|
数据采集 机器学习/深度学习 算法
机器学习方法之决策树算法
决策树算法是一种常用的机器学习方法,可以应用于分类和回归任务。通过递归地将数据集划分为更小的子集,从而形成一棵树状的结构模型。每个内部节点代表一个特征的判断,每个分支代表这个特征的某个取值或范围,每个叶节点则表示预测结果。
13 1
|
7天前
|
机器学习/深度学习 人工智能 算法
【昆虫识别系统】图像识别Python+卷积神经网络算法+人工智能+深度学习+机器学习+TensorFlow+ResNet50
昆虫识别系统,使用Python作为主要开发语言。通过TensorFlow搭建ResNet50卷积神经网络算法(CNN)模型。通过对10种常见的昆虫图片数据集('蜜蜂', '甲虫', '蝴蝶', '蝉', '蜻蜓', '蚱蜢', '蛾', '蝎子', '蜗牛', '蜘蛛')进行训练,得到一个识别精度较高的H5格式模型文件,然后使用Django搭建Web网页端可视化操作界面,实现用户上传一张昆虫图片识别其名称。
130 7
【昆虫识别系统】图像识别Python+卷积神经网络算法+人工智能+深度学习+机器学习+TensorFlow+ResNet50