什么是机器学习?
一、概述
- 机器学习是让计算机具有学习的能力,无需进行明确编程。 —— 亚瑟·萨缪尔,1959
- 计算机程序利用经验 E 学习任务 T,性能是 P,如果针对任务 T 的性能 P 随着经验 E 不断增长,则称为机器学习。 —— 汤姆·米切尔,1997
二、机器学习的类型
1. 监督学习
训练集有标签
-
主要算法
- K近邻算法
- 线性回归
- 逻辑回归
- 支持向量机(SVM)
- 决策树和随机森林
- 神经网络
-
分类
-
垃圾邮件过滤器就是一个很好的例子:用许多带有归类(垃圾邮件或普通邮件)的邮件样本进行训练,过滤器必须还能对新邮件进行分类。
img
-
-
回归
-
预测目标数值,例如给出一些特征(里程数、车龄、品牌等等)称作预测值,来预测一辆汽车的价格
img
-
2. 非监督学习
训练集没有标签
-
主要算法
-
聚类
-
K 均值
-
层次聚类分析(HCA)
-
期望最大值
img
-
-
可视化与降维
-
主成分分析(PCA)
-
核主成分分析
-
局部线性嵌入(LLE)
-
t-分布邻域嵌入算法(t-SNE)
img
-
-
异常检测
img -
关联规则
- Apriori 算法
- Eclat 算法
-
3. 半监督学习
大量不带标签数据加上小部分带标签数据
-
主要算法
- 深度信念网络(DBN)
- 受限玻尔兹曼机(RBM)
-
案例
-
比如 Google Photos,只要给每个人一个标签,算法就可以命名每张照片中的每个人,特别适合搜索照片
img
-
4. 强化学习
学习系统在这里被称为智能体(agent),可以对环境进行观察,选择和执行动作,获得奖励(负奖励是惩罚)。然后它必须自己学习哪个是最佳方法(称为策略,policy),以得到长久的最大奖励。策略决定了智能体在给定情况下应该采取的行动。
-
主要算法
- Q-learning
5. 在线学习
用数据实例小批量持续地进行训练,每个学习步骤都很快且廉价,系统可以动态地学习新获得的数据
-
在线学习很适合系统接收连续流的数据(比如,股票价格),且需要自动对改变作出调整。一旦在线学习系统学习了新的数据实例,它就不再需要这些数据,可以节省大量的空间
img
6. 实例学习vs模型学习
-
实例学习
系统先用记忆学习案例,然后使用相似度测量推广到新的例子
-
模型学习
建立这些样本的模型,然后使用这个模型进行预测
三、机器学习的使用
-
选择算法需要考虑的两个问题
-
算法场景
- 预测明天是否下雨,因为可以用历史的天气情况做预测,所以选择监督学习算法
- 给一群陌生的人进行分组,但是我们并没有这些人的类别信息,所以选择无监督学习算法、通过他们身高、体重等特征进行处理
-
数据类型
- 需要收集或分析的数据是什么
-
-
开发流程
- 收集数据: 收集样本数据
- 准备数据: 注意数据的格式
- 分析数据: 为了确保数据集中没有垃圾数据
- 如果是算法可以处理的数据格式或可信任的数据源,则可以跳过该步骤
- 另外该步骤需要人工干预,会降低自动化系统的价值
- 训练算法: 如果使用无监督学习算法,由于不存在目标变量值,则可以跳过该步骤
- 测试算法: 评估算法效果
- 使用算法: 将机器学习算法转为应用程序
网友评论