机器学习概述
→机器学习是什么??
简而言之就是解释数据背后的真实含义。
→机器学习主要任务是什么?
分类、聚类
→谁需要使用机器学习算法?
- 有数据需要处理的人
- 想要理解数据的人
→需要的基础知识
编程:递归
数据结构:树结构
线性代数
概率论
→十大算法
"数据挖掘时大算法"是IEEE数据挖掘国际会议ICDM上的一篇论文,2007年12月于Journal of Knowledge and Information Systems 杂志发表。依据只是发现和数据挖掘国际会议KDD获奖者的问卷调查结果,论文统计出排名前十的数据挖掘算法。
算法 | 算法 | ||
C4.5决策树 | 支持向量机(SVM) | ||
分类回归树(CART) | AdaBoost算法 | ||
K-均值(K-mean) | Apriori | ||
k-近邻(kNN) | 最大期望算法(EM) | ||
朴素贝叶斯(NB) | PageRank算法 |
→如何成功地在现实世界中使用机器学习算法,以保证算法应用的正确性
a. 确保算法可以正确处理简单数据
b. 将现实世界中的数据格式化为算法可以处理的格式
c. 将b得到的数据输入到a的算法中,检验算法运行结果
注:切记按步骤。在算法出问题时,增量地搭建系统可以确保我们及时找到问题所在(精益数据分析理论),这样可以保证系统出问题时迅速分析出是数据的问题还是算法的问题。
→如何选择合适的算法
- 使用ML算法想要完成什么任务?
预测→监督学习算法
否则→无监督学习算法
2、需要分析或收集的数据是什么?
数据是离散的→分类算法
数据是连续的→回归算法
注:需要非常详细地了解数据!包括:离散、连续、有无缺失值、有缺失值原因、是否存在异常值、某个特征的频率等。
→开发ML应用程序步骤
收集数据:爬虫等
准备输入数据:使用哪种数据结构
分析数据数据:空值、异常值、数据可视化
训练算法:核心
测试算法:核心
使用算法:维护等
参考文献
《机器学习实战》 Peter Harrington