我是靠谱客的博主 阔达芒果,最近开发中收集的这篇文章主要介绍【啃书】《深度学习入门 基于Python的理论与实现》第4章 神经网络的学习4.1 从数据中学习4.2 损失函数4.3 数值微分4.4 梯度4.5 学习算法的实现,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

文章目录

  • 4.1 从数据中学习
  • 4.2 损失函数
  • 4.3 数值微分
  • 4.4 梯度
  • 4.5 学习算法的实现

神经网络的学习,这里所说的 学习是指从训练数据中自动获取最优权重参数的过程。学习的目的就是以 损失函数为基准,找出能使损失函数的值达到最小的权重参数。为了找出尽可能小的损失函数的值,本章我们将介绍利用了函数斜率的梯度法。

4.1 从数据中学习

神经网络的特征就是可以从数据中学习。数据是机器学习的核心。数据驱动的方法,也可以说脱离了过往以人为中心的方法。
在这里插入图片描述
在这里插入图片描述
机器学习中,一般将数据分为训练数据测试数据两部分。首先,使用训练数据进行学习,寻找最优的参数;然后,使用测试数据评价训练得到的模型的泛化能力。训练数据也可以称为监督数据

4.2 损失函数

神经网络的学习中所用的指标称为损失函数(loss function)。这个损失函数可以使用任意函数,但一般用均方误差和交叉熵误差等。
均方误差(mean squared error)
在这里插入图片描述
将 正 确 解 标 签 表 示 为 1 , 其 他 标 签 表 示 为 0 的 表 示 方 法 称 为 o n e − h o t 表 示 。 color{#f00}{将正确解标签表示为1,其他标签表示为0的表示方法称为one-hot表示。} 10onehot

交叉熵误差(cross entropy error)
在这里插入图片描述

神经网络的学习也是从训练数据中选出一批数据(称为mini-batch,小批量),然后对每个mini-batch进行学习。比如,从60000个训练数据中随机选择100笔,再用这100笔数据进行学习。这种学习方式称为mini-batch学习。

在进行神经网络的学习时,不能将识别精度作为指标。因为如果以识别精度为指标,则参数的导数在绝大多数地方都会变为0。

4.3 数值微分

梯度法使用梯度的信息决定前进的方向。
在这里插入图片描述

4.4 梯度

梯度(gradient)

梯度会指向各点处的函数值降低的方向。更严格地讲,梯度表示的是各点处的函数值减小最多的方向。因此,无法保证梯度所指的方向就是函数的最小值或者真正应该前进的方向。实际上,在复杂的函数中,梯度指示的方向基本上都不是函数值最小处。
用数学式来表示梯度法
在这里插入图片描述

4.5 学习算法的实现

本章所学的内容

  • 机器学习中使用的数据集分为训练数据和测试数据。
  • 神经网络用训练数据进行学习,并用测试数据评价学习到的模型的
    泛化能力。
  • 神经网络的学习以损失函数为指标,更新权重参数,以使损失函数
    的值减小。
  • 利用某个给定的微小值的差分求导数的过程,称为数值微分。
  • 利用数值微分,可以计算权重参数的梯度。
  • 数值微分虽然费时间,但是实现起来很简单。下一章中要实现的稍
    微复杂一些的误差反向传播法可以高速地计算梯度。

系列文章:
【啃书】《深度学习入门 基于Python的理论与实现》第1章 Python入门
【啃书】《深度学习入门 基于Python的理论与实现》第2章 感知机
【啃书】《深度学习入门 基于Python的理论与实现》第3章 神经网络

中 深度学习入门 基于Python的理论与实现 原作名- Deep Learning from Scratch[文字版][[日]斋藤康毅[译] 陆宇杰][人民邮电出版社][2018-7][9787115485588]

最后

以上就是阔达芒果为你收集整理的【啃书】《深度学习入门 基于Python的理论与实现》第4章 神经网络的学习4.1 从数据中学习4.2 损失函数4.3 数值微分4.4 梯度4.5 学习算法的实现的全部内容,希望文章能够帮你解决【啃书】《深度学习入门 基于Python的理论与实现》第4章 神经网络的学习4.1 从数据中学习4.2 损失函数4.3 数值微分4.4 梯度4.5 学习算法的实现所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(43)

评论列表共有 0 条评论

立即
投稿
返回
顶部