【HOMLWSLAT读书笔记】 (一) 机器学习概览
如果饿了就吃,困了就睡,渴了就喝,人生就太无趣了
记录一下阅读 《Hands on Machine Learning with Scikit Learn and TensorFlow》这本书的笔记,读的中文版,原版太难了
1. 机器学习系统的类型
- 是否在人类监督下进行训练
- 监督
- 非监督
- 半监督
- 强化学习
- 是否可以动态渐进学习
- 在线学习
- 批量学习
- 是否简单的比较新的数据点和已知的数据点,或者在训练数据中进行模式识别,来建立一个预测模型
- 基于实例学习
- 基于模型学习
2 监督学习VS非监督学习VS半监督学习VS强化学习
机器学习可以根据训练时监督的量和类型进行分类。主要有四类:监督学习、非监督学习、半监督学习和强化学习。
2.1 监督学习
在监督学习中,用来训练算法的训练数据包含了答案,这个答案
称为标签。
-
任务分类
- 分类任务: 邮件过滤器(用带有归类的邮件样本进行训练,样本标签:垃圾邮件OR普通邮件,训练的过滤器能对新的邮件进行分类)
- 预测目标数值任务(回归):给出一些特征(里程数、车龄、品牌等等)称作预测值,来预测一辆汽车的价格。
-
监督学习算法
- K临近算法
- 线性回归
- 逻辑回归
- 支持向量机(SVM)
- 决策树和随机森林
- 神经网络
2.2 非监督学习
在非监督学习中,训练数据是没有加标签的。
非监督学习算法:
- 聚类
- K均值
- 层次聚类分析(Hierarchical Cluster Analysis,HCA)
- 期望最大值
- 可视化和降维
- 主成分分析(Principal Component Analysis,PCA)
- 核主成分分析
- 局部线性嵌入(Locally-Linear Embedding,LLE)
- t-分布邻域嵌入算法(t-distributed Stochastic Neighbor Embedding,t-SNE)
- 关联性规则学习
- Apriori 算法
- Eclat 算法
2.3 半监督学习
一些算法可以处理部分带标签的训练数据,通常是大量不带标签数据加上小部分带标签数据。
多数半监督学习算法是非监督和监督算法的结合
2.4 强化学习
学习系统在这里成为智能体(Agent),,可以对环境进行观察,选择和执行动作,获得奖励。
如图
3 在线学习VS批量学习
能否从导入的数据流进行持续学习
3.1 在线学习
在在线学习中,是用数据实例持续地进行训练,可以一次一个或一次几个实例。
缺点就是在低质量的数据下,系统会变得准确度降低。
3.2 批量学习
系统不能进行持续学习,必须用所有可能数据进行训练
4 实例学习VS模型学习
4.1 实例学习
系统先用记忆学习案例,然后使用相似度测量推广到新的例子。
如图
4.2 模型学习
从样本集进行归纳的方法是建立这些样本的模型,然后使用这个模型进行预测 。
如图
5 机器学习的主要挑战
1. 训练数据量不足
2. 没有代表性的训练数据
3. 低质量数据
4. 不相关的特征
机器学习项目成功的关键之一是用好的特征进行训练,这个过程称作特征工程:
- 特征选择:在所有存在的特征中选取最有用的特征进行训练。
- 特征提取:组合存在的特征,生成一个更有用的特征。
- 收集新数据创建新特征。
5. 过拟合训练数
模型在训练数据上表现很好,但是推广效果不好
警告:过拟合发生在相对于训练数据的量和噪声,模型过于复杂的情况。可能的解决方案有:
- 简化模型,可以通过选择一个参数更少的模型(比如使用线性模型,而不是高阶多项式模型)、减少训练数据的属性数、或限制一下模型
- 收集更多的训练数据
- 减小训练数据的噪声(比如,修改数据错误和去除异常值)
6. 欠拟合训练数据
当你的模型过于简单时就会发生
解决办法:
- 选择一个更强大的模型,带有更多参数
- 用更好的特征训练学习算法(特征工程)
- 减小对模型的限制(比如,减小正则化超参数)