Machine Learning -- 框架学习(1)

Machine Learning – 框架学习(1)

什么是机器学习

需要进行大量手工调整或需要拥有长串规则才能解决的问题:机器学习算法通常可以简化代码、提高性能。

问题复杂,传统方法难以解决:最好的机器学习方法可以找到解决方案。

环境有波动:机器学习算法可以适应新数据。 自适应性

洞察复杂问题和大量数据。处理大量数据 建立模型分析数据

机器学习系统的类型

是否存在先验数据(人类监督): 监督, 半监督, 非监督, 强化学习
是否可以动态渐进学习:在线学习, 批量学习
是否只是简单地比较新的数据点和已知的数据点,或者在训练数据中进行模式识别,以建立一个预测模型:基于实例学习vs基于模型学习

机器学习系统往往是一个组合的系统:一个先进的垃圾邮件过滤器可以使用神经网络模型动态地进行学习,用垃圾邮件和普通邮件训练.即为: 在线,基于模型,监督学习系统

监督/非监督学习

监督学习: 训练算法的数据包含了答案

重要的监督学习算法有:

K近邻算法
线性回归
逻辑回归
支持向量机(SVM)
决策树和随机森林
神经网络

非监督学习: 训练算法的数据没有答案,标签

一些最重要的非监督学习算法:

聚类
K 均值
层次聚类分析(Hierarchical Cluster Analysis,HCA)
期望最大值
可视化和降维
主成分分析(Principal Component Analysis,PCA)
核主成分分析
局部线性嵌入(Locally-Linear Embedding,LLE)
t-分布邻域嵌入算法(t-distributed Stochastic Neighbor Embedding,t-SNE)
关联性规则学习
Apriori 算法
Eclat 算法
非监督学习的两个重要任务:
1. 发现数据中规律
2. 异常值检测

半监督学习 - 一些算法可以处理部分带标签的训练数据,通常是大量不带标签数据加上小部分带标签数据

多数半监督学习算法是非监督和监督算法的结合。例如,深度信念网络(deep belief networks)是基于被称为互相叠加的受限玻尔兹曼机(restricted Boltzmann machines,RBM)的非监督组件。RBM 是先用非监督方法进行训练,再用监督学习方法进行整个系统微调。

强化学习

强化学习非常不同。学习系统在这里被称为智能体(agent),可以对环境进行观察,选择和执行动作,获得奖励(负奖励是惩罚,见图 1-12)。然后它必须自己学习哪个是最佳方法(称为策略,policy),以得到长久的最大奖励。策略决定了智能体在给定情况下应该采取的行动。

批量和在线学习

另一个用来分类机器学习的准则是,它是否能从导入的数据流进行持续学习。

批量学习 – 也可以看作离线学习

在批量学习中,系统不能进行持续学习:必须用所有可用数据进行训练。这通常会占用大量时间和计算资源,所以一般是线下做的。首先是进行训练,然后部署在生产环境且停止学习,它只是使用已经学到的策略。这称为离线学习。

在线学习 – 持续学习

在在线学习中,是用数据实例持续地进行训练,可以一次一个或一次几个实例(称为小批量)。每个学习步骤都很快且廉价,所以系统可以动态地学习到达的新数据
警告:这个整个过程通常是离线完成的(即,不在部署的系统上),所以在线学习这个名字会让人疑惑。可以把它想成持续学习。
在线学习中的重要参数为: 学习速率
学习速率大, 系统就会快速的适应新数据 也会快速的忘记老数据
学习速率小, 系统就是惰性的, 对新数据不敏感

基于实例 vs 基于模型学习

另一种分类机器学习的方法是判断它们是如何进行归纳推广的

基于实例学习

基于实例学习:系统先用记忆学习案例,然后使用相似度测量推广到新的例子
例子: 记住标记的垃圾邮件, 测量另一份邮件与其的相似度

基于模型学习

基于模型学习: 是建立这些样本的模型,然后使用这个模型进行预测
例子: 线性回归 预测房价

总结一下, 机器学习的基本步骤为:

研究数据
选择模型
用训练数据进行训练(即,学习算法搜寻模型参数值,使代价函数最小)
最后,使用模型对新案例进行预测(这称作推断),但愿这个模型推广效果不差

机器学习的主要挑战


  1. 训练数据量不足
    解决方案: 重视选择模型 – 算法
  2. 没有代表性的训练数据
    解决方案: 数据预处理, 特征工程 — 避免样本偏差
  3. 低质量数据
    解决方案:,如果训练集中的错误、异常值和噪声(错误测量引入的)太多,系统检测出潜在规律的难度就会变大,性能就会降低。花费时间对训练数据进行清理是十分重要的。
  4. 不相关的特征
    解决方案:

特征选择:在所有存在的特征中选取最有用的特征进行训练。
特征提取:组合存在的特征,生成一个更有用的特征(如前面看到的,可以使用降维算法)。
收集新数据创建新特征。
  • 过拟合训练数据 - 意思是说,模型在训练数据上表现很好,但是推广效果不好。
    解决方案:
    简化模型,可以通过选择一个参数更少的模型(比如使用线性模型,而不是高阶多项式模型)、减少训练数据的属性数、或限制一下模型
    收集更多的训练数据
    减小训练数据的噪声(比如,修改数据错误和去除异常值)
  • 欠拟合训练数据 – 欠拟合是和过拟合相对的
    解决方案:
    选择一个更强大的模型,带有更多参数
    用更好的特征训练学习算法(特征工程)
    减小对模型的限制(比如,减小正则化超参数)

测试和确认

训练集,验证集, 测试集
数据分成两个集合:训练集和测试集。正如它们的名字,用训练集进行训练,用测试集进行测试。对新样本的错误率称作推广错误(或样本外错误),通过模型对测试集的评估,你可以预估这个错误。
用训练集和多个超参数训练多个模型,选择在验证集上有最佳性能的模型和超参数。当你对模型满意时,用测试集再做最后一次测试,以得到推广误差率的预估。

交叉验证:
避免“浪费”过多训练数据在验证集上,通常的办法是使用交叉验证:训练集分成互补的子集,每个模型用不同的子集训练,再用剩下的子集验证。一旦确定模型类型和超参数,最终的模型使用这些超参数和全部的训练集进行训练,用测试集得到推广误差率。

参考文献
[Hands-on Machine Learning with Scikit-Learn and TensorFlow:]: https://github.com/ageron/handson-ml ageron

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值