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
- A few useful things to learn about ML
- 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
- 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
- 【Paper Reading】A Few Useful Things to Know about Machine Learning【机器学习那些事】
- 机器学习_论文笔记_1: A few useful things to know about machine learning
- MACHINE LEARNING - 《A FEW USEFUL THINGS TO KNOW ABOUT MACHINE LEARNING》读后总结
- 关于机器学习必须要了解的几个要点(A Few Useful 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
- 【每周一文】A Few Usefull Things to know about Machine Learning
- 单链表的实现(给定某结点,删除它;给定某结点,在他前面插入一个结点等)
- python os.path模块常用方法
- FileProvider的Server和Client
- 实验二(2)用单链表实现信息操作
- SVProgressHUD(2.0.3)原来是这样
- A few useful things to learn about ML
- 游戏设计之我见 —— Strike Vector EX游玩心得以及思考
- Qt 学习之路 2(62):保存 XML
- c++知识点---类模板的使用
- spring data 常用的几种CURD方法
- 纪念人生中第一篇博客
- 2017年9月份知识点记录总结
- 国内TOP5数字化服务商中企动力力推行业解决方案
- $.post(路径,参数,回调函数,数据类型);