A few useful things to learn about ML

来源:互联网 发布:栗山千明知乎 编辑:程序博客网 时间:2024/05/22 09:34

1. ML=算法模型+评价函数+迭代算法(优化算法optimization)

算法模型:决策树、线性回归等

评价函数:最大似然函数、误差均值等

迭代算法:随机梯度下降、批量梯度下降等


2. 泛化能力是ML最重要的东西

1)训练、测试要使用不同的数据集,如cross-validation

2)上文提到的评价函数(loss-function/cost function)仅仅是泛化目标的替代/逼近,并不能完全带面一个模型的泛化能力

3)没有免费的午餐(no free lunch):没有一种通用的模型能够解决所场景中的问题。选择模型时需要结合实际问题,基于instants\概率\先验条件(precondition)要选择不同的模型。



3.过拟合有很多表现

1)分辨过拟合的一种方法是将泛化误差分为高偏差(high bias)与高方差(high variance)

2)数据量太少或者模型过于复杂可能导致过拟合

3)防止过拟合:交叉验证、正则项


4. 特征高纬度问题

理论上说,特征是越多越好的,但是你每增加一个特征,其表示的空间可是以指数方式递增的,这时候你所拥有的数据量就会以指数速度变得越来越不够用。因为你所掌握的数据是恒定的,而在需求以指数递增的同时,你说掌握的那点数据,在与需求的比值以指数方式变小。
当然,计算也是个问题。不过最严重的还是高维度下的分布问题,在高维度下,物体的的多元高斯分布的质心离物体的均值通常很远。看来我还需要补一补代数方面的知识。所以即便你的数据足够,结果也不一定对。 -转载

5.理论保证

边界保证与渐进保证

这段说的是学习理论,但理论在实际中的应用固然重要,但实际效果不一定可由理论推导出来。


6. 特征工程在机器学习中非常重要,往往决定了算法的实际效果,而特征提取的工作往往是非常繁琐的。

因此现在深度学习可以自动提取特征的优点十分重要!!!


7. 大量数据比设计聪明的算法更重要

机器学习中的限制:时间、内存、训练数据。现在,机器学习中最大的限制是时间!

先从简单的算法开始试验


8. 多学习一个模型算法

算法效果随应用场景而不同,没有一种算法能够适应全部应用。

现在学者多采用混合多种模型--model ensembles:bagging\boosting\stacking

视觉推荐系统www.netflixprize.com


9. 可表示不一定就科学系

有的问题可以用函数表示出来,但是不一定就能够被学习。

通过机器学习得到的模型仅仅是真实模型的一个逼近。

我们的假设集合仅仅是所有可能的一个子集,如果一个假设(算法)不行,试试别的算法或者算法组合,因为别的算法或组合能够引入跟多的假设。


10. 相关并不意味着因果

机器学习得到的是数据之间的相关性,但是数据间的因果关系不一定能被发现,或者说可以通过相关性进一步发觉。


另一个读后感:http://blog.csdn.net/danameng/article/details/21563093



阅读全文
0 0
原创粉丝点击