机器学习实战(1)——概览

目录

1 机器学习的定义

2 有关概念

3 机器学习的种类

4 机器学习的主要挑战


1 机器学习的定义

笼统定义:

机器学习研究如何让计算机不需要明确的程序也能具备学习能力。

——Arthur Samuel,1959

偏工程化定义:

一个计算机程序在完成任务T之后,获得经验E,其表现效果为P,如果任务T的性能表现,也就是用以衡量的P,随着E的增加,可以称其为学习。

——Tom Mitchell,1997

2 有关概念

  1. 系统用来学习的示例,称为训练集,每个训练示例称为训练实例或者是训练样本。
  2. 应用机器学习技术来挖掘海量数据,可以帮助我们发现那些此前并非立见端倪的模式。这个过程称为数据挖掘
  3. 机器学习中,属性是一种数据类型(如“年龄”),而特征取决于上下文,可能有多个含义,但是通常情况下,特征意味着一个属性加上其值(如“年龄=22岁”)。
  4. 降维的目的是在不丢失太多信息的前提下简化数据。方法之一是将多个相关特征合并为一个。例如,汽车的里程与其使用年限存在很大的相关性,所以降维算法会将他们合并成一个代表汽车磨损的特征,这个过程称为特征提取
  5. 关联规则学习的目的是挖掘大量数据,发现属性之间的有趣联系。

3 机器学习的种类

  • 是否在人类监督下训练:
  • 监督式学习、无监督式学习、半监督式学习、强化学习
  • 是否可以动态地进行增量学习:
  • 在线学习、批量学习
  • 是简单地将新的数据点和已知的数据点进行匹配,还是像科学家那样,对训练数据进行模式检测,然后建立一个预测模型:
  • 基于实例的学习、基于模型的学习
  •  监督式学习

 在监督式学习中,提供给算法的包含所需要解决方案的训练数据,称为标签或标记

监督式学习的算法包含:

  • K-近邻算法(k-Nearest Neighbors)
  • 线性回归(Linear Regression)
  • 逻辑回归(Logistic Regression)
  • 支持向量机(Support Vector Machines, SVM)
  • 决策树和随机森林(Decision Trees and Random Forest)
  • 神经网络(Neural networks)
  •  无监督式学习

无监督式学习的训练数据都是未经标记的,系统是在没有老师的情况下进行学习。

 无监督式学习的算法包含:

  • 聚类算法:
  • k-平均算法(k-Means)
  • 分层聚类分析(Hierarchical Cluster Analysis, HCA)
  • 最大期望算法(Expectation Maximization)
  • 可视化和降维:
  • 主成分分析(PCA)
  • 核主成分分析(Kernel PCA)
  • 局部线性嵌入(LLE)
  • t-分布随机近临嵌入(t-SNE)
  • 关联规则学习:
  • Apriori
  • Eclat
  •  半监督式学习

有些算法可以处理部分标记的训练数据——通常是大量未标记数据和少量的标记数据。

  •  基于实例的学习

系统先完全记住学习示例,然后通过某种相似度度量方式将其泛化到新的实例。

  •  基于模型的学习

从一组示例集中实现泛化的另一种方法是构建这些示例的模型,然后使用该模型进行预测。 

4 机器学习的主要挑战

  • 训练数据不具代表性

针对我们想要泛化的案例使用具有代表性的训练集,这一点至关重要。如果样本集太小,将会出现采样噪声(即非代表性数据被选中);而即便是非常大的样本数据,如果采样方式欠妥,也同样可能导致非代表性数据集,即采样偏差

  • 训练数据过度拟合

过度拟合是指模型在训练数据上表现良好,但是泛化时却不尽人意。

解决方案:

  1. 简化模型:可以选择较少参数的模型(如,选择线性模型而不是高阶多项式模型),可以减少训练数据中的属性数量,或约束模型。
  2. 收集更多的训练数据。
  3. 减少训练数据中的噪声(如,修复数据错误和消除异常值)。

通过约束模型使其简单,并降低过度拟合的风险,这个过程称为正则化。例如,我们定义的线性模型有两个参数,\theta _{1}\theta _{2}。因此,该算法在拟合训练数据时,调整模型的自由度就等于2:它可以调整线的高度(\theta _{1})和斜率(\theta _{2})。如果我们强行让\theta _{1}=0,那 么算法的自由度将会降为1,并且其拟合数据将变得更为艰难——它能做的全部就只将线上移或下移来尽量接近训练实例,最后极有可能停留在平均值附近。这确实太简单了!如果我们允许算法修改\theta _{2},但是我们强制它只能是很小的值,那么算法的自由度将位于1和2之间,这个模型将会比自由度为2的模型稍微简单一些,同时又比自由度为1的模型略微复杂一些。你需要在完美匹配数据和保持模型简单之间找到合适的平衡点, 从而确保模型能够较好地泛化。

应用正则化的程度可以通过一个超参数来控制。超参数是学习算法(不是模型)的参数,因此,它不受算法本身的影响。超参数必须在训练之前设置好,并且在训练期间保持不变。

  •  训练数据拟合不足

与过度拟合相反。解决方案:

  1. 选择带有更多参数、更强大的模型。
  2. 特征工程
  3.  减少模型中的约束(如,减少正则化超参数)

学习笔记——《机器学习实战:基于Scikit-Learn和TensorFlow》

你可能感兴趣的:(机器学习,机器学习,数据挖掘,人工智能)