感知机——神经网络基本模型

感知机——神经网络基本模型x1x2 是输入信号 y 是输出信号 w1w2 是权重 每个输入信号都有一个对应的 w b 为偏置项

大家好,欢迎来到IT知识分享网。

1. 感知机

1.1 什么是感知机

                   感知机——神经网络基本模型

        X
是输入信号,
y
是输出信号,W

权重(每个输入信号都有一个对应的w),b为偏置项
。图中的○称为“神经元”或者“节点”。
        输入信号被送往神经元时,会被
分别乘以固定的权重加上偏置项
 。神经元会计算传送过来的信号的
总和,在经过一个符号函数
sign()输出最终的值
(激活函数)。
                                        
感知机——神经网络基本模型
       (注:-1也常常用0表示)
        因此,感知机是一个
二分类模型
会产生一个线性分割超平面

感知机——神经网络基本模型

1.2 w与b的作用   

       
w
是控制输入信号的
重要性的参数
,而
b
是调整
神经元被激活的容易程度
(输出信号为1
的程度)的参数。比如,若
b


0
.
1
,则只要输入信号的加权总和超过
0
.
1
,神经元就会被激活。但是如果
b
20
.
0
,则输入信号的加权总和必须超过
20
.
0
,神经元才会被激活。像这样, 偏置的值决定了神经元被激活的容易程度。对于只有一个神经元的感知机,W与b可以初始化为0。

1.3 数据集的线性可分性

感知机——神经网络基本模型

          因此
感知机不能完全拟合只能由弯曲的曲线分割的数据集
(但是可以部分拟合),如下图XOR函数(异或)
                                                
感知机——神经网络基本模型
           任何一个线性分割面都无法完全划分这两个不同的点

1.4 损失函数 

      损失函数的一个自然选择是误分类点的总数,但是这样损失函数与w和b无关,不是参数w和b的连续可导函数,不易优化。

        于是,感知机采用误分类点到超平面S的总距离,如下图

                                ​​​​​​​        ​​​​​​​        ​​​​​​​感知机——神经网络基本模型

超平面S:​​​​​​​感知机——神经网络基本模型—用向量/矩阵表示—WX + b=0

        单个​​​​​​​样本到超平面S的距离如下公式

感知机——神经网络基本模型其中​​​​​​​感知机——神经网络基本模型

        对于每个误分类样本来说,都有​​​​​​​​​​感知机——神经网络基本模型成立,其中yi是xi样本对应的真实标签值。原因如下:

        1.当yi=1,而wxi + b<=0,此时会错误的预测标签值为-1,上述式子成立。而且有下式:​​​​​​​感知机——神经网络基本模型

         2.当yi=-1,而wxi + b>0,此时会错误的预测标签值为-1,​​​​​​​上述式子成立。而且有下式:

        感知机——神经网络基本模型

        于是误分类点到超平面S的总距离可以表示为下式:

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​感知机——神经网络基本模型

        此外,1/||w||用来归一化超平面法向量,得到几何间隔,也就是点到超平面的距离,但超平面只要能够将两类样本分类开即可,下图中两条线都是正确的

        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        感知机——神经网络基本模型

        于是忽略掉1/||w||,最终感知机的损失函数为:

                ​​​​​​​        ​​​​​​​感知机——神经网络基本模型

1.5. 感知机的优化器

        对于感知机来说,极小化过程中不是一次使M中所有误分类点的梯度下降,而是一次随机选取一个误分类点使其梯度下降,因此感知机的优化器使用的是随机梯度下降(SGD)。

        对于一个误分类点,计算该点损失函数的梯度:

    感知机——神经网络基本模型

        更新w,b

感知机——神经网络基本模型

代码实现

# 训练参数 epochs = 100 η = 0.1 # 感知机 def perceptron(X, y, η, epochs): n_samples, n_features = X.shape # 初始化权重参数 w = np.zeros(n_features) b = 0 for epoch in range(epochs): for i in range(n_samples): # 预测值 y_pred = 1 if (np.dot(X[i], w) + b) > 0 else -1 # 随机梯度下降法随机选择一个误分点进行参数更新 if -y[i]*(np.dot(X[i], w) + b)>=0: w = w + η * X[i] * y[i] b = b + η * y[i] loss += 1 return w, b # 预测函数 def predict(X,w): y_pred = np.where(np.dot(X,w)+b>0,1,-1) return y_pred w,b = perceptron(trainx,trainy,η,epochs) 

5.多层感知机

5.1使用多层感知机解决非线性问题

        使用多层感知机解决异或问题:

        ​​​​​​​        ​​​​​​​        ​​​​​​​        感知机——神经网络基本模型

5.2 多层感知机的基本结构

       通过在结构中加入一个或多个隐藏层来克服线性模型的限制, 使其能处理更普遍的函数关系类型。 要做到这一点,最简单的方法是将许多全连接层堆叠在一起,(全连接的意思就是:上一层的任何一个神经元与下一层的所有神经元都有连接)。 3层感知机的示例下所示:

感知机——神经网络基本模型

5.3 前向传播

        假设有m个样本n个特征的X作为输入层,一个隐藏层的神经元个数为h,则隐藏层的权重矩阵W_h的大小为n×h(每个特征与每个神经元对应一个权重),偏置矩阵b_h大小为1×h

        则隐藏层的输入H为:

                H_m×h =XW_h +  b_h                                                                       

        假设输出的标签值有q个,则输出层的权重矩阵W_o的大小为h×q,偏置矩阵b_h大小为1×q

        隐藏层的输出O为:

                O_m×q = HW_o + b_o(每个输入x都对应一个输出值)                                     

5.4 激活函数

        如果不加上激活函数,上式仅仅是对数据进行了线性变换,仍然是单层网络

                H = XW_h +  b_h (线性函数)

                O = HW_o + b_o=(XW_h + b_h)W_o + b_o=XW_hW_o + b_hW_o  + b_o 

        将上式子b=b_hW_o  + b_o,W=W_hW_o,所以结果仍然是仍然是一个XW + b

引入激活函数对结果进行非线性变换,计算式为:

        H = σ(XW_h +  b_h)                (σ为激活函数)

引入非线性后,使网络可以逼近任意非线性函数

常见的激活函数有:Relu函数、sigmoid函数以及tanh函数。

1. Relu函数

        感知机——神经网络基本模型

Relu(x) = max(x,0),计算非常简单

其导函数图像为:

        感知机——神经网络基本模型

不存在梯度消失现象

2. Sigmoid函数

感知机——神经网络基本模型    

感知机——神经网络基本模型

Sigmoid函数可以将输入的任何值映射到(0,1)。注意,当输入接近0时,sigmoid函数接近线性变换

感知机——神经网络基本模型

导函数图像如下:

               感知机——神经网络基本模型

        当输入为0时,sigmoid函数的导数达到最大值0.25; 而输入在任一方向上越远离0点时,导数越接近0(饱和区梯度消失现象),此时不利于参数更新。

3. tanh函数(双曲正切函数)

                ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        感知机——神经网络基本模型

tanh函数可以将输入的任何值映射到(-1,1)

        ​​​​​​​    感知机——神经网络基本模型

        注意,当输入在0附近时,tanh函数接近线性变换。 函数的形状类似于sigmoid函数, 不同的是tanh函数关于坐标系原点中心对称

感知机——神经网络基本模型

导函数图像如下图所示:

        ​​​​​​​      感知机——神经网络基本模型

        当输入接近0时,tanh函数的导数接近最大值1。同样存在饱和区梯度消失现象。

        

        

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/117371.html

(0)
上一篇 2025-11-21 16:45
下一篇 2025-11-21 17:10

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信