神经网络—— 学习与感知器

神经网络------ 学习与感知器

01 人工神经网络

人工神经网络的核心能力

  1. 函数计算能力:通过合理选择网络拓扑结构与权重值,人工神经网络(ANN)可计算任意可计算函数。
  2. 经验学习能力 :通过"试错法"(trial-and-error)从经验中学习,具体流程为:
    • 尝试(Trial):处理输入以生成输出(从神经网络角度:计算给定输入对应的输出函数)。
    • 评估(Evaluate):将实际输出与期望输出对比,评估输出效果。
    • 调整(Adjust):根据评估结果调整网络权重。

感知器(M-P模型)

基本公式

感知器的输出由硬极限函数(hardlim)决定,公式如下:
y=hardlim(u)=hardlim(WX+b)=hardlim(w1,1x1+w1,2x2+θ)y=\text{hardlim}(u)=\text{hardlim}(WX+b)=\text{hardlim}\left(w_{1,1}x_{1}+w_{1,2}x_{2}+\theta\right)y=hardlim(u)=hardlim(WX+b)=hardlim(w1,1x1+w1,2x2+θ)

(其中WWW为权重矩阵,XXX为输入向量,bbb为偏置,θ\thetaθ为阈值,此处b=θb=\thetab=θ)

单层神经网络

  • 左侧神经元(a₁、a₂、a₃):仅具备输入功能,不参与计算。
  • 右侧神经元 :计算神经元,通过激活函数处理输入与权重的乘积和,公式为:
    z=g(a1⋅wa+a2⋅wb+a3⋅wc)z=g(a_1 \cdot w_a + a_2 \cdot w_b + a_3 \cdot w_c)z=g(a1⋅wa+a2⋅wb+a3⋅wc)
    (ggg为激活函数,wa、wb、wcw_a、w_b、w_cwa、wb、wc为对应输入的权重)

简单神经网络的局限性(以感知器为例)

  1. 核心局限(明斯基与佩珀特,1969年提出)
    感知器仅能构建线性判别函数,即仅能对可通过直线或超平面分割的类别进行分类。
  2. 非线性问题无法解决
    多数实际函数具有非线性特征(或数据不可线性分割),单层感知器无法处理此类问题。典型案例为异或(XOR)逻辑运算,其真值表如下:
输入x₁ 输入x₂ 输出y
0 0 0
1 0 1
0 1 1
1 1 0
  1. 解决方案 :引入多层神经网络(含隐藏层),通过多个神经元的组合实现非线性分类(如异或运算需至少2个神经元协同工作)。

多层神经网络结构

1. 双层神经网络
  • 包含输入层、隐藏层、输出层,其中"双层"指2个激活层(隐藏层+输出层)。
  • 输入节点(I₁、I₂、I₃、I₄)接收外部信号,传递至隐藏节点,隐藏节点经计算后将信号传递至输出节点(O₁)。
2. 三层神经网络
  • 结构:输入层→隐藏层1→隐藏层2→输出层,通过多隐藏层进一步增强非线性拟合能力。
3. 多层前馈神经网络(Multi-layer Feed-forward ANNs)
  • 单输出感知器(M-P模型):输入层直接连接单输出层,仅含输入层与输出层。
  • 多输出感知器(罗森布拉特提出) :输入层连接多输出层(如Z₁、Z₂),每个输出对应独立的权重计算,公式为:
    z1=g(a1⋅w1+a2⋅w2+a3⋅w3)z_1=g(a_1 \cdot w_1 + a_2 \cdot w_2 + a_3 \cdot w_3)z1=g(a1⋅w1+a2⋅w2+a3⋅w3)
    z2=g(a1⋅w4+a2⋅w5+a3⋅w6)z_2=g(a_1 \cdot w_4 + a_2 \cdot w_5 + a_3 \cdot w_6)z2=g(a1⋅w4+a2⋅w5+a3⋅w6)
  • 权重表示规则 :用Wx,yW_{x,y}Wx,y表示权重,其中xxx为前一层神经元编号,yyy为后一层神经元编号,神经元编号按"从上到下"顺序排列。

多层前馈神经网络的发展(1969-1984年)

  • 核心突破 :引入隐藏层节点,允许使用非线性激活函数,使神经网络具备非线性分类能力。
  • 激活函数改进 :采用可微的非线性函数(如Sigmoid函数f(a)=11+e−af(a)=\frac{1}{1+e^{-a}}f(a)=1+e−a1),输出连续且非线性质,更贴近真实神经元的信号传递特性。

02 损失函数

基本概念与示例背景

以CIFAR-10数据集(含飞机、鸟、猫、鹿等10类图像)的线性分类器为例,线性分类器的输出公式为:
f(xi;W,b)=Wxi+bf(x_i; W, b)=Wx_i + bf(xi;W,b)=Wxi+b

(WWW为权重矩阵,bbb为偏置,xix_ixi为输入图像的像素数组,CIFAR-10图像为32×32×3的像素矩阵,共3072个像素值,取值范围0-1)

1. 损失函数(Loss Function)

  • 定义:基于单个样本计算的误差,用于衡量模型对单个样本的预测偏差。
  • 常见类型
    (1)0-1损失函数 :直接计算预测值与真实值的绝对差,公式为:
    L(f(x),y)=∣f(x)−y∣L(f(x), y)=|f(x)-y|L(f(x),y)=∣f(x)−y∣
    (2)平方损失函数 :计算预测值与真实值差值的平方,适用于回归任务。
    (3)绝对值损失函数:计算预测值与真实值差值的绝对值,对异常值鲁棒性高于平方损失。

2. 代价函数(Cost Function)

  • 定义:基于全部训练样本的平均误差,即所有损失函数的平均值,用于衡量模型在整体训练数据上的偏差。

  • 常见类型

    (1)均方误差(MSE) :适用于回归任务,公式为:
    MSE=1N∑i=1N(y(i)−f(x(i)))2MSE=\frac{1}{N}\sum_{i=1}^{N}\left(y^{(i)}-f(x^{(i)})\right)^2MSE=N1∑i=1N(y(i)−f(x(i)))2

    (NNN为训练样本总数,y(i)y^{(i)}y(i)为第iii个样本的真实值,f(x(i))f(x^{(i)})f(x(i))为预测值)

    (2)平均绝对误差(MAE) :适用于回归任务,公式为:
    MAE=1N∑i=1N∣y(i)−f(x(i))∣MAE=\frac{1}{N}\sum_{i=1}^{N}\left|y^{(i)}-f(x^{(i)})\right|MAE=N1∑i=1N y(i)−f(x(i))

    (3)交叉熵代价函数 :适用于分类任务,衡量真实概率分布p(x(i))p(x^{(i)})p(x(i))与模型预测概率分布q(x(i))q(x^{(i)})q(x(i))的差异,公式为:
    H(p,q)=−∑i=1Np(x(i))log⁡q(x(i))H(p, q)=-\sum_{i=1}^{N}p(x^{(i)})\log q(x^{(i)})H(p,q)=−∑i=1Np(x(i))logq(x(i))

3. 目标函数(Objective Function)

  • 定义 :与代价函数类似,基于全部训练样本的平均误差,但更强调"优化目标"------即需通过调整模型参数(如权重WWW、偏置bbb)最小化的函数。
  • 核心目标 :对从某分布DDD中随机选取的样本(x,y)(x,y)(x,y),最小化损失函数Loss(f(x),y)Loss(f(x), y)Loss(f(x),y)。
  • 实际计算 :由于未知真实分布DDD,通常用训练数据的平均损失近似目标函数,公式为:
    L(θ)=1n∑i=1nLoss(fθ(xi),yi)L(\theta)=\frac{1}{n}\sum_{i=1}^{n}Loss(f_{\theta}(x_i), y_i)L(θ)=n1∑i=1nLoss(fθ(xi),yi)
    (θ\thetaθ为模型参数集合,nnn为训练样本数)

交叉熵损失的解读

  1. 惩罚机制 :对正确标签yyy的预测概率pyp_ypy,惩罚项为−log⁡py-\log p_y−logpy------若预测概率越接近1(预测越准确),惩罚越小;若接近0(预测越错误),惩罚趋近于无穷大。
  2. KL散度关联 :交叉熵可视为KL散度(Kullback-Leibler divergence)的简化形式,用于衡量两个概率分布的"距离",当真实分布ppp固定时,最小化交叉熵等价于最小化KL散度。

03 罗森布拉特感知器

基本结构与异或运算示例

  • 结构组成:输入层(2个神经元,接收XOR的两个输入)、隐藏层(2个神经元,处理非线性转换)、输出层(1个神经元,输出最终结果)。
  • 核心逻辑:通过隐藏层对输入进行线性组合,再经输出层整合,实现异或运算的非线性分类(单层感知器无法完成)。

工作流程(以异或运算为例)

  1. 初始化 :随机设置权重www与偏置bbb的初始值。
  2. 输入数据:导入异或运算的真值表(如输入(0,0)、(1,0)等)。
  3. 循环迭代(试错法)
    • 读取输入:如输入(0,0)。
    • 计算输出:通过感知器公式计算预测输出(如0.60543)。
    • 误差对比 :计算预测输出与期望输出的差值(如Diff=0.60543−0=0.60543Diff=0.60543-0=0.60543Diff=0.60543−0=0.60543)。
    • 调整参数:根据误差修改权重与偏置。
  4. 终止条件:达到预设迭代次数,或误差小于设定阈值。

计算示例(学习率η=1)

已知条件
  • 输入样本:x1=(4,4)x_1=(4,4)x1=(4,4)(真实标签y1=1y_1=1y1=1)、x2=(4,5)x_2=(4,5)x2=(4,5)(真实标签y2=1y_2=1y2=1)、x3=(1,1)x_3=(1,1)x3=(1,1)(真实标签y3=−1y_3=-1y3=−1)。
  • 初始权重与偏置:W(0)=[0,0]W(0)=[0,0]W(0)=[0,0],b(0)=1b(0)=1b(0)=1。
步骤1:首次分类
  • 对x1x_1x1:y1(W0x1+b0)=1×([0,0]⋅[4,4]T+1)=1>0y_1(W_0x_1 + b_0)=1×([0,0]·[4,4]^T +1)=1>0y1(W0x1+b0)=1×([0,0]⋅[4,4]T+1)=1>0,分类正确。
  • 对x2x_2x2:y2(W0x2+b0)=1×([0,0]⋅[4,5]T+1)=1>0y_2(W_0x_2 + b_0)=1×([0,0]·[4,5]^T +1)=1>0y2(W0x2+b0)=1×([0,0]⋅[4,5]T+1)=1>0,分类正确。
  • 对x3x_3x3:y3(W0x3+b0)=−1×([0,0]⋅[1,1]T+1)=−1<0y_3(W_0x_3 + b_0)=-1×([0,0]·[1,1]^T +1)=-1<0y3(W0x3+b0)=−1×([0,0]⋅[1,1]T+1)=−1<0,分类错误,需更新参数:
    W(1)=W(0)+η⋅y3⋅x3T=[0,0]+1×(−1)×[1,1]T=[−1,−1]W(1)=W(0) + η·y_3·x_3^T = [0,0] + 1×(-1)×[1,1]^T = [-1,-1]W(1)=W(0)+η⋅y3⋅x3T=[0,0]+1×(−1)×[1,1]T=[−1,−1]
    b(1)=b(0)+η⋅y3=1+1×(−1)=0b(1)=b(0) + η·y_3 = 1 + 1×(-1) = 0b(1)=b(0)+η⋅y3=1+1×(−1)=0
步骤2:更新后验证
  • 对x3x_3x3:y3(W1x3+b1)=−1×([−1,−1]⋅[1,1]T+0)=2>0y_3(W_1x_3 + b_1)=-1×([-1,-1]·[1,1]^T +0)=2>0y3(W1x3+b1)=−1×([−1,−1]⋅[1,1]T+0)=2>0,分类正确。
  • 重新验证x1x_1x1:此时W1x1+b1=[−1,−1]⋅[4,4]T+0=−8W_1x_1 + b_1 = [-1,-1]·[4,4]^T +0 = -8W1x1+b1=[−1,−1]⋅[4,4]T+0=−8,y1×(−8)=−8<0y_1×(-8)=-8<0y1×(−8)=−8<0,分类错误,需再次更新参数:
    W(2)=W(1)+η⋅y1⋅x1T=[−1,−1]+1×1×[4,4]T=[3,3]W(2)=W(1) + η·y_1·x_1^T = [-1,-1] + 1×1×[4,4]^T = [3,3]W(2)=W(1)+η⋅y1⋅x1T=[−1,−1]+1×1×[4,4]T=[3,3]
    b(2)=b(1)+η⋅y1=0+1×1=1b(2)=b(1) + η·y_1 = 0 + 1×1 = 1b(2)=b(1)+η⋅y1=0+1×1=1
步骤3:迭代至收敛

重复上述"验证-更新"过程,直至所有样本分类正确。最终模型为:
f(x)=hardlims(x(1)+x(2)−4)f(x)=\text{hardlims}(x^{(1)} + x^{(2)} -4)f(x)=hardlims(x(1)+x(2)−4)

(hardlims\text{hardlims}hardlims为对称硬极限函数,x(1)、x(2)x^{(1)}、x^{(2)}x(1)、x(2)为输入的两个维度)

04 学习

学习的分类框架

根据训练数据是否含标签,机器学习可分为:监督学习(Supervised Learning)无监督学习(Unsupervised Learning)半监督学习(Semi-supervised Learning)强化学习(Reinforcement Learning)

一、监督学习

定义

监督学习是机器学习的一种方法,通过构建算法从带标签的训练数据(每个样本为"输入-期望输出"对)中学习,生成推理函数,用于对新样本进行预测或决策,而非遵循固定程序指令。

核心流程
  1. 数据准备 :从历史数据中随机抽样,划分训练集 (用于构建模型)与验证集(用于评估模型性能)。
  2. 模型训练:用训练集训练统计模型,通过验证集调整参数。
  3. 预测应用:将训练好的模型用于新数据,输出预测结果。
任务类型
  1. 回归(Regression)

    • 目标:预测连续型输出值(如房价、股票价格)。
    • 示例:通过房屋面积(输入)预测房价(输出),假设函数为线性函数hθ(x)=θ0+θ1xh_\theta(x)=\theta_0+\theta_1xhθ(x)=θ0+θ1x(θ0、θ1\theta_0、\theta_1θ0、θ1为参数)。
    • 核心:最小化预测值与真实值的误差(如均方误差J(θ0,θ1)=∑i=1m(hθ(x(i))−y(i))2J(\theta_0,\theta_1)=\sum_{i=1}^m(h_\theta(x^{(i)})-y^{(i)})^2J(θ0,θ1)=∑i=1m(hθ(x(i))−y(i))2)。
  2. 分类(Classification)

    • 目标:将输出划分为离散类别(如肿瘤良性/恶性、邮件垃圾/非垃圾)。
    • 示例:通过肿瘤大小与患者年龄(输入)判断肿瘤类型(输出),常见算法包括逻辑回归、支持向量机(SVM)、感知器等。
关键算法与发展历程
  1. 核心算法

    • 回归:线性回归、岭回归(Ridge Regression)、LASSO回归。
    • 分类:逻辑回归、SVM、感知器、卷积神经网络(CNN)、循环神经网络(RNN/LSTM)、决策树(ID3、C4.5、CART)、集成算法(随机森林、AdaBoost、GBDT、XGBoost)。
    • 其他:K近邻(KNN)、朴素贝叶斯分类器、贝叶斯网络。
  2. 发展时间线

    • 1950s:感知器、线性分类器。
    • 1960s:KNN、贝叶斯判别分析。
    • 1980s:反向传播(Back Propagation)、决策树(ID3、CART)。
    • 1990s:SVM、C4.5、随机森林。
    • 2000s后:LSTM、AdaBoost、GBDT、XGBoost。
重要算法详解
1. 逻辑回归(Logistic Regression)
  • 本质:线性分类算法,用于二分类任务(如"通过/失败""健康/患病")。

  • 核心公式

    • 线性模型:z=θTx+θ0z=\theta^T x + \theta_0z=θTx+θ0(θ\thetaθ为权重向量,θ0\theta_0θ0为偏置)。
    • Sigmoid激活函数:将线性输出映射到[0,1]区间(概率值),公式为:
      ϕ(z)=11+e−z\phi(z)=\frac{1}{1+e^{-z}}ϕ(z)=1+e−z1
    • 最终假设函数:
      hθ(x)=11+e−(θTx+θ0)h_\theta(x)=\frac{1}{1+e^{-(\theta^T x + \theta_0)}}hθ(x)=1+e−(θTx+θ0)1
    • 分类规则:若hθ(x)≥0.5h_\theta(x)≥0.5hθ(x)≥0.5,预测y=1y=1y=1(正类);若hθ(x)<0.5h_\theta(x)<0.5hθ(x)<0.5,预测y=0y=0y=0(负类)。
  • 损失函数与参数优化

    • 损失函数(交叉熵损失):
      cost(hθ(x),y)={−log⁡(hθ(x))if y=1−log⁡(1−hθ(x))if y=0cost(h_\theta(x), y)= \begin{cases} -\log(h_\theta(x)) & \text{if } y=1 \\ -\log(1-h_\theta(x)) & \text{if } y=0 \end{cases}cost(hθ(x),y)={−log(hθ(x))−log(1−hθ(x))if y=1if y=0
    • 代价函数:
      J(θ)=1m∑i=1mcost(hθ(x(i)),y(i))J(\theta)=\frac{1}{m}\sum_{i=1}^m cost(h_\theta(x^{(i)}), y^{(i)})J(θ)=m1∑i=1mcost(hθ(x(i)),y(i))
    • 参数优化:通过梯度下降法最小化J(θ)J(\theta)J(θ),更新公式为:
      θj=θj−α∂∂θjJ(θ)(j=0,1,...,n)\theta_j = \theta_j - \alpha \frac{\partial}{\partial \theta_j}J(\theta) \quad (j=0,1,...,n)θj=θj−α∂θj∂J(θ)(j=0,1,...,n)
      (α\alphaα为学习率,控制每次参数更新的步长)
2. 支持向量机(SVM)
  • 核心思想 :在样本空间中找到最大间隔分割超平面,使不同类别的样本被超平面分割,且样本到超平面的间隔最大(间隔由"支持向量"------离超平面最近的样本------决定)。
  • 超平面公式 :wTx+b=0w^T x + b = 0wTx+b=0(www为法向量,决定超平面方向;bbb为位移项,决定超平面与原点的距离)。
  • 分类规则 :对样本(x(i),y(i))(x^{(i)}, y^{(i)})(x(i),y(i))(y(i)∈{−1,1}y^{(i)}∈\{-1,1\}y(i)∈{−1,1}),若wTx(i)+b>0w^T x^{(i)} + b > 0wTx(i)+b>0,预测y(i)=1y^{(i)}=1y(i)=1;若wTx(i)+b<0w^T x^{(i)} + b < 0wTx(i)+b<0,预测y(i)=−1y^{(i)}=-1y(i)=−1。
  • 非线性问题处理 :通过核函数(如RBF核)将非线性可分数据映射到高维空间,使其线性可分,公式为:
    f(x)=wTϕ(x)+bf(x)=w^T \phi(x) + bf(x)=wTϕ(x)+b
    (ϕ(x)\phi(x)ϕ(x)为映射函数,将输入xxx映射到高维特征空间)

二、无监督学习

定义

无监督学习使用无标签样本进行训练,算法通过挖掘数据自身的内在结构(如聚类、降维)获取知识,无需人工提供"正确答案"。

核心任务与算法
  1. 聚类(Clustering)

    • 目标:将相似样本划分为同一簇,不同样本划分为不同簇。
    • 常见算法:K均值聚类(K-means)、DBSCAN、层次聚类(Hierarchical Clustering)、谱聚类(Spectral Clustering)、均值漂移(Mean Shift)。
  2. 降维(Dimensionality Reduction)

    • 目标:在保留数据关键信息的前提下,减少特征维度,简化计算并避免"维度灾难"。
    • 常见算法:主成分分析(PCA)、核主成分分析(KPCA)、局部线性嵌入(LLE)、t分布随机邻域嵌入(t-SNE)。
关键算法详解
1. K均值聚类(K-means)
  • 核心逻辑 :将nnn个样本划分为kkk个簇,使每个样本属于离其最近的簇中心(通过相似度度量,如欧氏距离、曼哈顿距离),并最小化簇内样本与簇中心的平方误差。

  • 平方误差公式
    E=∑i=1k∑x∈Ci∥x−μi∥2E=\sum_{i=1}^k \sum_{x \in C_i} \|x - \mu_i\|^2E=∑i=1k∑x∈Ci∥x−μi∥2

    (CiC_iCi为第iii个簇,μi\mu_iμi为CiC_iCi的均值向量,EEE越小,簇内样本相似度越高)

  • 算法步骤

    1. 随机选择kkk个样本作为初始簇中心μ1,μ2,...,μk\mu_1, \mu_2, ..., \mu_kμ1,μ2,...,μk。
    2. 计算每个样本到各簇中心的距离,将样本分配至最近的簇。
    3. 对每个簇,重新计算簇中心(簇内所有样本的均值)。
    4. 重复步骤2-3,直至迭代次数达到最大值,或前后两次簇中心的差异小于设定阈值。
2. 主成分分析(PCA)
  • 核心思想:通过线性变换将高维数据映射到低维空间,使映射后的数据(主成分)保留原数据的最大方差(即"最大可分性"),且各主成分正交。

  • 关键性质

    • 最近重构性:样本到低维超平面的距离尽可能小。
    • 最大可分性:样本在低维超平面上的投影尽可能分散。
  • 算法步骤

    1. 数据中心化 :对所有样本进行预处理,消除量纲影响,公式为:
      xi←xi−1m∑i=1mxix_i \leftarrow x_i - \frac{1}{m}\sum_{i=1}^m x_ixi←xi−m1∑i=1mxi
      (mmm为样本数,1m∑i=1mxi\frac{1}{m}\sum_{i=1}^m x_im1∑i=1mxi为样本均值)
    2. 计算协方差矩阵 :计算中心化后样本的协方差矩阵XXTXX^TXXT(XXX为样本矩阵)。
    3. 特征值分解:对协方差矩阵进行特征值分解,得到特征值与对应的特征向量。
    4. 选择主成分 :选取前d′d'd′个最大特征值对应的特征向量w1,w2,...,wd′w_1, w_2, ..., w_{d'}w1,w2,...,wd′(d′d'd′为低维空间维度,通过交叉验证确定)。
    5. 输出投影矩阵 :投影矩阵W∗=(w1,w2,...,wd′)W^*=(w_1, w_2, ..., w_{d'})W∗=(w1,w2,...,wd′),用于将高维样本映射到低维空间。
监督学习与无监督学习的对比
对比维度 监督学习 无监督学习
样本标签 含明确标签(已知正确输出) 无标签(未知正确输出)
核心目标 学习"输入-输出"映射关系,用于预测 挖掘数据内在结构(如聚类、降维)
典型任务 分类、回归 聚类、降维
示例 通过人脸图像(输入)分类年龄(输出) 对无标签的用户行为数据进行聚类
相关推荐
charlie1145141916 小时前
CSS笔记4:CSS:列表、边框、表格、背景、鼠标与常用长度单位
css·笔记·学习·css3·教程
✎ ﹏梦醒͜ღ҉繁华落℘9 小时前
FreeRTOS学习笔记(应用)-- 各种 信号量的应用场景
笔记·学习
星星火柴9369 小时前
笔记 | C++面向对象高级开发
开发语言·c++·笔记·学习
BeingACoder10 小时前
【SAA】SpringAI Alibaba学习笔记(一):SSE与WS的区别以及如何注入多个AI模型
java·笔记·学习·saa·springai
安全不再安全10 小时前
免杀技巧 - 早鸟注入详细学习笔记
linux·windows·笔记·学习·测试工具·web安全·网络安全
Bony-11 小时前
用于糖尿病视网膜病变图像生成的GAN
人工智能·神经网络·生成对抗网络
BreezeJuvenile11 小时前
外设模块学习(8)——HC-SR04超声波模块(STM32)
stm32·单片机·嵌入式硬件·学习·超声波测距模块·hc-sr04
大千AI助手11 小时前
探索LoSA:动态低秩稀疏自适应——大模型高效微调的新突破
人工智能·神经网络·lora·大模型·llm·大千ai助手·稀疏微调
LBuffer11 小时前
破解入门学习笔记题三十八
笔记·学习