赞
踩
分类任务
例如,对于“一枚正反对称的硬币上抛十次”这种事件,我们可以问硬币落地时十次都是正面向上的“概率”是多少;而对于“一枚硬币上抛十次,落地都是正面向上”这种事件,我们则可以问,这枚硬币正反面对称的“似然”程度是多少。
在机器学习中,损失函数一般使用的是负对数似然,这里的对数似然指的是在已知输出Y的情况下,对Y的分布参数进行似然估计,估计的参数与输入X有关。–>
优点:在计算梯度的时候,差异越大,梯度越大,学习越快。
回归任务
分类任务的损失函数能不能用平方损失函数?当使用sigmoid作为激活函数的时候,一般用交叉熵损失函数而不用均方误差损失函数。
不能,当输出单元使用sigmoid函数的时候。平方损失函数对某一个样本点的参数的导数为,其中是sigmoid函数的导数,在达到饱和状态时,导数值会接近0,使得梯度下降很慢。而log损失函数对某一个样本点的参数的导数是,与sigmoid导数无关。
给定一个与参数有关的目标函数,求使得目标函数最小的参数。梯度下降通过不断往梯度的负方向移动参数来求解。
基于以上问题,提出的梯度下降优化算法:
固定学习率
一、分类问题的离线评估
精确率precision:分类正确的正样本个数占分类器判定为正样本的样本个数的比例
召回率recall:分类正确的正样本个数占真正的正样本个数的比例
F1指标: 精确率和召回率的调和平均值
P-R曲线:横轴为recall召回率,纵轴为precision精确率画图。此消彼长,负相关
ROC曲线:将所有样本按照预测为正例的概率排序,最有可能可能为正例的排在最前面,按照此顺序将样本作为正例进行预测,则每次都可以得到一个假正例率FPR和真正例率TPR,前者为横轴,后者为纵轴画图得到的就是ROC曲线。
二、排序问题
NDCG 通常用来衡量和评价搜索结果算法。
其中i表示排序位置,表示第i个位置上的相关度。因此rel_i越高得分越高,越高的rel_i对应越小的i得分越高。
1.负样本的选择
分类:简单样本:即模型非常容易做出正确的判断;困难样本:即模型难以做出正确的判断,训练时常会给模型带来较大损失。相对于简单样本,困难样本更有价值,它有助于模型快速学习到边界,也加快了模型的收敛。
基于统计度量的负样本选择方法,例如选择和目标样本集合相似度较高的样本作为负例。
基于模型的负样本选择方法,用训练好的模型预测所有的负样本,找出预测错的或者产生较大loss的样本作为优质负样本,然后再去训练模型,不断迭代优化模型。
2.为什么要做归一化
一个是为了加快模型训练的收敛速度,因为梯度的方向和等高线的切线是垂直的,圆形的等高线能够使梯度下降算法有最少的迭代步数到达函数最低点,而椭圆形的等高线收敛更慢;另一个原因是避免输出位于输出函数例如sigmoid的饱和区,做归一化能够更大程度避免这种情况。
为什么要做normalization?
在深度模型中,因为有多层隐藏层,每一层的参数更新都会导致上层的输入数据在输出时分布规律发生了变化,并且这个差异会随着网络深度增大而增大,这样会导致每个神经元的输入数据不再是独立同分布的了。那么:
1.激活函数
作用:增加网络的非线形表达能力。
激活单元又分为隐藏单元和输出单元,隐藏单元:tanh、relu;输出单元:sigmoid、softmax
2.dropout
在每一次迭代训练中随机的隐藏一定概率的隐藏单元,因此每一次迭代的模型都是不同的,每一个神经元都不能多度依赖于另一个神经元,因此增强了模型的鲁棒性。
在测试过程中,将dropout的参数p乘以输出。
3.模型参数可以初始化为同样的值吗?
不能。因为此时隐藏层中各单元呈对称性,在计算梯度下降时,各单元也呈对称性,那么多个隐藏单元在做相同的事情,多个隐藏单元没有意义。因此在初始化参数的时候,应该随机初始化为比较小的值。
batch size怎么定?
大的batch size能够减少训练时间,同时提高梯度计算的稳定性。
在同一批训练数据下,batch size增加N倍,学习率对应增加N倍,保证同样的样本更新后的权重相等。
防止过拟合
数据集:增加数据;数据增强,例如词典替换,反向翻译
模型:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。