目标函数简介各种机器学习算法的目标
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
i 1
实际上是交叉熵的特殊情况
softmax回归 输出样本属于每一类的概率值,输出值是一个向量
采用交叉熵作为损失函数,这是logistic回归损失函数的推广
min L
l
i 1
k
j 1
1yi
j
log
exp
T j
x
i
k
exp tT xi
t 1
预测值与真实标签值相同时,损失函数为0;如果预测的该类值概率为0,则损失函数为无穷大
xi max
xj 0,
2 2
m
2
xi x j 2
yij 1 yij 1
最近几年的人脸识别算法,大多在构造新的损失函数 Center loss
距离度量学习 使得变换后每个样本的k个最近邻居都和它是同一个类,而不同类型的样本通过一个大的间隔被分开 整个损失函数由拉损失和推损失构成
L 1 pull L push L
y hx;
输入数据为样本的特征向量,输出数据为标签值
对于分类问题,标签值为整数 对于回归问题,标签值为实数
实际实现时,对于分类问题,机器学习算法一般不直接输出类别编号,而是输出类别编码向量
有监督学习算法要解决的核心问题是如何根据一组训练样本来确定模型的参数值 损失函数最小化 似然函数最大化
损失函数最小化
max 0,1 yiwTxi
SVM优化的目标为
minw
1 2
wTw
C
l i 1
max
0,1 yi wTxi
这和前面这种形式是等价的
logistic回归输出样本属于正样本的概率值 此时要确定概率函数的参数,使用最大似然估计
l
max L w
yi log h xi 1 yi log 1 h xi
交叉熵损失函数的一般形式
l
L yiT log yi i 1
反应了预测值与真实值的接近程度
AdaBoost算法采用了指数损失函数
L y, F x exp yF x
强分类器的输出值与真实标签值越接近,函数值越小,否则越大
深度学习中常用的损失函数
回归问题 一般使用欧氏距离损失函数
1 l
max L W tr WTSBW tr WTSW W
支持向量机 结构风险最小化,通过最大化分类间隔实现,目标函数由点到超平面的距离构造 对于线性不可分的问题,加上了松弛变量和惩罚因子
min
1 2
wTw
C
l i 1
i
yi (wTxi b) 1 i
i 0,i 1,...,l
可以用合页损失函数来解释SVM 合页损失函数定义为
目标函数简介 各种机器学习算法的目标 有监督学习的目标函数分类 分类问题的目标函数 回归问题的目标函数 多任务损失函数 数据生成模型的目标函数 聚类算法的目标函数 数据降维算法的目标函数 强化学习算法的目标函数
各种机器学习算法都是要达到我们想要的一些目标 这些目标可以抽象成一个目标函数,求函数的极大值或极小值 创造机器学习算法关键的一步是构造这个目标函数 一旦目标函数确定了,剩下的就是求解最优化问题
Faster R-CNN,YOLO,SSD沿用了此思路
人脸识别中也使用了多任务损失函数 典型的是DeepID2
L Ident Verif
由多分类算,人脸验证损失构成。人脸验证损失要使得同一个人的特征向量相似,不同人的差异很大
Verif
xi , x j , yij ,ve
1 2 1 2
min
L
1 l
l i 1
L xi,
yi;
似然函数最大化
l
max p xi; i 1
最大似然估计,求解对数似然函数的极值
l
max ln p xi; i 1
分类问题 感知器算法 神经网络 线性判别分析 支持向量机 logistic回归 softmax回归 AdaBoost算法
感知器算法 使用线性预测函数
minG max D V D, G x pdata x log D x z p zz log 1 D G z
聚类 聚类算法将一组样本划分成多个类,确保同一类中的样本差异尽可能小,而不同类的样本之间尽量不同
k
minS
x i 2
i1 xSi
其含义是每一类样本距离它的类中心要近,可以理解为这类似于每个类的方差。所有类的方差之和要尽可能 小
2l i1
h
xi
yi
2 2
多任务损失函数
对于某些实际问题,机器学习算法要同时完成多个目标,此时设计出了多任务损失函数 典型的是目标检测问题,既要解决目标分类问题,又要解决目标定位问题,后者是一个回归问题
Fast R-CNN的损失函数
L p,u, tu , v Lcls p,u u 1 Lloc tu , v
因此,可以说目标函数是机器学习建模思想的体现,是理解机器学习算法的灵魂
各种机器学习算法要达到的目标 有监督学习 分类问题 是什么 回归问题 是多少
无监督学习 聚类问题 降维问题
怎么分 怎么压
强化学习 怎么做
有监督学习 无论是分类问题,还是回归问题,最后都抽象为获得一个映射函数,将输入数据映射成我们想要的结果
sgn wTx b
损失函数
l
min yi wT xi b
i 1
欧氏距离损失
min 1 l
2l i1
Biblioteka Baidu
h
xi
yi
2 2
线性判别分析 有监督的数据降维算法,目标是最大化类间差异,最小化类内差异 数据经过投影之后,在低维空间里,同类样本聚集在一起,不同类的样本相距尽可能远 类内差异用每个类的方差来衡量,类间差异用各个类的类中心之间的距离来衡量,二者的比值为我们要优化 的目标
拉损失函数的作用是让和样本标签相同的样本尽可能与它接近
pull L
2
L xi x j
ji
推损失函数的作用是把不同类型的样本推开
push L i, ji l
1 yil 1 L xi x j
2
L xi xl
2
数据生成模型 生成对抗网络由一个生成模型与一个判别模型构成,前者先用样本进行学习,然后可以生成和真实样本服从 相同分布的样本数据。后者对生成模型生成的样本以及真实样本进行判定,确定一个样本是生成的,还是真 实的 训练的目标是,生成模型要尽可能的欺骗判别模型,即让判别模型把自己生成的样本判定为真实样本;判别 模型的目标是准确的区分出真实样本和生成的样本,尽可能的把生成模型产生的模型鉴别处理,即判定为假