人工智能导论入门(二.机器学习基础)

2021-05-18 16:22:51 浏览数 (1)

首先我们要明白 人工智能 机器学习 深度学习的关系。

其中 人工智能 > 机器学习 > 深度学习

代码语言:javascript复制
                 什么是机器学习?

从字面意思来理解的话,就是使得“机器”具有学习的能力,从而能够自主工作,解放人类生产力。

那么官方解释:专门研究计算机怎么模拟或实现人类的学习行为,以或得新知识或技能。

代码语言:javascript复制
                机器学习的一般过程

从上图我们可以得知所谓的机器学习就是:让机器从大量数据或者历史经验中,学习某种习性-----找到一个适合的函数,然后对新的场景中的数据进行预测。

代码语言:javascript复制
                  机器学习发展历史
代码语言:javascript复制
                 机器学习应用场景

1.搜索引擎

2.信息推荐

3.图片识别

4.用户分析

5.机器翻译,摘要生成

6.自动驾驶

机器学习方法

1.有监督学习(supervised learning):从给定的有标注的训练数据集中学习出一个函数(模型参数),然后用这个函数去预测新的数据得到结果。
  1. 常见任务有:分类回归
  2. 分类问题输出的是物体所属的类别,回归问题输出的是物体的值。

2.无监督学习(unsupervised learning):没有标注的训练数据集,根据样本之间的统计规律对样本数据进行分析。
  1. 常见任务有:聚类
  2. 所谓聚类,“物以类聚”。就是按照特征分类

3.半监督学习:结合(少量)标注训练数据和(大量的)未标注数据来进行数据的分类学习。
  1. 这里不常见,不过由于数据标注是一个繁琐,枯燥又要求一定的技术水平。所以实现智能标注是未来的一大趋势。
  2. 近期百度EasyDL平台实现了智能标注,原理:先标注少量数据训练一个较为优良的模型,然后利用这个模型去标注未标注的数据集。(套娃操作)

4.强化学习:外部环境对输出只给出评价信息而非正确答案,学习机通过强化受奖励的动作来改善自身的性能。
  1. 还记得高中生物课本中:狗狗闻到肉会流口水,铃声一响,喂狗狗吃肉…如此一段时间下来,铃声一响,狗狗就流口水。(好像是这样子的)

5.多任务学习:把多个相关的任务放在一起同时学习。
  1. 现实世界中很多问题不能分解为一个一个独立的子问题,并且这样子忽略了问题之间所包含的丰富的关联信息。多任务学习就是为了解决这个问题而诞生的。

机器如何学习?

1.数据预处理
  • 数据清洗,数据采样,数据拆分

2.特征工程
  • 特征编码,特征选择,特征降维

3.数据建模
  • 归回问题,分类问题,聚类问题

4.结果评估
  • 查准率,查全率,F1值,PR曲线

简单解释下某些名词

所谓 数据清洗 ,相信搞过项目的都不陌生。这里我简单解释一下,就是在采集到数据集后,我们需要对数据集进行处理,去掉不好的数据集。


什么是不好的数据集?

  • 模糊的数据,大量重复的数据(去重)等等。

数据采样的数量要求

  • 数据集各类别分类平均。这里假设你想做一个简单的猫狗识别,那么猫的数据集你有1000 ,狗的数据集你只有1。这显然是不合理的!

如何进行数据拆分

  • 拥有一点机器学习知识的人都知道,我们在机器学习中需要把数据划分为3份。
    • 训练数据集:用来训练,提取特征,得到模型。
    • 验证数据集:辅助构造模型,构造模型过程中评估模型,提供无偏估计,进而调整模型参数。
    • 测试数据集:用来评估训练好的最终模型的性能。
  • 常用的拆分方法:
    • 留出法:通常选取 70%数据作为训练集,30%数据作为测试集。
    • K-折交叉验证法:将数据集划分为k个大小相似的互斥子集。保证每个子集数据分布较为一致。如此,就可以获取k组训练-测试集,从而进行k次训练和测试,k通常取值为10.

特征编码

  • 众所周知,图片在计算机看来不过数字。那么在一幅图片进行特征编码即为根据不同的特征赋予其一定的值。(与RGB有关)

特征选择

  • 还是假设我们做猫狗识别,那么猫猫跟狗狗的图片是具有大量的属性特征的!我们有必要把所有的特征都用上去嘛?答案是否定的,我们只需要提取关键主干特征,即影响因子大的特征,忽略一些无关紧要的属性特征。如此一来不仅仅可以降低运算复杂度。还可以一定程度上提高模型精度。

特征降维

  • 特征选择完成后,会出现特征矩阵过大,导致计算量大,训练时间长,因此降低特征矩阵维度 也是必不可少的。
    • 主成分分析(PCA):将原始特征空间映射到彼此正交的特征向量空间,在非满秩的情况下使用SVD分解来构建特征向量。
    • 线性判别分析(LDA):给出一个标注了类别的数据集,投影到了一条直线之后,能够使得点尽量的按类别区分开。

回归问题

  • 回归分析用于预测输入变量(自变量)和输出变量(因变量)之间的关系。直观来说回归问题等价于函数拟合,选择一条函数曲线使其很好地拟合已知数据且很好地预测未知数据。

线性回归

  • 线性回归算法假设特征和结果满足线性关系。这就意味着可以将输入项分别乘以一些常量,再将结果加起来得到输出。

分类问题

  • 分类问题监督学习的一个核心问题,他从数据中学习一个分类决策函数分类模型(分类器)。对新的输入进行输出预测,输出变量取有限个离散值。
    • 例如文本类分类:二分类问题:区分垃圾邮件,正常邮件
    • 多分类问题:文本分为 科技,军事,娱乐。
  • 核心算法决策树,贝叶斯,SVM

聚类问题

  • 聚类问题是无监督学习的问题。聚类算法感知样本间的相似度,进行类别归纳,对新的输入进行输出预测,输出变量取有限个离散值。

46

0 人点赞