• 神经网络--理解


    一些概念:

    • 损失函数:单个训练示例的误差。最经典的是“平方误差”来计算,即预测值与实际值差值的平方。

    • 代价函数:整个训练集的损失函数的平均值。

    • 最优化:求损失函数达到最小时的权重和偏置。

    • 学习率:训练神经网络时,通常使用梯度下降法来优化参数。在每次迭代中,我们都使用反向传播来计算每个权重的损失函数的导数,并从这个权重中减去它。学习率决定了你想要更新权重(参数)值的速度。学习率不能太低导致收敛的速度缓慢,也不能太高导致找不到局部最小值。

    • epoch:循环训练的次数。

    • batch:批次,就是每次训练模型时,喂入的数据的大小。

    对神经网络的理解:

    现在有一个 目标函数f*(x)

    我们只知道目标函数的 输入输出(x和y,也就是featurelabel)。

    我们的目的是通过已知的输入和输出,去得到目标函数f*(x)。

    我们可以定义一个f(x),然后让这个函数去近似目标函数。神经网络就是类似的例子,

    它可以理解成:

    • 通过搭建神经网络,构建出一个函数f(x)(函数可以有多层嵌套,相当于多层神经网络)。

    • 通过f(x)对输入x的学习,会不断优化自身的参数,最终近似于f*(x)。

    神经元

    神经网络的每一层中,都有很多神经元,每一个神经元都可以看作是一个函数,这个函数称为激活函数。

    第一层神经元没有输入、最后一层神经元没有输出。除此以外,每个神经元都含有:

    • 输入x

    • 权重(weight), 记作:w。

    • 偏置(bias),记作:b。

    • 激活函数f(x)

    • 输出y

    除第一层神经元之外,其余神经元的输入( x(i+1) )皆为上一层神经元的输出( y(i) )。

    xi+1 = yi = f(x * w) = f(x1 * w1 + x2 * w2 + ... + xn * wn)

    (n为神经元个数)

    这时候,如果我们对神经元是否激活有其他的要求。

    • 如即使加权和大于0,你也不想激活这个神经元;

    • 或者是当加权和大于10时,才激活神经元。

      所以引入了 偏置值 的概念,它起到一个阈值的作用。

    在 t 时刻神经元得到输入X(t),只有当X(t) 大于偏置值b的时候,神经元才会在 t + 1 时刻被激活(激活的意思是有输出),否则不会被激活。

    ​ 如:我们需要当加权和大于10时,才激活神经元。此时偏置值就是:-10。

    所以,上述公式变成:

    x(i+1) = y(i) = f(x * w - b) = f[(x1 * w1 - b1) + (xn * wn - bn) + ... + (xn * wn - bn)]

    这时候,我们可以把多加一个输入X0,并把它的值设为 - 1。还可以把偏置b当成权重w0

    所以最终公式为:

    yi = f(x * w) = f(x0 * w0 + x1 * w1 + ... + xn * wn)

    (x0 为 -1,w0 为 偏置b的值。)

    激活函数f(x):

    ​ 如果我们对输出有要求,需要对输出的值进行某种限制,这时就需要用到激活函数。激活函数的作用是能够给神经网络加入一些非线性因素,使得神经网络可以更好地解决较为复杂的问题。

    常见激活函数

    • Sigmoid(): 可以将输出的值映射到[0, 1]的区间又称Logistic曲线

    • Relu():

    训练:

    每一层都带有权重和偏置,一个网络中的偏置和权值非常多。相当于这个网络有无数个旋钮开关让我们调整,得到我们想要的那个结果。所以,当我们讨论神经网络如何“学习”(又称“训练”)的时候,实际上说的是:我们应该怎样去设置这么多的参数

    =================================================

    f3( f2( f1(x) ) )

    • 每一个函数为一层网络

    • f1(x) 为第一层,也称作 输入层

    • f3(x) 为最后一层,也称作 输出层

    神经网络的核心是:

    ​ 一层的激活值,通过某种运算,算出下一层的激活值。

    机器学习:利用经验改善性能。

    神经网络:利用网络自学习算法来确定参数。

    神经网络如何得到参数:

    1. 强化合意的行为。
    2. 弱化不合意的行为。
  • 相关阅读:
    CyQ.data MDataTable
    IIS报错问题:MVC 网站部署到.NET空间上出现Web 服务器被配置为不列出此目录的内容。
    Field configService in com.rr.web.controller.common.CaptchaController required a single bean, but 2 were found: SPRINGBOOT 启动 错误
    学习前端遇到的一些东东
    SQLite If Else Case 实现
    C# WinForm 绘制手写签名
    Android listView典型错误分析(经验体会)
    Flink 如何通过2PC实现Exactlyonce语义 (源码分析)
    bash中特殊符号含义总结
    两头编程,测试中间
  • 原文地址:https://www.cnblogs.com/linlk7571/p/13934104.html
Copyright © 2020-2023  润新知