胡萝卜(2)

目录

  • 目录
    • 1、MLP的BP过程
    • 2、maxpool层BP怎么做的
    • 3、opencv遍历像素的方式,讲两种/li>
    • 4、传统图像处理有了解过吗,比如去噪 特征提取
    • 5、问在linux下写过代码吗问用了什么软件工具
    • 6、LDA(狄利克雷分布)
    • 7、PR曲线、ROC曲线
    • 8、特征工程
    • 9、数据预处理的方法
    • 10、特征选择的方法有哪些
    • 11、写K-means、GMM的公式
    • 12、CNN与RNN的区别
    • 13、你所知道的距离度量方式、损失函数

1、MLP的BP过程

MLP(multilayer perceptron)多层神经网络

1、单层神经网络的BP算法

反向误差传播

这里写图片描述

3、MLP(multilayer perceptron)的BP

  • 无监督预训练 RBM
  • 有监督微调 BP

RBM受限玻尔兹曼机
利用1步CD算法

这里写图片描述

查准率P和查全率R分别定义为:

这里写图片描述

若一个学习器的P-R曲线被另一个学习器完全”包住”,则后者的性能优于前者。当存在交叉时,可以计算曲线围住面积,但比较麻烦,平衡点(查准率=查全率,BEP)是一种度量方式。

但BEP还是过于简化了些,更常用的是F1和Fp度量,它们分别是查准率和查全率的调和平均和加权调和平均。定义如下

这里写图片描述

下图为ROC曲线示意图,因现实任务中通常利用有限个测试样例来绘制ROC图,因此应为无法产生光滑曲线,如右图所示。

这里写图片描述
1、特征工程是什么

有这么一句话在业界广泛流传:数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已。那特征工程到底是什么呢名思义,其本质是一项工程活动,目的是最大限度地从原始数据中提取特征以供算法和模型使用。通过总结和归纳,人们认为特征工程包括以下方面:

这里写图片描述

10、特征选择的方法有哪些

当数据预处理完成后,我们需要选择有意义的特征输入机器学习的算法和模型进行训练。通常来说,从两个方面考虑来选择特征:

  • 特征是否发散:如果一个特征不发散,例如方差接近于0,也就是说样本在这个特征上基本上没有差异,这个特征对于样本的区分并没有什么用。
  • 特征与目标的相关性:这点比较显见,与目标相关性高的特征,应当优选选择。除方差法外,本文介绍的其他方法均从相关性考虑。

根据特征选择的形式又可以将特征选择方法分为3种:

  • Filter:过滤法,按照发散性或者相关性对各个特征进行评分,设定阈值或者待选择阈值的个数,选择特征。
  • Wrapper:包装法,根据目标函数(通常是预测效果评分),每次选择若干特征,或者排除若干特征。
  • Embedded:嵌入法,先使用某些机器学习的算法和模型进行训练,得到各个特征的权值系数,根据系数从大到小选择特征。类似于Filter方法,但是是通过训练来确定特征的优劣。

我们使用sklearn中的feature_selection库来进行特征选择。

这里写图片描述
高斯混合模型GMM:
这里写图片描述

12、CNN与RNN的区别

参考:https://www.leiphone.com/news/201702/ZwcjmiJ45aW27ULB.htmliewType=weixin

如果说DNN特指全连接的神经元结构,并不包含卷积单元或是时间上的关联。因此,如果一定要将DNN、CNN、RNN等进行对比,也未尝不可。

2006年,Hinton利用预训练方法缓解了局部最优解问题,将隐含层推动到了7层,神经网络真正意义上有了“深度”,由此揭开了深度学习的热潮。这里的“深度”并没有固定的定义——在语音识别中4层网络就能够被认为是“较深的”,而在图像识别中20层以上的网络屡见不鲜。

  • 为了克服梯度消失,ReLU、maxout等传输函数代替了sigmoid,形成了如今DNN的基本形式。单从结构上来说,全连接的DNN和多层感知机是没有任何区别的。

  • 对于CNN来说,并不是所有上下层神经元都能直接相连,而是通过“卷积核”作为中介。同一个卷积核在所有图像内是共享的,图像通过卷积操作后仍然保留原先的位置关系。

这里写图片描述
我们可以看到在隐含层节点之间增加了互连。为了分析方便,我们常将RNN在时间上进行展开,得到如图6所示的结构:
这里写图片描述

13、你所知道的距离度量方式、损失函数

参考:
http://blog.sina.com.cn/s/blog_6f611c300101c5u2.html
http://blog.csdn.net/google19890102/article/details/50522945
https://www.cnblogs.com/shixiangwan/p/7953591.html

1、距离度量

  • 距离函数种类:欧式距离、曼哈顿距离、明式距离(闵可夫斯基距离)、马氏距离、切比雪夫距离、标准化欧式距离、汉明距离、夹角余弦等
  • 常用距离函数:欧式距离、马氏距离、曼哈顿距离、明式距离

马氏距离的优点:与量纲无关,排除变量之间的相关性干扰

2、损失函数

  • log对数 损失函数(逻辑回归)
  • 平方损失函数(最小二乘法)
  • 指数损失函数(AdaBoost)
  • Hinge损失函数(SVM)
  • 0-1损失函数
  • 绝对值损失函数

损失函数(loss function)是用来估量你模型的预测值f(x)与真实值Y的不一致程度,它是一个非负实值函数,通常使用L(Y, f(x))来表示,损失函数越小,模型的鲁棒性就越好。

损失函数是经验风险函数的核心部分,也是结构风险函数重要组成部分。模型的结构风险函数包括了经验风险项和正则项。

(1)log对数损失函数(逻辑回归)
在逻辑回归的推导中,它假设样本服从伯努利分布(0-1分布),然后求得满足该分布的似然函数。

log函数是单调递增的,(凸函数避免局部最优)

在使用梯度下降来求最优解的时候,它的迭代式子与平方损失求导后的式子非常相似
(2)平方损失函数(最小二乘法, Ordinary Least Squares)
最小二乘法是线性回归的一种,OLS将问题转化成了一个凸优化问题。

在线性回归中,它假设样本和噪声都服从高斯分布(为什么假设成高斯分布呢实这里隐藏了一个小知识点,就是中心极限定理),最后通过极大似然估计(MLE)可以推导出最小二乘式子。

为什么它会选择使用欧式距离作为误差度量呢(即Mean squared error, MSE),主要有以下几个原因:

  • 简单,计算方便;
  • 欧氏距离是一种很好的相似性度量标准;
  • 在不同的表示域变换后特征性质不变。

(3)指数损失函数(AdaBoost)
学过Adaboost算法的人都知道,它是前向分步加法算法的特例,是一个加和模型,损失函数就是指数函数。在Adaboost中,经过m此迭代之后,可以得到fm(x)

这里写图片描述

下面来看看几种损失函数的可视化图像,对着图看看横坐标,看看纵坐标,再看看每条线都表示什么损失函数,多看几次好好消化消化。

这里写图片描述
参数越多,模型越复杂,而越复杂的模型越容易过拟合

来源:九方先生

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2018年2月4日
下一篇 2018年2月4日

相关推荐