• 关于神经网络的思考


    关于感知机

    感知机(Perceptron)和神经网络(Neural Network)之间有一定的关系,可以说感知机是神经网络的一个基本组成单元。

    • 感知机

      • 感知机是一种简单的二分类线性分类器。
      • 它接受多个输入,对每个输入施加权重,然后将它们相加。这个总和会经过一个激活函数(通常是阶跃函数)得到输出。
      • 如果输出超过某个阈值,它将被分类为一类,否则分类为另一类。
      • 感知机可以用于解决线性可分的问题,但不能解决线性不可分的问题。

    感知机有两部分,一是线性函数,二是激活函数:

    其中线性函数如果在二维中就是一条直线f=wx+b把两种类别分开,在三维就是一个平面...

    单个感知机能处理与或非但不能处理异或:

    因为异或可以用与或非表示出来,故要处理异或问题可以用多层感知机: 

    • 神经网络

      • 神经网络是一个更加复杂的模型,由许多层次的神经元组成。
      • 每个神经元接受多个输入,并为每个输入分配一个权重。然后将所有加权输入相加,通过激活函数处理得到输出。
      • 神经网络可以包含多个层(输入层、隐藏层、输出层),其中隐藏层其实就是多层感知机,可以处理更加复杂的非线性关系。

    关于损失函数

    最小二乘法

    假设x_{i}是真实结果,y_{i}是预测结果,最直观的想法就是去求它们之间的差值,让差值尽可能的小,即让预测结果尽可能接近真实结果。

    但是用这个绝对值可能会不可导,故采用平方的形式衡量这种差距,“最小”即min“二乘”即二次方。

    极大似然估计法

    知道结果,由结果去反推造成结果的概率模型时的估计方法。

    比如10每硬币抛出来7个正面3个反面,如果算出的概率模型有0.1:0.9、0.7:0.3和0.8:0.2,其中0.7:0.3的概率模型下发生这件事的概率为0.7^5*0.3^3,概率是最大的即“似然”,那么就“估计”这种概率模型就是真实抛硬币的概率模型。

    如果事件只有两种情况,那么符合伯努利分布。

    交叉熵

    熵是衡量一个系统不确定性的多少即信息量。

    假如有一个概率系统P,那么它的熵就是对这个系统的信息量求期望。

    KL散度

    KL散度即相对熵,相对指的是两个概率系统。

    D(P||Q)和D(Q||P)是不等价的,D(P||Q)表示以P为基准,它们信息量相差多少。

    由整理的结果可见,第一项是交叉熵;第二项是P的系统熵,是定值。

    引理:KL散度大于等于0,当P=Q时为0。

    要让两个概率系统接近,即最小化交叉熵->损失函数。

    由于P的熵是定值求梯度(即函数偏导)为0,故其实KL散度作损失函数等价于交叉熵作损失函数。

    假设事件只有两种情况,交叉熵可写为:

    可以发现,交叉熵和极大似然估计法的式子形式一样(含义不同)。

    关于梯度下降

    调整参数(比如权重w和偏置b)的策略是反向传播,梯度下降是反向传播的一种方法,除此之外还有牛顿法、冲量法...

    正向传播就是信息在一层层的感知机下传递下去。

    反向传播就是把偏差传递到各个参数上,根据参数对偏差的“贡献”大小作相应的调整多少。

    (蕴含的贪心思想:优先调整那些对最后结果有重大影响的参数)

    其中J表示由损失函数算出来的偏差,绿色部分代表该感知机因对最后结果的“贡献”大小所承担的“责任”的多少(浅绿部分是参数,深绿部分是上一层造成的偏差,回传给上一层)。

    上面直观的理解图的偏差是用数值加法,实际是用向量的加法进行分配,由于偏差值是没有方向的,所以还需要找到一个确定的方向->梯度的方向就是向量的方向。准确来说是梯度的反方向,因为梯度的方向是数值增加最快的方向,其反方向才是数值减小最快的方向。

  • 相关阅读:
    TailwindCSS使用并开启JIT(vue2)
    长春理工大学计算机考研资料汇总
    数字孪生园区智慧运营平台的应用场景
    小心golang中的无类型常量
    阅读 | 001《人工智能导论》(二)知识获取篇
    【2023提前批 之 面经】~ 联发科
    不同类型的 SSL 证书解释
    C语言程序设计笔记(浙大翁恺版) 第一周:程序设计与C语言
    P4302 [SCOI2003]字符串折叠 (区间DP)
    设计模式之(8)——代理模式
  • 原文地址:https://blog.csdn.net/weixin_61725823/article/details/133742141