人工智能常用损失函数和优化算法

前言

在前面的文章中,我们了解到模型假设、评价函数(损失函数)和优化算法是构成模型的三个关键要素。刚学习人工智能的朋友肯定会有这样的疑问,是不是这三个关键要素都需要我们在日常工作中进行设计呢?其实啊,并不是这样,很多的框架都已经给我们提供了可供选择的损失函数和优化算法,只需要我们根据自己的业务场景来选择最适合的哪一个即可,是不是很easy?

一、损失函数

1、什么是损失函数?

        衡量模型预测值和真实值差距的评价函数被称为损失函数,说的再通俗一些,就是我们需要设计一个函数来评估预测值与真实值的差距范围,差距大说明模型还需要进一步优化。最简单的损失函数就是拿预测值减去真实值,然后求绝对值,如果预测的完全正确,那么绝对值的结果就是0。实际业务中我们不会选择这个函数,因为太简单了。

2、常用的损失函数

  • MSE[均方误差Mean Square Error,二次损失Quadratic Loss,L2损失L2 Loss]
  • MAE[平均绝对误差Mean Absolute Error,L1损失L1 Loss]
  • Huber Loss[平滑的平均绝对误差]
  • Log-Cosh Loss[预测误差的双曲余弦的对数]
  • Quantile Loss[分位数损失]
  • Cross Entropy Loss(CE)[Log Loss、交叉熵损失]
  • Focal Loss
  • Relative Entropy [相对熵、KL散度(Kullback-Leibler divergence)]
  • Exponential Loss [指数损失] 
  • Hinge Loss [铰链损失、合页损失]

二、优化函数

1、什么是优化函数?

        前面我们说到了当计算出来预测值之后,通过损失函数就能计算出其与真实值之间的差距。算法训练的目标就是通过找到对应的模型参数,实现预测值与真实值的误差最小化。这个寻找最优模型参数的方法即为优化算法。

2、常用的优化算法:

  • 梯度下降法
  • 随机梯度下降算法(Stochastic gradient descent SGD)
  • 动量法
  • AdaGrad
  • RMSProp
  • Adam

三、扩展知识:

1、学习率:

        每次参数值沿着梯度反方向变动的大小,即每次移动的步长

2、mini-batch:

        每次迭代时抽取出来的一批数据被称为一个mini-batch。


3、batch_size:

        一个mini-batch所包含的样本数目称为batch_size。


4、epoch:

        当算法训练的时候,按mini-batch逐渐抽取出样本,当把整个数据集都遍历到了的时候,则完成了一轮训练,也叫一个epoch

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值