神经网络基础(一)

简介: 神经网络基础(一)

学习目标



  • 目标
  • 知道逻辑回归的算法计算输出、损失函数
  • 知道导数的计算图
  • 知道逻辑回归的梯度下降算法
  • 知道多样本的向量计算


  • 应用
  • 应用完成向量化运算
  • 应用完成一个单神经元神经网络的结构


1.2.1 Logistic回归



1.2.1.1 Logistic回归


逻辑回归是一个主要用于二分分类类的算法。那么逻辑回归是给定一个xx , 输出一个该样本属于1对应类别的预测概率\hat{y}=P(y=1|x)y^=P(y=1∣x)。


Logistic 回归中使用的参数如下:


  • 输入的特征向量:x \in R^{n_x} , xx∈Rnx,x是一个 n_xnx维的特征数量,用于训练的标签:y \in 0,1y∈0,1
  • 参数:权重:w \in R^{n_x}w∈Rnx, 偏置:b \in Rb∈R
  • 输出预测结果:\hat{y} = \sigma(w^Tx+b)=\sigma(w_1x_1+w_2x_2+...+b)=\sigma(\theta^Tx)y^=σ(wTx+b)=σ(w1x1+w2x2+...+b)=σ(θTx)
  • Sigmoid 函数: s = \sigma(w^Tx+b) = \sigma(z) = \frac{1}{1+e^{-z}}s=σ(wTx+b)=σ(z)=1+e−z1
  • 如果zz的结果非常大,那么S的结果接近于1
  • 如果zz的结果较小或者是非常大的负数,那么S的结果接近于0


image.png


e^{-z}e−z的函数如下


image.png



例如:


image.png


1.2.1.2 逻辑回归损失函数


损失函数(loss function)用于衡量预测结果与真实值之间的误差。最简单的损失函数定义方式为平方差损失:


L(\hat{y},y) = \frac{1}{2}(\hat{y}-y)^2L(y^,y)=21(y^−y)2


逻辑回归一般使用L(\hat{y},y) = -(y\log\hat{y})-(1-y)\log(1-\hat{y})L(y^,y)=−(ylogy^)−(1−y)log(1−y^)


该式子的理解:


  • 如果y=1,损失为- \log\hat{y}−logy^,那么要想损失越小,\hat{y}y^的值必须越大,即越趋近于或者等于1


  • 如果y=0,损失为1\log(1-\hat{y})1log(1−y^),那么要想损失越小,那么\hat{y}y^的值越小,即趋近于或者等于0


损失函数是在单个训练样本中定义的,它衡量了在单个训练样本上的表现。代价函数(cost function)衡量的是在全体训练样本上的表现,即衡量参数 w 和 b 的效果,所有训练样本的损失平均值


J(w,b) = \frac{1}{m}\sum_{i=1}^mL(\hat{y}^{(i)},y^{(i)})J(w,b)=m1∑i=1mL(y^(i),y(i))


1.2.2 梯度下降算法



目的:使损失函数的值找到最小值


方式:梯度下降


函数的梯度(gradient)指出了函数的最陡增长方向。梯度的方向走,函数增长得就越快。那么按梯度的负方向走,函数值自然就降低得最快了。模型的训练目标即是寻找合适的 w 与 b 以最小化代价函数值。假设 w 与 b 都是一维实数,那么可以得到如下的 J 关于 w 与 b 的图:


image.png


可以看到,成本函数 J 是一个凸函数,与非凸函数的区别在于其不含有多个局部最低。


参数w和b的更新公式为:


w := w - \alpha\frac{dJ(w, b)}{dw}w:=w−αdwdJ(w,b),b := b - \alpha\frac{dJ(w, b)}{db}b:=b−αdbdJ(w,b)


注:其中 α 表示学习速率,即每次更新的 w 的步伐长度。当 w 大于最优解 w′ 时,导数大于 0,那么 w 就会向更小的方向更新。反之当 w 小于最优解 w′ 时,导数小于 0,那么 w 就会向更大的方向更新。迭代直到收敛。


通过平面来理解梯度下降过程


image.png

目录
相关文章
|
机器学习/深度学习 网络架构
神经网络4
与单层神经网络不同。理论证明,两层神经网络可以无限逼近任意连续函数。 这是什么意思呢?也就是说,面对复杂的非线性分类任务,两层(带一个隐藏层)神经网络可以分类的很好。 下面就是一个例子(此两图来自colah的博客),红色的线与蓝色的线代表数据。而红色区域和蓝色区域代表由神经网络划开的区域,两者的分界线就是决策分界。 可以看到,这个两层神经网络的决策分界是非常平滑的曲线,而且分类的很好。有趣的是,前面已经学到过,单层网络只能做线性分类任务。而两层神经网络中的后一层也是线性分类层,应该只能做线性分类任务。为什么两个线性分类任务结合就可以做非线性分类任务? 我们可以把输出层的决策分界单独拿出来看一下
73 0
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
神经网络技术
【10月更文挑战第14天】神经网络技术
|
1月前
|
机器学习/深度学习
深度学习笔记(一): 神经网络之感知机详解
深度学习笔记(一):探索感知机模型及其在神经网络中的应用。
34 0
深度学习笔记(一): 神经网络之感知机详解
|
1月前
|
机器学习/深度学习 算法
深度学习笔记(四):神经网络之链式法则详解
这篇文章详细解释了链式法则在神经网络优化中的作用,说明了如何通过引入中间变量简化复杂函数的微分计算,并通过实例展示了链式法则在反向传播算法中的应用。
52 0
深度学习笔记(四):神经网络之链式法则详解
|
4月前
|
机器学习/深度学习 PyTorch 算法框架/工具
图神经网络是一类用于处理图结构数据的神经网络。与传统的深度学习模型(如卷积神经网络CNN和循环神经网络RNN)不同,
图神经网络是一类用于处理图结构数据的神经网络。与传统的深度学习模型(如卷积神经网络CNN和循环神经网络RNN)不同,
|
3月前
|
机器学习/深度学习 人工智能 算法
人人都能搞定的大模型原理 - 神经网络
从1950年人工智能初现雏形至今,感知机作为神经网络的基石,引领了从单层到深层神经网络的技术飞跃。20世纪50年代末,弗兰克·罗森布拉特受人脑神经元启发,提出了感知机模型,它能够通过学习调整权重与阈值来识别模式,如手写数字。随着技术进步,感知机演变成更为复杂的层级和卷积神经网络。直至2022年ChatGPT的问世,人工智能的应用进入了公众视野。感知机的学习机制基于监督学习,通过不断调整权重和阈值来提高识别准确性。这种“亚符号”派的技术逐渐发展为拥有数十亿参数的大模型,展示了强大的智能涌现能力。随着AI技术的不断发展,我们正步入一个人机共生的新时代。
|
5月前
|
机器学习/深度学习 存储 算法
简单的神经网络
softmax激活函数将多个未归一化的值转换为概率分布,常用于多分类问题。交叉熵损失函数,特别是与softmax结合时,是评估分类模型性能的关键,尤其适用于多分类任务。它衡量模型预测概率与实际标签之间的差异。在PyTorch中,`nn.CrossEntropyLoss`函数结合了LogSoftmax和负对数似然损失,用于计算损失并进行反向传播。通过`loss.backward()`,模型参数的梯度被计算出来,然后用优化器如`SGD`更新这些参数以减小损失。
|
机器学习/深度学习 自然语言处理 算法
简单了解神经网络
神经网络是一种强大的机器学习算法,具有很广泛的应用,可以用于图像识别、语音识别、自然语言处理、推荐系统等多个领域。
101 0
|
机器学习/深度学习 存储 算法
神经网络基础
神经网络基础
下一篇
无影云桌面