您的位置:首页 > 其它

Datawhale初级算法班(1)——机器学习相关概念

2019-03-29 21:35 381 查看

写在前面:这是初级算法版第一次作业的第二部分,同样由于时间原因准备的不充分,使用的是csdn的富文本编辑器,今天结束后会熟悉一下Markdown编辑器,希望下次至少在格式上有所改进。

一.  有监督学习

1) 从有标记的训练数据中推导出预测函数

2) 有标记的训练数据是指每个训练实例都包括输入和期望的输出

3) 常用来做分类和回归

4)例子:老师给你一份有答案的习题集让你去训练,学完之后再给你一份类似的习题集让你去做检验你是否学会了

 

二.  无监督学习

1)只给训练数据,不给标签。自己寻找数据的模型和规律,推断结论。物以类聚,人以群分,我们拿到了很多数据,但是不知道问题的答案,希望计算机给我们提供思路

2)典型的无监督学习就是聚类算法

3)例子:老师正常上课,也不画重点,上完课后让你去考试

 

三. 泛化能力

1)学习到的模型对未知数据的预测能力,通常用泛化误差来描述

2)例子:举一反三的能力,老师教会你1+1=2,问你2+3你如果说出等于5就说明泛化能力好,如果等于x(x≠5)就说明不好,其中|x-5|越大说明泛化能力越差,|x-5|就是通常说的泛化误差

四. 过拟合

1)学习时选择的模型包含的参数太多(往往比真模型还要复杂),导致模型对已知数据拟合效果很好,但是对未知数据的预测效果很差的现象

2)过拟合的重点是对训练集的拟合效果很好,对未知数据效果不好,如果单单只是对未知数据效果不好并不叫过拟合,一般模型越复杂则功能越强大,因为模型越复杂则变量越多,能描述的东西也就越多

3)例子:老师上课教文言文理解,为了让你加深记忆老师说了一些典故,介绍了一下背景知识,然后说了一下文言文怎么去理解,然后你课后把老师说的这些背景知识,文言文古代现在怎么对应都记住了,然后别人问你这篇文言文的东西,包括一些背景之类的你都能答出来,但是别人换了一篇文言文让你翻译你就可能只能翻译跟上个文言文共同的东西,效果很差。因为你把时间花在了了解背景知识的上,没有把主要精力放在文言文理解上,说的简单点就是没有抓住重点,没有找到事件背后的规律,死记硬背。过拟合的原因就是模型太复杂,也就是把一些噪声也当作特征一起学习了。

4)解决方法:

五. 欠拟合

1)学习到的模型不是很好,对未知数据的拟合效果很差

2)例子:老师上课教九九乘法表,你不认真听课只听了4x4

之前的,所以4x4之后的你就不会了。欠拟合是在训练集上效果就不好,就更不要说测试集和未知数据了,一般原因就是模型过于简单。

3)解决方法:增加数据特征数(变量变多),添加高次多项式特征(次数变高),减小正则化系数

六. 偏差

1)训练得到的模型的输出预测结果和真实结果的差距叫做偏差

2)偏差大和欠拟合基本上可以等价来看,可以认为偏差大小是模型拟合效果的评判标准,欠拟合则模型的偏差大,当然过拟合也可能偏差很大(因为偏差是跟真实数据之间的差距)

七. 方差

1)方差指一个特定训练集训练得到的函数,与所有训练集得到平均函数的差的平方再取期望,方差度量了同样大小的训练集的变动所导致的学习性能的变化,即刻画了数据扰动所造成的影响。

2)通俗来说方差表示的是模型对训练集的敏感度,不同训练集得到的模型的预测结果都差不多,说明该模型的方差就很小

3)一般来说过拟合方差一定很大,因为过拟合模型很复杂,描述数据过于准确了,不同的训练集得到的模型之间的差距会很大

                              

八. 交叉验证

1)样本数据量足够时,随机将数据集分成三部分,分别为训练集,验证集和测试集。训练集用来训练模型,验证集用来选择模型,测试集用于最终对学习方法的评估。一般选择对验证集有最小预测误差的模型。如果发现A的验证集误差比B小,但A的测试集误差比B大,此时仍然选择A模型。验证集是我们的选择标准,测试集只是模仿我们的未知数据,让我们提前对模型的拟合效果有个感性的认识。

2)交叉验证主要用在数据不足的情况,基本思想就是重复使用数据,把给定的数据进行切分,将切分的数据集组合为不同的训练集和测试集(数据量很小所以就没有验证集了),用训练集来训练模型,用测试集来评估模型预测的好坏。在此基础上可以得到多组不同的训练集和测试集,某次训练集中的某样本在下次可能成为测试集中的样本,即所谓“交叉”

3)简单交叉验证:我们随机的将样本数据分为两部分(比如: 70%的训练集,30%的测试集),然后用训练集来训练模型,在测试集上验证模型及参数。接着,我们再把样本打乱,重新选择训练集和测试集,继续训练数据和检验模型。最后我们选择损失函数评估最优的模型和参数

4)S折交叉验证:把样本数据随机的分成S份,每次随机的选择S-1份作为训练集,剩下的1份做测试集。当这一轮完成后,重新随机选择S-1份来训练数据。若干轮(小于S)之后,选择损失函数评估最优的模型和参数。

5)留一交叉验证:是s折交叉验证的特例,S等于样本数N,这样对于N个样本,每次选择N-1个样本来训练数据,留一个样本来验证模型预测的好坏。此方法主要用于样本量非常少的情况。计算量会很大

 

 

 

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: