当前位置: 首页 > news >正文

深度学习-逻辑回归

在这里插入图片描述

逻辑回归的目的

逻辑回归是解决二分问题,判断样本属于正类的概率是多大,0-1之间

找到一组最佳的权重(w1,w2,w3,…) ,b,使得模型预测的概率 P(Y=1) 尽可能接近样本的真实标签(1 或 0)。

计算过程

前向传播过程如下:

假设有一个简单的神经网络层,包括输入 ( x )、权重 ( w )、偏置 ( b ) 和激活函数( σ),输出为 ( a )。损失函数为 ( L ),我们希望计算损失函数对权重 ( w ) 的梯度。

输入特征x
线性变换:z=w*x+b
激活函数:a=σ(z)
输出预测概率a

σ ( z ) = 1 1 + e − z \sigma(z) = \frac{1}{1 + e^{-z}} σ(z)=1+ez1

损失函数,也就是误差

损失计算:L=Loss(a,y),其中 y 是真实标签,a是预测值

L ( y ^ , y ) = − y log ⁡ ( y ^ ) − ( 1 − y ) log ⁡ ( 1 − y ^ ) L(\hat{y}, y) = - y \log(\hat{y}) - (1 - y) \log(1 - \hat{y}) L(y^,y)=ylog(y^)(1y)log(1y^)
训练的目的是把L(y^,y)趋近0,让损失最小,就是趋向于最低点
其有w与b两个变量
在这里插入图片描述

减小损失,进行优化

在这里插入图片描述
这里的 α是△w的意思,w的优化就是通过减去w的偏导数来达成的

J和L是一样的含义,都是损失函数

偏导数如何求(计算梯度)

反向传播中的梯度计算

  1. 计算损失函数 L L L 对激活值 a a a 的梯度:
    ∂ L ∂ a \frac{\partial L}{\partial a} aL
    在这里插入图片描述

  2. 计算激活函数 σ \sigma σ z z z 的梯度:
    ∂ a ∂ z = σ ′ ( z ) \frac{\partial a}{\partial z} = \sigma'(z) za=σ(z)
    在这里插入图片描述

  3. 计算 z z z 对权重 w w w 的梯度:
    ∂ z ∂ w = x \frac{\partial z}{\partial w} = x wz=x
    就是w

  4. 使用链式法则计算损失函数 L L L 对权重 w w w 的梯度:
    ∂ L ∂ w = ∂ L ∂ a ⋅ ∂ a ∂ z ⋅ ∂ z ∂ w \frac{\partial L}{\partial w} = \frac{\partial L}{\partial a} \cdot \frac{\partial a}{\partial z} \cdot \frac{\partial z}{\partial w} wL=aLzawz
    4中就是w关于L的偏导数

这是L
L ( y ^ , y ) = − y log ⁡ ( y ^ ) − ( 1 − y ) log ⁡ ( 1 − y ^ ) L(\hat{y}, y) = - y \log(\hat{y}) - (1 - y) \log(1 - \hat{y}) L(y^,y)=ylog(y^)(1y)log(1y^)
这是a
σ ( z ) = 1 1 + e − z \sigma(z) = \frac{1}{1 + e^{-z}} σ(z)=1+ez1
这是z
z = w ∗ x + b z=w*x+b z=wx+b

计算梯度代码现

import numpy as np# 激活函数及其导数
def sigmoid(x):return 1 / (1 + np.exp(-x))
#倒数
def sigmoid_derivative(x):return sigmoid(x) * (1 - sigmoid(x))# 假设数据
x = np.array([0.5])  # 输入
w = np.array([0.2])  # 权重
b = 0.1  # 偏置
y = np.array([0.7])  # 实际目标# 前向传播
z = w * x + b
a = sigmoid(z)# 计算损失(均方误差)
loss = 0.5 * (a - y) ** 2
print(f'损失对权重的梯度: {loss}')# 反向传播(链式法则)
dL_da = a - y  # 损失函数对激活值的梯度
da_dz = sigmoid_derivative(z)  # 激活函数对 z 的梯度
dz_dw = x  # z 对权重 w 的梯度# 使用链式法则计算损失函数对权重的梯度
dL_dw = dL_da * da_dz * dz_dwprint(f'损失对权重的梯度: {dL_dw}')
#这个就是J对w的梯度,就是那个偏导数

总的来说

逻辑回归只会给出 0 1的判断,而我们优化的就是减小这个0 1判断的误差

http://www.lryc.cn/news/579687.html

相关文章:

  • 异步Websocket构建聊天室
  • 认识kubernetes kubeadm安装k8s
  • 触发器设计美国VPS:优化数据库性能的关键策略
  • 基于连接感知的实时困倦分类图神经网络
  • 云计算中的tap口、bond口、qr口:它们究竟有何玄机?
  • 配置diffusion policy并测试和训练 pushT demo模型
  • 一天两道力扣(1)
  • 【进阶篇-消息队列】——Kafka如何实现事务的
  • Element 的 Message 多个显示时,只显示一个的封装办法
  • LeetCode 317 最短距离选址问题详解(Swift 实现 + BFS 多源遍历)
  • 从 TCP/IP 协议栈角度深入分析网络文件系统 (NFS)
  • MySQL的窗口函数介绍
  • 基于SpringBoot+Vue的酒类仓储管理系统
  • 【网络协议】WebSocket简介
  • 【tensorflow2.6.0 一系列相关报错记录】
  • 关于微前端框架micro,子应用设置--el-primary-color失效的问题
  • Linux性能分析工具
  • Oracle:报错jdbc:oracle:thin:@IP地址:端口:实例名, errorCode 28001, state 99999
  • Spark 4.0的VariantType 类型以及内部存储
  • 打造一个可维护、可复用的前端权限控制方案(含完整Demo)
  • 2025年4月SCI-吕佩尔狐优化算法Rüppell’s fox optimizer-附Matlab免费代码
  • 苹果手机扫描PDF:整理课堂笔记、保存重要文件
  • Intellij IDEA中Maven的使用
  • H3C-备件流程
  • EXCEL 基础函数
  • 论文阅读笔记——Autoregressive Image Generation without Vector Quantization
  • 构建引擎: 打造小程序编译器
  • 工业路由器赋能智慧电力储能柜实时通讯,构建电力智能化新生态
  • x搜索新增了x-client-transaction-id的验证
  • 网络工具如何帮助消除网络安全风险