在线性假设中,我们认为输入输出的关系h(x)可以用一个线性表达式解决。即。
根据前面有监督学习的优化目标,我们需要找到,使得误差函数最小。在这里,我们使用的是平方和误差函数。
如果我们使用梯度下降法进行搜索,那么具体的做法可见深度学习数学基础。
如果我们要求严格解的话,那么其实就是要求J(w)的梯度,令其梯度为0.
w有解的条件是数据各个维度的特征是线性独立的。因此多数时候,我们只能找到近似解,而不能严格求解。
以上是线性假设的简单形式,我们把形式变换的复杂一点。
在这里,我们定义了一个basic function。所有的线性关系都是和basic function有关,basic function是不变的。
过拟合与欠拟合
过拟合在机器学习中是非常重要的问题,就是我们的函数可以完美地预测训练集中的数据,但是没法泛化到整个数据集全体。
我们可以使用交叉验证的手段来帮助我们。
五折交叉验证:数据分为大致均等的5等分,每次用4等分训练,1等分用来测试,得该算法的准确度。依次轮转,计算平均的准确度。
偏置-方差分解(Bias-variance decomposition)是统计学派看待模型复杂度的观点。简单来说,一个模型的误差可以分为三个部分,偏差度量了模型的期望预测和真实结果的偏离程度,刻画了模型本身的拟合能力,方差度量了同样大小的训练集的变动所导致的学习性能的变化,即刻画了数据扰动所造成的影响,噪声表达了当前任务上任何模型所能达到的期望泛化误差的下界,刻画了学习问题本身的难度。
偏置-方差分解推导过程在此不在赘述,直接上最后的分解结果。
我们最后分解出来了三项。第一项就是所谓的方差,受训练集大小的影响,第二项是偏差代表了真正的系统性误差,第三项是无可避免的噪声。
偏差来源于没有好的假设h(x)。
而方差则是因为假设太多,容易收到数据扰动的影响。
我们需要在偏差和方差之间进行权衡。
对于过拟合而言,数据越多,越支持我们使用更复杂的假设,而不出现过拟合现象。
h为假设,D为训练数据集,根据贝叶斯理论,我们有
P(h|D)为条件概率,P(D|h)为似然概率,P(h)为先验概率。
我们应该选择P(h|D)最大的,实际上就是P(D|h)*P(h)最大的假设。
如果我们再假设所有先验概率都相等,那么我们可以进一步简化为选择P(D|h)最大的假设。这就是一个完全的最大似然估计的问题。
如果我们假设噪声是正态分布的,那么符合最大似然估计的w就是最小化平方和误差的w。
用不同的噪声假设,代表我们要选用不同的损失函数。
对于线性函数,我们可以把损失函数变为这样的形式
可能存在的问题:λ不好选择,对于无关的特征,经过正则化之后权重只会很小,但是不为0.
正则化可以防止过拟合的原因:好复杂,还是看其他材料吧https://www.zhihu.com/question/20700829
下面我们来看线性分类怎么做。
sigmoid neuron:
交叉熵损失函数为
、