实际上处于弱人工智能范畴
数据结构:
- 树形的深度优先搜索
- 广度优先搜索
- 排序
- 动态规划
- 最长公共子序列
- 字符串的最长公共子串
- 递归:
- 二叉树的翻转
书籍推荐:模式识别与机器学习、统计学习方法。
一、机器学习基础
1. 按学习方式分类
- 监督学习:带着标签去学习,告诉它这个是什么,那个是什么。
- 无监督学习(以聚类为代表)
- 半监督学习
- 强化学习
2. 学习结构分类
- 回归
- 分类
注:主流的学习技术是监督学习,半监督学习和强化学习在通用场景下效果不是太好。
3. 基本概念
- 训练集:用来训练模型,得到模型的数据集
- 测试集:用来测试所得到的模型的效果的数据集,从训练数据中取出(自助法和交叉验证法)
- 目标函数:用来评价是否能达到某种要求的函数,如线性回归中,要求到直线距离的平方和的函数。
- 损失函数:对函数模型的复杂程度的惩罚函数,越简单越好
- 优化方法:一阶、二阶优化,梯度下降等
- 拟合、欠拟合与过拟合:没有学到大部分东西和学到了过多噪声部分的东西,所以需要人来调参,使之到达一定效果
- 准确率:在测试集中的准确率
- 泛化性能:实际应用时的预测性能
二、机器学习的模型
1. 线性回归
简介:
线性回归是最基础的回归算法。
数学模型:
y=a*x + b
目标函数:
到直线距离的平方和的函数,对该函数求极值,达到一定的要求。目标函数的极值求解方法->随机梯度下降:每次对一小批数据进行梯度更新,采用不同的步长。
准确度评估:连续数据通过方差评估,离散数据通过accuracy、precision、recall等几种评估。
用途:
可以用来做回归和分类。
特点:
模型简单,计算量小,对误差敏感,对数据的预处理要求较高。
Logistic回归模型
简介:
与线性回归类似,在线性回归的基础上根据与分界线的距离给每个点加了权重,把区分的重点转移到分界线的附近,越远点,权重越小。
ont-hot编码:
需要对所有的区间段进行编码,只有0和1,即是和否,即大于分界线我就干什么,小于分界线就干什么。
用途:
可以用来做回归和分类。
2. 决策树
简介:
决策树能用来做回归,也能用来做分类,是一类算法的总称。是对数据进行分类的树形模型,可以是二叉树和非二叉树,内部结点(绿色)表示一个特征或者属性,叶子(黄色)表示一个结果类,在回归任务中,以叶子结点的值代表输出值。
信息熵:
表征了信息不确定的程度,分类属性应当以最高熵减为标准进行。
信息熵:$S=-p(x)lnp(x)$
常用决策树算法
ID3:
选择属性
分裂出三个结点,选择其他属性继续划分
直到新节点的类别均一致或特征全部用尽为止。但这样并不好,会学进来噪音,因此往往会限制树高。
C4.5:采用信息增益率,解决了ID3中当以物品ID为首选属性时,泛化性能差的缺陷。
随机森林:
随机树属于弱分类器的bagging策略,随机森林是强分类器,通过
- bootstrap采样
- 随机选择特征,选择最佳属性建立决策树
- 形成随机森林,通过投票获得结果
考虑利用已有信息,每棵树都在之前的结果上拟合残差,使用一阶导得到GBDT,使用二阶导得到xgboost
- GBDT()
- XGboost()
总结
- 决策树是一类具有可解释性,泛化性能较好的模型。
- 精度高,无需特征归一化,能处理缺失值共线性特征
- 适合低维度稠密数据,不适合高纬度稀疏数据
- 决策树类算法兼具特征选择能力
- 常用于金融、推荐
3. 朴素贝叶斯
简介:是最基本的文本分类模型。马尔科夫假设约束较强,该模型能力有限。是基于词袋的方式,因此没有词之间顺序的信息,但很简单。
自然语言处理
切词是自然语言处理中最基础最重要的工作,切词是否准确直接影响文本处理的精度。解决切词的办法:语言模型、深度学习。
文本分类
以垃圾邮件和非垃圾邮件为例:但由于有些词的概率为1或者0,因此需要拉普拉斯平滑。
三、深度学习
1. 简介
2. 框架
TensorFlow(张量流)
3. 前馈神经网络(BP网络)
每一个⚪是一个神经元,每一个神经元都有一个输出权重,相当于本层与线上的权重矩阵相乘,得到下一层结果,
BP:反向传播,用来求解神经网络中权重矩阵W的参数,通过测试数据得到结果与预期结果的损失来更新矩阵的参数。
- 数据量要够,不能欠拟合
- 只能学习到与学习内容相关的知识
- 梯度下降的方法求极值。
4. 卷积神经网络(CNN)
词向量:
具有相同或类似上下文信息的词,应该具有相同的语义,语义相近的词的之间欧式距离小
语义插入(word embedding)
将one-hot编码的词量压缩到256维或者更小,每一维都认为表达了某一方面的语义,这样就解决了语义相似和维度灾难的问题,本质上是无监督学习。
训练过程
词向量应用
- 语言学:类比任务(syn、sem),相似度计算(ws)、同义词(tfl)
- 作为任务特征:情感分析(avg)、命名实体识别(NER)
- 作为某个任务神经网络模型的初始值:情感分析(cnn)、词性标注(pos)
5. 循环神经网络(RNN-重要)
CNN没有记忆功能,而RNN具有记忆功能
基本原理
lstm(long short-time memory)
简介:
lstm是一种特殊的RNN,如下图,单层的lstm只有一个lstm单元,展开是虚拟的,每一个时间步参数是共享的。不像RNN,lstm有两个隐状态。
lstm内部有三个门,输入们、输出门、遗忘门,不断更新优化参数,在上下文语义中,决定了什么样的词要忘记,什么样的词要记住。
理解:
应用
- encoder-decoder结构:
- 文本:机器翻译、文档总结、对话系统
- 图像:图像描述、视觉回答、视觉对话
应用举例
一般对结果抽取top3 top100等,根据自己所需的数据量。
- 为文章配图
- 对已有歌曲及评论进行情感分析,分析后,为新的歌曲刷评论。新的电影也如此
- 对商品的评论进行过滤
未完待续。。。
...
...
本文为作者原创文章,未经作者允许不得转载。