机器学习|神经网络

全文共1972字,预计阅读时间6分钟。

下面是周志华老师《机器学习》第五章:神经网络的学习笔记,其中涉及了一些神经网络的基础,请查收:)

前面知识点的回顾

  1. 应对决策树过拟合的预剪枝和后剪枝的基本流程?分别有何特点?

    基本思想:在验证集上,比较剪枝前后,划分精度是否提高,如果提高则执行剪枝操作。

    区别:预剪枝是在决策树构建过程中提前停止生长,可能带来欠拟合的风险。

    后剪枝是在决策树构建完成后进行的剪枝,是全局优化的方法。(常用)

  2. 决策树中,如何对连续属性划分?

    二分法

  3. 决策树中,如何处理存在缺失值的情况?

    基本思路:样本赋权,权重划分

机器学习|决策树


什么是神经网络?

“神经网络是由具有适应性的简单单元组成的广泛并行互连的网络,它的组织能够模拟生物神经系统对真实世界物体所作出的交互反应“[Kohonen, 1988]

“简单单元”->感知器(神经元)

感知器原理

机器学习|神经网络

思考1:感知器的决策边界

思考2:感知器的激活函数

理想激活函数是阶跃函数,0表示抑制神经元而1表示激活神经元

阶跃函数具有不连续、不光滑等不好的性质,常用的是 Sigmoid 函数

本质上来说就是logistics回归

机器学习|神经网络

sigmoid函数有个很好的性质

那么

所以它的导数可以看为是正负几率的乘积

思考3:感知器还能做什么?

机器学习|神经网络


多层前馈神经网络

多层网络:包含隐层的网络

前馈网络:神经元之间不存在同层连接也不存在跨层连接(不存在环结构)

隐层和输出层神经元亦称“功能单元”(functional unit)

机器学习|神经网络

多层前馈网络有强大的表示能力(“万有逼近性”)

只需一个包含足够多神经元的隐层,多层前馈神经网络就能以任意精度逼近任意复杂度的连续函数[Hornik et al.,1989]

但是,如何设置隐层神经元数是未决问题。实际常用“试错法”

深度神经网络

思考:深度神经网络好的原因?

特征提取:将原始观测数据变换到新的数据空间,使得学习和识别更容易,效果更好。

其实神经网络就是做了以前需要人工操作的特征提取工作,也叫做端到端学习(End-to-End)

要解决非线性可分问题,需考虑使用多层功能神经元

神经网络中的参数如何学习?

梯度下降策略

机器学习|神经网络

基本思想::我们从山上的某一点出发,找一个最陡的坡走一步(也就是找梯度方向),到达一个点之后,再找最陡的坡,再走一步,直到我们不断的这么走,走到最“低”点。

梯度下降的种类

批次梯度下降(Batch Gradient Descent,BGD)

整个数据集

优点:全局最优解;易于并行实现

缺点:当样本数量很大时,训练过程会很慢

机器学习|神经网络

小批量梯度下降(Mini-batch Gradient Descent)

用数据集的一部分

机器学习|神经网络

随机梯度下降(Stochastic Gradient Descent,SGD)

每次都只使用一个样本点

优点:每次只用一个样本训练,所以迭代速度非常快,迭代具有振荡属性,可以跳出局部最优解

缺点:更新的方向会不稳定,可能永远都不会真正的收敛

机器学习|神经网络

三种梯度下降方法对比

机器学习|神经网络

机器学习|神经网络

批量梯度:稳如泰山 计算量太大 很稳健但不推荐

小批量梯度:醉汉

如何缓解过拟合?->早停止& 正则化

早停(early stopping)

  • 若训练误差连续a 轮的变化小于 b,则停止训练
  • 使用验证集:若训练误差降低、验证误差升高,则停止训练

正则化 (regularization)

  • 在误差目标函数中增加一项描述网络复杂度

偏好比较小的连接权和阈值,使网络输出更“光滑”

终极方案:增加数据量

如何跳出局部最优?

  • 不同的初始参数
  • 模拟退火
  • 随机梯度下降
  • 遗传算法
  • 粒子群算法

机器学习|神经网络

深度卷积神经网络

下面是零零散散的一些笔记,想了解更多可上网搜索一下下,或者可以学习《神经网络与深度学习》,讲得很系统。


语义鸿沟(Semantic Gap): 表示学习的关键是解决语义鸿沟问题.语义鸿沟问题是指输入数据的底层特征和高层语义信息之间的不一致性和差异性。比如对于人脸识别中的输入数据,图片中人脸的形态、肤色等不尽相同,对应的在像素级别上的底层特征差距较大,但是对于识别理解中用到的是抽象的高层次语义概念。


图像分类的三要素

机器学习|神经网络


卷积神经网络的三要素

卷积(Convolution)、激活函数、池化(Pooling)

为什么需要卷积:稀疏连接(Sparse Connectivity)

共享权值

感受野


填充:维持输入输出的规模相同;提取边缘信息


激活函数(ReLU)

机器学习|神经网络

作用:

  • 高效性:只需要判断输入是否大于0,相对sigmoid和tanh的计算效率更高。

  • 稀疏性:ReLU在输入小于0时输出为0,有助于缓解过拟合,提高模型的泛化能力。

    不工作,相当于剪枝

  • 非饱和性:ReLU的导数在输入大于0时为1,使得其反向传播过程中梯度不饱和,避免了梯度消失问题。

但激活函数远不止这一种,只是ReLU是比较常用的,还有tanh、sigmoid等


池化(pooling)

作用:

  • 减小特征图的大小:降低网络的计算量和参数量,避免过拟合现象的发生,提高模型的计算速度和运行效率。
  • 提高模型的鲁棒性:池化层可以使特征图更具有平移不变性,即使输入图像发生了一定程度的平移、旋转或缩放,卷积神经网络也能够识别出它们的共同特征。


LeNet

AlexNet 又矮又胖

首次在CNN中采用ReLU激活函数

机器学习|神经网络


VGG 又瘦又高

相比AlexNet网络更深

仅采用3*3卷积核和2*2最大池化


GeogleNet

机器学习|神经网络

  • 相比VGG网络更深(22层)
  • 采用Inception模块
  • 没有全连接层
  • 参数仅有5百万,仅AlexNet的1/12


ResNet 跳跳跳 防止梯度消失

创新点

相比GoogleNet网络更深(152层)

采用残差(Residual)模块

返回:机器学习|神经网络

本文由“公众号文章抓取器”生成,请忽略上文所有联系方式或指引式信息。有问题可以联系:五人工作室,官网:www.Wuren.Work,QQ微信同号1976.424.585