AI 基础(ML与DL)

Posted by Beyonderwei on 2020-06-13
Words 1.9k and Reading Time 6 Minutes
Viewed Times

实际上处于弱人工智能范畴

数据结构:

  1. 树形的深度优先搜索
  2. 广度优先搜索
  3. 排序
  4. 动态规划
    • 最长公共子序列
    • 字符串的最长公共子串
  5. 递归:
    • 二叉树的翻转

书籍推荐:模式识别与机器学习、统计学习方法。

一、机器学习基础

1. 按学习方式分类

  • 监督学习:带着标签去学习,告诉它这个是什么,那个是什么。
  • 无监督学习(以聚类为代表)
  • 半监督学习
  • 强化学习

2. 学习结构分类

  • 回归
  • 分类

​ 注:主流的学习技术是监督学习,半监督学习和强化学习在通用场景下效果不是太好。

3. 基本概念

  • 训练集:用来训练模型,得到模型的数据集
  • 测试集:用来测试所得到的模型的效果的数据集,从训练数据中取出(自助法和交叉验证法)
  • 目标函数:用来评价是否能达到某种要求的函数,如线性回归中,要求到直线距离的平方和的函数。
  • 损失函数:对函数模型的复杂程度的惩罚函数,越简单越好
  • 优化方法:一阶、二阶优化,梯度下降等
  • 拟合、欠拟合与过拟合:没有学到大部分东西和学到了过多噪声部分的东西,所以需要人来调参,使之到达一定效果
  • 准确率:在测试集中的准确率
  • 泛化性能:实际应用时的预测性能

二、机器学习的模型

1. 线性回归

  1. 简介:

    线性回归是最基础的回归算法。

  2. 数学模型:

    y=a*x + b

  3. 目标函数:

    到直线距离的平方和的函数,对该函数求极值,达到一定的要求。目标函数的极值求解方法->随机梯度下降:每次对一小批数据进行梯度更新,采用不同的步长。

  4. 准确度评估:连续数据通过方差评估,离散数据通过accuracy、precision、recall等几种评估。

  5. 用途:

    可以用来做回归和分类。

  6. 特点:

    模型简单,计算量小,对误差敏感,对数据的预处理要求较高。

Logistic回归模型

  1. 简介:

    与线性回归类似,在线性回归的基础上根据与分界线的距离给每个点加了权重,把区分的重点转移到分界线的附近,越远点,权重越小。

  2. ont-hot编码:

    需要对所有的区间段进行编码,只有0和1,即是和否,即大于分界线我就干什么,小于分界线就干什么。

  3. 用途:

    可以用来做回归和分类。

2. 决策树

简介:

决策树能用来做回归,也能用来做分类,是一类算法的总称。是对数据进行分类的树形模型,可以是二叉树和非二叉树,内部结点(绿色)表示一个特征或者属性,叶子(黄色)表示一个结果类,在回归任务中,以叶子结点的值代表输出值。

信息熵:

表征了信息不确定的程度,分类属性应当以最高熵减为标准进行。

信息熵:$S=-p(x)lnp(x)$

常用决策树算法

  1. ID3:

    • 选择属性

    • 分裂出三个结点,选择其他属性继续划分

    • 直到新节点的类别均一致或特征全部用尽为止。但这样并不好,会学进来噪音,因此往往会限制树高。

  2. C4.5:采用信息增益率,解决了ID3中当以物品ID为首选属性时,泛化性能差的缺陷。

随机森林:

随机树属于弱分类器的bagging策略,随机森林是强分类器,通过

  • bootstrap采样
  • 随机选择特征,选择最佳属性建立决策树
  • 形成随机森林,通过投票获得结果

考虑利用已有信息,每棵树都在之前的结果上拟合残差,使用一阶导得到GBDT,使用二阶导得到xgboost

  1. GBDT()
  2. XGboost()

总结

  • 决策树是一类具有可解释性,泛化性能较好的模型。
  • 精度高,无需特征归一化,能处理缺失值共线性特征
  • 适合低维度稠密数据,不适合高纬度稀疏数据
  • 决策树类算法兼具特征选择能力
  • 常用于金融、推荐

3. 朴素贝叶斯

简介:是最基本的文本分类模型。马尔科夫假设约束较强,该模型能力有限。是基于词袋的方式,因此没有词之间顺序的信息,但很简单。

自然语言处理

切词是自然语言处理中最基础最重要的工作,切词是否准确直接影响文本处理的精度。解决切词的办法:语言模型、深度学习。

文本分类

以垃圾邮件和非垃圾邮件为例:但由于有些词的概率为1或者0,因此需要拉普拉斯平滑。

三、深度学习

1. 简介

2. 框架

TensorFlow(张量流)

3. 前馈神经网络(BP网络)

每一个⚪是一个神经元,每一个神经元都有一个输出权重,相当于本层与线上的权重矩阵相乘,得到下一层结果,

BP:反向传播,用来求解神经网络中权重矩阵W的参数,通过测试数据得到结果与预期结果的损失来更新矩阵的参数。

  1. 数据量要够,不能欠拟合
  2. 只能学习到与学习内容相关的知识
  3. 梯度下降的方法求极值。

4. 卷积神经网络(CNN)

词向量:

具有相同或类似上下文信息的词,应该具有相同的语义,语义相近的词的之间欧式距离小

语义插入(word embedding)

将one-hot编码的词量压缩到256维或者更小,每一维都认为表达了某一方面的语义,这样就解决了语义相似和维度灾难的问题,本质上是无监督学习

训练过程

词向量应用

  1. 语言学:类比任务(syn、sem),相似度计算(ws)、同义词(tfl)
  2. 作为任务特征:情感分析(avg)、命名实体识别(NER)
  3. 作为某个任务神经网络模型的初始值:情感分析(cnn)、词性标注(pos)

5. 循环神经网络(RNN-重要)

CNN没有记忆功能,而RNN具有记忆功能

基本原理

lstm(long short-time memory)

简介:

lstm是一种特殊的RNN,如下图,单层的lstm只有一个lstm单元,展开是虚拟的,每一个时间步参数是共享的。不像RNN,lstm有两个隐状态。

lstm内部有三个门,输入们、输出门、遗忘门,不断更新优化参数,在上下文语义中,决定了什么样的词要忘记,什么样的词要记住。

理解:

应用
  • encoder-decoder结构:
    • 文本:机器翻译、文档总结、对话系统
    • 图像:图像描述、视觉回答、视觉对话
应用举例

一般对结果抽取top3 top100等,根据自己所需的数据量。

  1. 为文章配图
  2. 对已有歌曲及评论进行情感分析,分析后,为新的歌曲刷评论。新的电影也如此
  3. 对商品的评论进行过滤

未完待续。。。


本文为作者原创文章,未经作者允许不得转载。

...

...

00:00
00:00