3.监督学习之回归及归纳偏好

starrow starrow     2022-12-03     493

关键词:

1.1.2 回归

同样,用一个简单的例子来说明回归。这次我变成一个天气爱好者,想知道每天不同时间的气温。预测函数的输入是时间,输出是该时间的气温。回归也需要训练数据,这里的数据是我记录的一天当中若干时刻的气温。如图1.6所示,横轴代表一天的时间,不妨设原点左边为白天,右边为晚上;纵轴代表气温。横轴上标出的几个点代表记录气温的时间,其上方的点表示所记录的气温值。

 图1.6 一天当中几个时刻记录的气温

原始的方法是将所有训练数据的点连起来,两点之间可以用直线,也可以用曲线,如图1.7所示。然而正如卖车的例子,这样一条复杂的曲线很可能不是我们想要的函数,因为根据常识判断,位于夜晚部分的那个气温突起不太正常,该数据实例很可能是噪声。

图1.7 用一条复杂的曲线拟合的气温数据

回到问题的原点,我们希望画出气温随时间变化的曲线,它不必在每个记录的时刻与实际气温相等,但必须使误差尽可能小。那么应该如何度量误差呢?最简单的想法是直接计算误差之和,但这样会导致正负误差相互抵消。便于计算的解决方法是先对误差求平方后再加和。此外,回归曲线自然是越简单越好。于是,我们的目标是在各个记录时刻预测气温的误差平方之和最小的直线,如图1.8所示。这即是著名的采用最小二乘法的线性回归。

图1.8 气温对时间进行线性回归得出的直线

除了预测,回归还可以用于数据压缩、趋势分析和因子分析等许多场景:遇到大量数据难以存储和传输时,可以通过回归将数据约简为一个函数,不仅实现了数据量的高度压缩,还相当于分析出了其中的变化趋势,回归函数中各输入变量的系数则体现了输入变量对输出值的贡献。分类也能藉回归进行。比如,在卖汽车的例子中分别用数字+1和–1来代表是否买车的类别,则可以让其对年龄和收入回归。进行预测时,若回归函数值为正数,则将顾客分入+1的类别;若函数值为负数,则将顾客分入–1的类别。

1.1.3 归纳偏好

聪明的读者或许有疑问,上述分析只是找到某个尽可能符合训练数据的函数,凭什么确定可以用它进行预测?换言之,对于训练数据以外的实例,怎么知道其输入值和输出值符合训练数据所符合的函数关系?理论上,可以定义无数个函数,契合训练数据而在其他输入值处具有任意输出值。因此,如果对一般输入和输出所符合函数的性质、类型或形式不做任何假定,是不可能进行预测的。而对预测函数的这些假定就称为归纳偏好(Inductive bias)或学习偏好(Learning bias)。

给数字序列找规律的智力题能够形象地说明归纳偏好。例如,写出此序列的下一个数字:2、5、10、17。大家很快就会想出答案26,原因为每个数字都是其序号的平方加1。但实际上,设该序列为某个函数的自变量分别为1、2、3和4时的函数值,可以列出无数满足条件的函数。而且,无论将下一个数字写为多少,都能找到它与前4个数字共同符合的函数或规律。比如,取下一个数字为0,用拉格朗日插值法可以得出符合该序列的一个多项式函数为 。我们之所以更认可答案26,是因为它对应的函数n^2 + 1更简单。

 从上述例子可以引出哲学上著名的奥卡姆剃刀(Occam's razor)原则,用归纳偏好的语言来说,就是预测函数在符合训练数据的前提下越简单越好。比如,在1.1.1节中,用于划分类别的曲线越简单越好。在1.1.2节中,预测函数采用最简单的线性函数。在后面的章节中,我们会看到各式各样的归纳偏好。3.2节介绍的变量选择和3.3节介绍的正则化,共同之处是减少预测函数的输入变量。7.1.3节的最小描述长度认为描述一个学习模型的代码越短,该模型就越好。这些归纳偏好都体现了奥卡姆剃刀的原则。由于归纳偏好是对预测函数性质、类型或形式的假定,所以从不同的偏好能建立起各异的学习模型。例如,从线性函数的偏好建立起第3章的线性回归和第4章的线性分类模型,从预测函数值局部不变的偏好建立起2.4节的K近邻模型,从输入变量关于类别独立的偏好建立起4.3.4节的单纯贝叶斯模型。

从上述例子和论述,可以总结监督学习的一般过程。用X表示某任务的输入变量,Y表示输出变量。模型的归纳偏好规定XY之间存在特定形式的函数关系Y = f(X),利用训练数据估计出其中的参数,得到可用于预测的函数  ,如图1.9所示。

 图1.9 监督学习的过程

在得到预测函数后,需要以某种方法评估它应用于训练数据以外实例时的表现。最常用的方法是交叉验证(Cross-validation):将已有的数据实例分为训练数据集和验证数据集,验证数据集用于计算函数在训练数据集以外的预测误差。然后,通过比较一系列函数的预测误差,选出表现最好者。

《python机器学习及实践》----无监督学习之数据聚类

本片博客是根据《Python机器学习及实践》一书中的实例,所有代码均在本地编译通过。数据为从该书指定的百度网盘上下载的,或者是sklearn自带数据下载到本地使用的。代码片段:#coding:utf-8#分别导入numpy、matplotlib以... 查看详情

《python机器学习及实践》----无监督学习之特征降维

本片博客是根据《Python机器学习及实践》一书中的实例,所有代码均在本地编译通过。数据为从该书指定的百度网盘上下载的,或者是sklearn自带数据下载到本地使用的。代码片段:#coding:utf-8importnumpyasnpM=np.array([[1,... 查看详情

无监督学习之聚类2——dbscan

根据学生月上网时间数据运用DBSCAN算法计算:#coding=utf-8importnumpyasnpimportsklearn.clusterasskcfromsklearnimportmetricsimportmatplotlib.pyplotaspltmac2id=dict()onlinetimes=[]f=open(‘F:dataTestData.txt‘,encoding=‘utf 查看详情

无监督学习之聚类1——kmeans

Kmeans算法分析31省市消费水平#coding=utf-8importnumpyasnpfromsklearn.clusterimportKMeansdefloadData(filepath):fr=open(filepath,‘r+‘)lines=fr.readlines()retData=[]retCityName=[]forlineinlines:items=line.strip().s 查看详情

无监督学习之rbm和autoencoder

几种学习方式半监督学习TransferLearningSelf-talkLearningRBMRBM的类别BoltzmannMachineRestrictedBoltzmannMachineEvaluationInferenceTraining网络结构训练过程概率分布计算与GibbsSampling对比散度ContrastiveDivergence泛化实例AutoEncoder特点实例有标签的数据 查看详情

《python机器学习及实践》----无监督学习之特征降维

本片博客是根据《Python机器学习及实践》一书中的实例,所有代码均在本地编译通过。数据为从该书指定的百度网盘上下载的,或者是sklearn自带数据下载到本地使用的。代码片段:#coding:utf-8importnumpyasnpM=np.array([[1,... 查看详情

无监督学习之rbm和autoencoder(代码片段)

几种学习方式半监督学习TransferLearningSelf-talkLearningRBMRBM的类别BoltzmannMachineRestrictedBoltzmannMachineEvaluationInferenceTraining网络结构训练过程概率分布计算与GibbsSampling对比散度ContrastiveDivergence泛化实例AutoEncoder特点实例有标签的数据 查看详情

2.监督学习之分类

1.1监督学习机器学习的第一种范式是监督学习(Supervisedlearning),学习的目标是根据输入预测输出的函数。例如,输入是患者的检查数据,输出是疾病的诊断结果;输入是动物图片,输出是它们的名称&... 查看详情

机器学习笔记-监督学习之决策树

0机器学习中分类和预测算法的评估:准确率速度健壮性可规模性可解释性1决策树(判定树)的概念  决策树是一个类似于流程图的树结构(可以是二叉树或多叉树):其中,每个内部结点表示在一个属性上的测试,每个分支... 查看详情

监督学习&非监督学些

监督学习 1-3-SupervisedLearning 在监督学习中,数据集中的每个例子,算法将预测得到例子的“”正确答案“”,像房子的价格,或者溜是恶性的还是良性的。 回归 回归的目标是预测一个连续的输出值 分类 ... 查看详情

[机器学习][k-means]无监督学习之k均值聚类

有监督学习虽然高效、应用范围广,但最大的问题就是需要大量的有标签的数据集,但现实生活中我们遇到的大量数据都是没有明确标签的,而且对于庞大的数据集进行标注工作本身也是一项费时费力的工作模式,所以我们希望... 查看详情

5.1_非监督学习之sckit-learn(代码片段)

 非监督学习之k-meansK-means通常被称为劳埃德算法,这在数据聚类中是最经典的,也是相对容易理解的模型。算法执行的过程分为4个阶段。1.首先,随机设K个特征空间内的点作为初始的聚类中心。2.然后,对于根据每个数据的... 查看详情

自监督学习之掩码自动编码器(maskedautoencoders,mae)——音频识别方面

自监督学习之掩码自动编码器(MaskedAutoencoders,MAE)——音频识别方面1.参考文献《MaskedAutoencodersthatListen》2.背景Transformers和self-supervisedlearning(自监督学习)占据了计算机视觉(ComputerVision,CV)和自然语言处理(naturallanguageprocessing,NLP)的主... 查看详情

迁移学习

...ning背景  吴恩达(AndrewNg)曾说:迁移学习将会是继监督学习之后的下一个机器学习商业成功的驱动力。  人类的语言使得代际之间的迁移学习变得可能,在语言 查看详情

12.归纳偏好

2.3归纳偏好 2.2节的成果令人振奋,因为回归和分类预测函数的表达式不仅精确,而且普适。然而,条件期望值或条件概率最大的类别仅有理论意义,而无法用于实际模型。以回归为例,在输出关于输入的条件... 查看详情

12.归纳偏好

2.3归纳偏好 2.2节的成果令人振奋,因为回归和分类预测函数的表达式不仅精确,而且普适。然而,条件期望值或条件概率最大的类别仅有理论意义,而无法用于实际模型。以回归为例,在输出关于输入的条件... 查看详情

菜鸟之路——机器学习之非线性回归个人理解及python实现(代码片段)

关键词:梯度下降:就是让数据顺着梯度最大的方向,也就是函数导数最大的放下下降,使其快速的接近结果。Cost函数等公式太长,不在这打了。网上多得是。这个非线性回归说白了就是缩小版的神经网络。python实现:1importnump... 查看详情

machinelearning:机器学习算法

...2018/02/10/Machine-Learning-Algorithms/摘要机器学习算法分类:监督学习、半监督学习、无监督学习、强化学习基本的机器学习算法:线性回归、支持向量机(SVM)、最近邻居(KNN)、逻辑回归、决策树、k平均、随机森林、朴素贝叶斯、降维... 查看详情