【云驻共创】机器学习概览

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第27天,点击查看活动详情

机器学习是人工智能的核心,研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,它是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。现在我们来一起探究一下机器学习的知识。​

一.机器学习算法概念​

机器学习(包括深度学习分支)是研究“学习算法”的一门学问。所谓“学习”是指:对于某类任务T和性能度量P,一个计算机程序在T上以P衡量的性能随着经验E而自我完善,那么我们称这个计算机程序在从经验E学习。​

我们看下面图来理解:​

编辑

那么,人类学习过程与机器学习的过程有什么区别呢?

人类学习的过程:经验归纳规律,规律预测未来。​

机器学习的过程:历史数据训练模型,模型预测未来。​

总结:机器学习就是通过历史数据训练得到的模型。得到了模型之后就是让机器学到了东西。

1.1机器学习算法与传统基于规则的区别

编辑

总结出来的规则不一定会符合所有的情况。

为了适用更多的环境,更多的数据集,我们需要穷举我们的规则。通过机器学习相关的算法,通过样板训练,学习到一个算法,这个算法适用于所有的情况。​

1.2什么时候该使用机器学习

问题的解决方案很复杂,或者问题可能涉及到大量的数据却没有明确的数据分布函数。​

  1. 人脸识别和语音识别​
  2. 任务的规则随着数据改变​
  3. 数据本身随着时间不断变化,需要程序不断的重新适应。​

机器学习算法的理性认知:​

编辑

目标函数未知,学习算法无法得到一个完美的函数f。​

假设g函数逼近函数f,但是可能和函数f不同。​

机器学习算法,从数学上来讲,就是得到了一个函数方程,理性的去认识机器学习。​

1.3机器学习解决的主要问题

机器学习可以解决多种类型的任务,下面列出最典型的常见的三种:

  1. 分类:计算机程序需要指定输入属于k类中的哪一类。为了完成这个任务,学习算法通常会输出一个函数

    编辑

    。比如计算机视觉中的图像分类算法解决的就是一个分类任务。​

  2. 回归:这类任务中,计算机程序会对给定输入预测输出数值。学习算法通常会输出一个函数f:Rn→R,这类任务的一个示例是预测投保人的索赔金额(用于设置保险费),或者预测证券未来的价格。​

  3. 聚类:对大量未知标注的数据集,按数据的内在相似性,将数据划分为多个类别,是类 别内的数据相似度较大,而类别间的相似性比较小。可以被运用在图片检索,用户画像等 场景中。​

分类和回归是预测问题的两种主要类型,占到80%-90%,分类的输出是离散的类别值,而回归的输出是连续数值。​

二.机器学习的分类​

1.监督学习:利用已知类别的样本,训练学习得到一个最优模型,使其达到所要求性能,再利用这个训练所得模型,将所有的输入映射为相应的输出,对输出进行简单的判断,从而实现分类的目的,即可以对未知数据进行分类。​

2.无监督学习:对于没有标记的样本,学习算法直接对输入数据集进行建模,例如聚类,即“物以类聚,人以群分”。我们只需要把相似度高的东西放在一起,对于新来的样本,计算相似度后,按照相似程度进行刊归类就好。​

3.半监督学习:试图让学习器自动地对大量未标记数据进行利用以铺助少量有标记数据进行学习。​

4.强化学习:学习系统从环境到行为映射的学习,以使奖励信号(强化信号)函数值最大,强化学习不同于连接主义学习中的监督学习,主要表现在教师信号上,强化学习中由环境提供的强化信号是对产生动作的好坏作一种评价(通常为标量信号),而不是告诉强化学习系统如何去产生正确的动作。​

2.1监督学习

编辑

注意:每条监督学习必须要有一个标签,每一条都会有特征,主要的还是标签问题。​

2.2监督学习——回归问题

回归:反映了样本数据集中样本的属性值的特性,通过函数表达样本映射的关系来发现属性值之间的依赖关系。​

2.3监督学习——分类问题

分类:分类问题属于有监督学习,通过分类模型,将样本数据集中的样本映射到某个给定的类别中。​

2.4无监督学习

编辑

最典型的无监督学习就是聚类。

2.5无监督学习——聚类问题

聚类:通过聚类模型,将样本数据集中的样本分为几个类别,属于同一类别的样本相似性比较大。​

2.6半监督学习:

编辑

半监督学习特点:有的有标签,有的数据是没有标签的。

2.7强化学习—最佳行为

强化学习:强化学习总是在寻找什么样的行动才是最佳的?强化学习针对的对象是机器或者机器人。​

三.机器学习的整体流程​

编辑

3.1机器学习基本概念-数据集

  1. 数据集:在机器学习任务中使用的一组数据,其中的每一个数据称为一个样本。反映样本在某方面的表现或性质的事项或属性称为特征。​
  2. 训练集:训练过程中使用的数据集,其中每个训练样本称为训练样本。从数据中学得模型的过程称为学习(训练)。​
  3. 测试集:学得模型后,使用其进行预测的过程称为测试,使用的数据集称为测试集,每个样本称为测试样本。​

3.2数据处理的重要性

训练集:训练过程中使用的数据集,其中每个训练样本称为训练样本。从数据中学得模型的过程称为学习(训练)。

编辑

3.3数据清理

大部分的机器学习模型所处理的都是特征,特征通常是输入变量所对应的可用于模型的数值表示。​

大部分情况下,收集得到的数据需要经过预处理后才能够为算法所使用,预处理的操作主要包括以下几个部分:​

  1. 数据过滤​
  2. 处理数据缺失​
  3. 处理可能的异常、错误或者异常值​
  4. 合并多个数据源数据​
  5. 数据汇总​

3.4脏数据

真实的数据中通常会出现一些数据质量问题:​

  1. 不完整:数据中缺少属性或者包含一些确实的值。​
  2. 多噪音:数据包含错误的记录或者异常点。​
  3. 不一致:数据中存在矛盾的、有差异的记录。​

编辑

3.5数据的转化

对数据进行初步的预处理后,需要将其转换为一种适合机器学习模型的表示形式,以下是一些常见的数据转化的形式。​

  1. 在分类问题中,将类别数据编码成为对应的数值表示(哑编码)。​
  2. 数值数据转换为类别数据以减少变量的值(对年龄分段)。​
  3. 其他数据
  1. 从文本数据中提取有用的数据(一般使用词袋法、TF-IDF或者word2vec)。​
  2. 处理图像数据(颜色空间,灰度化,几何变化,haar特征等,图像增强)。​
  1. 特征工程​
  2. 对特征进行归一化、标准化,以保证同一模型的不同输入变量的值域相同。​
  3. 特征扩充:对现有变量进行组合或转换以生成新特征,比如平均数。​

四.其他机器学习的重要方法​

4.1机器学习训练方法-梯度下降

梯度下降法的优化思想是用当前位置负梯度方向作为搜索方向,该方向为当前位置最快下降方向,梯度下降中越接近目标值,变化量越小,公式如下:​

编辑

编辑

批量梯度下降(BGD),使用所有数据集中的样本(共m个样本)在当前点的梯度之和来对权重参数进行更新操作。​

编辑

随机梯度下降(SGD),随机选取一个数据集中的样本在当前的梯度来对权重参数进行更新操作。​

编辑

小批量梯度下降(MBGD),结合BGD与SGD的特性,每次选择数据集中n个样本的梯度来对权重参数进行更新操作。​

编辑

4.2模型中的参数与超参数

模型中不但有参数,还有超参数的存在。其目的是为了让模型能够学习到最佳的参数。​

  1. 参数有模型自动学习​
  2. 超参数由人工手动设定​

编辑

4.3超参数的调节方法-网格搜索

  1. 网格搜索尝试穷举搜索所有可能的超参数组合形成超参数值网格。​
  2. 在实践中,人工指定的范围和步骤之间的值。​

编辑

网格搜索是一种昂贵且耗时的方法:​

这种方法在超参数数目相对较少的情况下工作良好。因此一般机器学习算法中可行,但在神经网络等情况下就行不通了。​

常见算法​

编辑

5.1线性回归

线性回归的模型函数如下。其中w为权重参数, b为偏置, x表示样本​

编辑

模型预测与真实值的关系如下。其中y表示真实值,

编辑

表示误差。​

编辑

5.2线性回归扩展-多项式回归

多项式回归,是线性回归的拓展,通常数据集的复杂度会超过用一条直线来拟合的可能性,也就是使用原始的线性回归模型会明显欠拟合。解决的办法就是使用多项式回归。

编辑

编辑

5.3逻辑回归扩展-Softmax函数

Softmax为多类问题中的每个分类分配了概率值。这些概率加起来等于1。​

Softmax可能产生一个属于特定类别的形式可能以如下方式展示​

编辑

5.4决策树

决策树:决策树(decision tree)是一个树结构(可以是二叉树或非二叉树)。其每个非叶节点表示一个特征属性上的测试,每个分支代表这个特征属性在某个值域上的输出,而每个叶节点存放一个类别。使用决策树进行决策的过程就是从根节点开始,测试待分类项中相应的特征属性,并按照其值选择输出分支,直到到达叶子节点,将叶子节点存放的类别作为决策结果。​

编辑

5.5支持向量机

支持向量机(support vector machine,SVM)是一种二分类模型,它的基本模型是定义在特征空间上的间隔最大的线性分类器。SVM还包括核技巧,这使它成为实质上的非线性分类器。支持向量机的学习算法是求解凸二次规划的最优化算法。​

编辑

5.6K最邻近算法

K最近邻(k-Nearest Neighbor, KNN)分类算法,是一个理论上比较成熟的方法,也是最简单的机器学习算法之一。该方法的思路是:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别​

编辑

六.案例​

假设我们有一个数据集,给出了来自某城市房屋销售的21,613套住房的居住面积利价格。根据这样的数据,我们可以预测该城市其他房屋的价格。​

编辑

分析:​

编辑

线性回归的目标是找到一条最符合数据集的直线。​

线性回归是参数型模型,我这里我们要学习参数w0,w1。当这两个参数被找到后最好的模型也显现出来了。​

编辑

为了寻找最佳参数,我们需要构建损失函数(Loss function),并找到当损失函数到达最小的时候的参数值。​

6.1梯度下降算法

梯度下降算法通过选代法来找到一个函数的最小值。​

梯度下降算法的目标是在损失函数上随机一个初始点,然后根据负梯度方向,找到损失函数的全局最小值,此时的参数值就是我们要求的最佳参数值​

编辑

编辑

迭代的过程:​

编辑

当训练完成之后,我们需要使用测试集进行测试,确保模型的泛化能力。​

如果出现过拟合,我们可以使用带有正则项的LASSO回归或者Ridgel回归,并调节超参数。​

如果是欠拟合,我们可以使用更加复杂的回归模型,比如GBDT。​

注意:真实的数据也同时注意到数据清理与特征工程的作用。​

编辑

编辑

主要介绍了机器学习的定义、分类与要解决的主要问题,同时对机器学习的整体流程(数据收集,数据清理,特征提取,模型训练,模型训练与评估,模型部署)、常见的机器学习算法(线性回归,逻辑回归,决策树,SVM,朴素贝叶斯,KNW,集成学习,K-meas等),梯度下降算法,超参数等机器学习重要的知识点进行了梳理与学习。​​​

猜你喜欢

转载自juejin.im/post/7112655603448676365