机器学习基本理论总结

2018-05-20  本文已影响41人  _龙雀

视频地址:http://www.mooc.ai/course/41 莫烦《机器学习理论基础》

1.机器学习 各类方法

1.1 什么是机器学习

1.2 什么是神经网络

神经网络基本结构

1.3 什么是卷积神经网络 CNN

卷积神经网络示意图

1.4 什么是循环神经网络 RNN

RNN示意图
  1. 多对一,分类问题:例如文本情绪识别,输入文文本序列,输出为情绪类别标签。
多对一RNN
  1. 一对多,例如生成图片描述,输入为一张图片,输出为一段文本序列。


    一对多
  2. 多对多,例如语言翻译,输入为一段文本序列,输出也是。


    多对多RNN

1.5 什么是LSTM RNN

普通RNN,在传输误差的时候,存在如下问题

LSTM内部结构:跟普通RNN相比,多了一条控制全局的控制主线。如果分线对主线十分重要,会按重要性排序对分线剧情进行分析,忘记机制会利用分支更新主线内容。

1.6 自编码神经网络

自编码形象模拟

自编码器类似于将图片打码之后再还原,即有一个压缩 - 解压的过程,可以达到降维的目的。


自编码结构

在深度学习中,一般只用到前半部分,将从高维数据中提取到的精髓传入神经网络。

2 机器学习 小窍门

2.1 如何检验神经网络

如何找到问题出在哪?是数据问题还是参数问题?首先按一定比例将原始数据划分为训练集与测试集,根据测试集上的表现评价神经网络

2.2 为什么要特征标准化(归一化、正常化)

标准化案例

eg.根据“离公司的距离”与“面积”构建线性模型预测放假,由于“离公司的距离”取值一般在10以内,而“面积”可以由0到两三百,“离公司的距离”略微修改数值便能造成很大的影响,而“面积”相反,需要较大的改动。为了加快学习速度以及避免扭曲的学习,需要进行标准化。

对于gradient descent算法来说,learning rate的大小对其收敛速度至关重要。如果feature的scale不同,理论上不同的feature就需要设置不同的learning rate,但是gradient descent只有一个learning rate,这就导致不同feature的收敛效果不同,从而影响总体的收敛效果。所以在求解模型之前归一化不同feature的scale,可以有效提高gradient descent的收敛速。

常用的标准化方法:


标准化方法

归一化与标准化的区别?

实际上,在中文中由于大家混用,标准化与归一化常常代指如下四种Feature scaling(特征缩放)方法:


标准化与归一化

2.3 怎样区分好特征

如图,黄色或者白色并不能区分初金毛和吉娃娃,如果使用该单一特征则毫无意义。而身高则有些明显的分界线,如果大于40cm完全可以判定为金毛,这才是有意义的特征。

2.4 为什么需要激活函数

激活函数的出现是为了解决现实生活中不能用线性函数表示的问题,很多时候要描述的状况是非线性的。激活函数,能将原有的线性特征改变为非线性特征。
常见的激活函数如下:


image.png

激活函数的选择问题:

激活函数的多种选择

一般,CNN推荐relu,RNN推荐tanh或者relu

2.5 什么是过拟合

过拟合意味着机器学习模型变得自负。

误差越大不一定越好,过拟合意味着虽然完美的拟合了训练集把误差降到了最低,但是测试集上表现差。

2.6 如何加速神经网络训练

SGD 到 Momentum

2.7 如何处理不均衡数据

不均衡时机器往往会全部预测为多数的一类,且这样也能达到较高的准确率。


不均衡数据

处理方法:

2.8 为什么要批标准化

批标准化与普通标准化类似,将分散的数据统一的一种方法,使得数据具体统一规格,让机器更容易学得规律。

输入层:如图,WX2取较大的值,WX1取较小的值,在经过激活函数tanh的输出之后,两者均逼近于1,可见tanh对较大的W值的大小不再敏感。


image.png

隐藏层:在隐藏层之后添加一层BN。计算结果的值的分布对激活函数相当重要,如图分布在中间能更有效的进行传递,BN之后的数据能更有效的利用tanh的非线性化过程。


是否标准化的对比1

如图BN之前输出值不是1就是-1,标准化之后输出值在各个区间均有分布。


是否标准化的对比2

BN: 加上一道反工序。在标准化之后自己学着扩展与平移。让神经网络自己判断标准化是否起到了优化作用,如果没有则进行抵消。


image.png BN的作用:让每一层的值在有效的范围内传递下去。 image.png
上一篇 下一篇

猜你喜欢

热点阅读