- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
第
十个常用的损失函数解释以及Python代码实现
什么是损失函数?
损失函数是一种衡量模型与数据吻合程度的算法。损失函数测量实际测量值和预测值之间差距的一种方式。损失函数的值越高预测就越错误,损失函数值越低则预测越接近真实值。对每个单独的观测(数据点)计算损失函数。将所有损失函数(lossfunction)的值取平均值的函数称为代价函数(costfunction),更简单的理解就是损失函数是针对单个样本的,而代价函数是针对所有样本的。
损失函数与度量指标
一些损失函数也可以被用作评价指标。但是损失函数和度量指标(metrics)有不同的目的。虽然度量指标用于评估最终模型并比较不同模型的性能,但损失函数在模型构建阶段用作正在创建的模型的优化器。损失函数指导模型如何最小化误差。
也就是说损失函数是知道模型如何训练的,而度量指标是说明模型的表现的。
为什么要用损失函数
由于损失函数测量的是预测值和实际值之间的差距,因此在训练模型时可以使用它们来指导模型的改进(通常的梯度下降法)。在构建模型的过程中,如果特征的权重发生了变化得到了更好或更差的预测,就需要利用损失函数来判断模型中特征的权重是否需要改变,以及改变的方向。
我们可以在机器学习中使用各种各样的损失函数,这取决于我们试图解决的问题的类型、数据质量和分布以及我们使用的算法,下图为我们整理的10个常见的损失函数:
1、均方误差(MSE)
均方误差是指所有预测值和真实值之间的平方差,并将其平均值。常用于回归问题。
defMSE(y,y_predicted):sq_error=(y_predicted-y)**2sum_sq_error=np.sum(sq_error)mse=sum_sq_error/y.sizereturnmse
2、平均绝对误差(MAE)
作为预测值和真实值之间的绝对差的平均值来计算的。当数据有异常值时,这是比均方误差更好的测量方法。
defMAE(y,y_predicted):error=y_predicted-yabsolute_error=np.absolute(error)total_absolute_error=np.sum(absolute_error)mae=total_absolute_error/y.sizereturnmae
3、均方根误差(RMSE)
这个损失函数是均方误差的平方根。如果我们不想惩罚更大的错误,这是一个理想的方法。
defRMSE(y,y_predicted):sq_error=(y_predicted-y)**2total_sq_error=np.sum(sq_error)mse=total_sq_error/y.sizermse=math.sqrt(mse)returnrmse
4、平均偏差误差(MBE)
类似于平均绝对误差但不求绝对值。这个损失函数的缺点是负误差和正误差可以相互抵消,所以当研究人员知道误差只有一个方向时,应用它会更好。
defMBE(y,y_predicted):error=y_predicted-ytotal_error=np.sum(error)mbe=total_error/y.sizereturnmbe
5、Huber损失
Huber损失函数结合了平均绝对误差(MAE)和均方误差(MSE)的优点。这是因为Hubber损失是一个有两个分支的函数。一个分支应用于符合期望值的MAE,另一个分支应用于异常值。HubberLoss一般函数为:
这里的
defhubber_loss(y,y_predicted,delta)delta=1.35*MAEy_size=y.sizetotal_error=0foriinrange(y_size):erro=np.absolute(y_predicted[i]-y[i])iferrordelta:hubber_error=(error*error)/2else:hubber_error=(delta*error)/(0.5*(delta*delta))total_error+=hubber_errortotal_hubber_error=total_error/y.sizereturntotal_hubber_error
6、最大似然损失(LikelihoodLoss/LHL)
该损失函数主要用于二值分类问题。将每一个预测值
您可能关注的文档
最近下载
- 成人氧气吸入疗法护理-中华护理学会团体标准.pptx VIP
- 2025年1月浙江浙江省普通高校招生信息技术选考真题卷.doc VIP
- 网络与信息安全管理员职业技能竞赛理论考试题及答案 .pdf VIP
- 建筑工程图集 01K403、01(03)K403:风机盘管安装(含2003年局部修改版).pdf VIP
- 工学一体化课程《小型网络管理与维护》任务2单元7教学单元活动方案.docx VIP
- 工学一体化课程《小型网络管理与维护》任务2单元6教学单元活动方案.docx VIP
- 中医护理门诊工作制度、岗位职责、安全管理制度.docx VIP
- 各类工作票和操作票模板.pdf VIP
- 公卫执业医师《学校、儿童少年卫生学必看考点》考试题.doc VIP
- 人工智能时代高职综合英语课程思政的融合与创新.pdf VIP
文档评论(0)