机器学习课程笔记(一)导论

    科技2022-07-10  203

    符号与名词定义

    有监督学习的输入被称作input variables, features, attributes,有监督学习的输出被称作output, variables,targets,输入+输出被称作training example,instance。所有的输入输出对的集合被称作training data set。我们用代表输入,代表输出。有监督学习的过程为了找到一个函数。在这里是的一个good predicator。h被称为hypothesis。有监督学习问题是按照输出进行分类的 输出是实数空间,则是回归问题(regression)。输出是离散空间,则是分类问题(classification)。输出更为复杂,则是structured prediction。

    机器学习的分类

    有监督学习(supervised learning) 本质上就是从带有标签的数据集中,学习一个函数,将输入变量映射到输出空间。依赖于人工标注的有限数据。目标:在训练过程中最小化损失函数(loss function)。强化学习(reinforment learning) 通过与环境的交互,获得奖励信号,进行训练。目标:分析和最大化一个长期的奖励。无监督学习(unsupervised learning) 通过无标签的数据进行训练。可以做聚类或者降维

    解决有监督学习问题的一般方法

    确定输入输出确定如何编码输入输出选择假设类型确定损失函数选择一个高效的算法对解空间进行搜索

    线性假设

    在线性假设中,我们认为输入输出的关系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

     

    Logistic regression

    下面我们来看线性分类怎么做。

    sigmoid neuron:

    交叉熵损失函数为

     

    Processed: 0.017, SQL: 8