写在前面
《机器学习中的数学》系列主要列举了在机器学习中用到的较多的数学知识,包括微积分,线性代数,概率统计,信息论以及凸优化等等。本系列重在描述基本概念,并不在应用的方面的做深入的探讨,如果想更深的了解某一方面的知识,请自行查找研究。
1. 信息论
1.1 信息熵
定义:用来衡量信息量的大小,信息的不确定性越大,信息熵就越大,信息的不确定性越小,信息熵就越小
表达式:
举例:
1.2 交叉熵
定义:
在信息论中,交叉熵是表示两个概率分布p,q,其中p表示真实分布,q表示非真实分布,在相同的一组事件中,其中,用非真实分布q来表示某个事件发生所需要的平均比特数。其是用来衡量在给定的真实分布下,使用非真实分布所指定的策略先出系统的不确定性所需要付出努力的大小。
表达式:
举例:
假设现在有一个样本集中两个概率分布p,q,其中p为真实分布,q为非真实分布。假如,按照真实分布p来衡量识别一个样本所需要的编码长度的期望为:
如果采用错误的分布q来表示来自真实分布p的平均编码长度,则应该是:
应用:交叉熵可在神经网络(机器学习)中作为损失函数,p表示真实标记的分布,q则为训练后的模型的预测标记分布,交叉熵损失函数可以衡量p与q的相似性
注意:
交叉熵最小只能等于信息熵,不会小于信息熵
1.3 相对熵
定义:
相对熵是交叉熵与信息熵之间的差。假设我们想知道某个策略和最优策略之间的差异,我们就可以用相对熵来衡量着两者之间的差异。
表达式:
2. 激活函数
2.1 激活函数的意义
如果不用激励函数,每一层输出都是上层输出的线性函数,无论神经网络有多少层,输出都是输入的线性组合。如果使用的话,激活函数给神经元引入了非线性因素,使得神经网络可以任意逼近任何非线性函数,这样神经网络就可以应用在众多的非线性模型中。
2.2 sigmoid激活函数
表达式:
函数图像:
特征:
取值范围为(0,1)有界,它可以将一个实数映射到(0,1)的区间,可以用来做二分类。
优缺点:
在特征相差比较复杂或是相差不是特别大时效果比较好,缺点是容易出现梯度消失。
sigmoid函数的导数:
2.3 Tanh激活函数
表达式:
图像:
与sigmoid函数的关系:
特点:
实际上,这是一个经过拉升的sigmoid函数,tanh在特征相差明显时的效果会很好,在循环过程中会不断扩大特征效果。
2.4 ReLU函数
表达式:
图像:
特点:
当x是正值时,它输出x,否则输出0
优缺点:
优点:迭代比较快,其导数为{0,1},可以避免梯度消失问题;缺点:当激活位于ReLU的水平区域时,梯度会是0,导致权重无法随着梯度而调整,这意味着,陷入此状态的神经元将停止对误差/输入做出反应
2.5 Softmax激活函数
表达式:
特点:
softmax用于分类过程中,它将多个神经元的输出,映射到(0,1)区间内,可以看成概率来理解,从而来进行多分类
举例:
3. 损失函数
3.1 平方损失函数
表达式:
Y-f(x)表示残差,整个式子表示的是残差平方和,我们的目标就是最小化这个目标函数值,即最小化残差的平方和,实际中我们一般使用均方差。
3.2 log损失函数
表达式:
特点:
损失函数(等式左边)表达的是样本X在分类Y的情况下,使概率P(Y|X)达到最大值。因为log函数是单调递增的,所以logP(Y|X)也会达到最大值,因此在前面加上负号之后,最大化P(Y|X)就等于最小化L了。
3.3 softmax损失函数
表达式:
3.4 Hinge损失函数
4. 过拟合与正则化
4.1 过拟合
定义:
过拟合就是训练模型的过程中,模型过渡拟合训练数据,而不能很好的繁华到测试数据集上
原因:1. 训练数据过少,数据量与数据噪声是成反比的,少量数据导致噪声很大;2. 特征数目过多导致模型过于复杂。
4.2 正则化
L1正则化:
L1会趋向于产生少量的特征,而其他的特征都是0(一些不很相关的特征)。在所有特征中只有少数特征起重要作用的情况下,选择L1比较合适,因为它能自动选择特征。
L2正则化:
L2会选择更多的特征,这些特征都会接近于0.如果所有特征中,大部分特征都能起作用,而且起的作用很平均,那么使用L2也许更合适。