Machine Learning in Action 读书笔记
第1章 机器学习基础
一、可谓机器学习?
利用计算机来彰显数据背后的真实含义,这才是机器学习的真实含义。随着技术指数级增长,我们不仅需要使用更好的工具解析当前的数据,而且还要为将来可能产生的数据做好充分的准备。在社会科学领域,正确率达60%以上的分析被认为是非常成功的。
二、机器学习关键术语
- 知识表示:某些算法可以产生很容易理解的知识表示,而某些算法的知识表示也许只能为计算机所理解,采用何种方式表示只是就显得非常重要了。
- 聚类:在无监督学习中,将数据集合分成由类似的对象组成的多个类的过程被成为聚类。
- 密度估计:在无监督学习中,将寻找描述数据统计值的过程成为密度估计。
三、机器学习的主要任务
(1)监督学习的用途:
- k-近邻算法:线性回归
- 朴素贝叶斯算法:局部加权线性回归
- 支持向量机:Ridge回归
- 决策树:Lasso最小回归系数估计
(2)无监督学习的用途:
- k-均值:最大期望算法
- DBSCAN:Parzen窗设计
四、如何选择合适的算法
(1)考虑使用机器学习算法的目的
- 如果不想预测目标变量的值,则可以选择无监督学习算法。
- 进一步分析是否需要将数据划分为离散的组。
- 如果这是唯一的要求,则使用聚类算法;
- 如果还需要估计数据与每个分组的相似程度,则需要使用密度估计算法。
(2)充分了解数据
- 特征值是离散型变量还是连续型变量
- 特征值中是否存在缺失的值
- 何种原因造成缺失值
- 数据中是否存在异常值
- 某个特征发生的频率如何(是否罕见得如同海底捞针)
一般说来发现最好算法的关键环节是反复试错的迭代过程。
五、开发机器学习应用程序的步骤
- 收集数据
- 准备输入数据
- 分析输入数据(这一步的主要作用是确保数据集中没有垃圾数据)
- 训练算法(如果使用无监督学习算法,由于不存在目标变量值,故而也不需要训练算法)
- 测试算法(对于监督学习,必须已知用于评估算法的目标变量值;对于无监督学习,也必须用其他的评测手段来检测算法的成功率)
- 使用算法