A few useful things to learn about ML
2017-10-02 11:39
267 查看
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
算法模型:决策树、线性回归等
评价函数:最大似然函数、误差均值等
迭代算法:随机梯度下降、批量梯度下降等
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
相关文章推荐
- 机器学习_论文笔记_1: A few useful things to know about machine learning
- 关于机器学习必须要了解的几个要点(A Few Useful Things to Know about Machine Learning)
- A Few Useful Things to Know about Machine Learning
- a few useful things to know about machine learning
- CS231n A Few Useful Things to Know about Machine Learning
- 《A Few useful things to Know About machine Learning》读后感
- A Few Useful Things to Know About Machine Learning
- A Few Useful Things to Know about Machine Learning
- 【Paper Reading】A Few Useful Things to Know about Machine Learning【机器学习那些事】
- A few things iOS developers ought to know about the ARM architecture
- Useful Things To Know About Machine Learning (机器学习中一些有用的知识)
- A Few Useful Things to Know about Machine Learning
- Useful Things to Know About Ph. D. Thesis Research
- 【每周一文】A Few Usefull Things to know about Machine Learning
- [转] A few things iOS developers ought to know about the ARM architecture
- A few things iOS developers ought to know about the ARM architecture
- A few things iOS developers ought to know about the ARM architecture
- A few things iOS developers ought to know about the ARM architecture
- A few things iOS developers ought to know about the ARM architecture
- SO MUCH THINGS TO LEARN