深度学习~向量化Logistic回归③

本文介绍了Logistic回归的数学表达式及目标,详细阐述了梯度下降法在Logistic回归中的应用,包括迭代过程和参数更新公式。进一步讨论了在多个参数情况下的梯度下降,并展示了Logistic回归的Python实现。
摘要由CSDN通过智能技术生成

回顾Logistic回归

  • y^ = σ(wT x + b) , σ(z) = 1/(1+e-z) 是Logistic回归的表达式,其中y^为使用Logistic回归计算出来的预测值,而y为训练样本的真实值。
    在这里插入图片描述
    目标是想要得到一个w和b,使y^ ≈ y。
    z(i) = wTx(i) + b 可向量化为 Z = WTX + b。
    伪损失函数Loss(y^ , y) = 1/2×(y^ - y)2,而真实的损失函数为:
    在这里插入图片描述
    代价函数J(w,b) = 1/m × ∑mi=1Loss(y^(i),y(i)),即对Loss函数从1到m(m为训练样本集的容量)求和,再除以m。代价函数是基于参数w,b的总成本,因此在训练Logistic回归时,我们需要寻找合适的参数w和b以使代价函数J尽可能地小。

梯度下降法

  • 回顾Logistic回归。在这里插入图片描述
    使用梯度下降法寻找到合适的w,b使J尽可能地小。而(w,b,J)是一个三维空间内的碗形函数,因此通过梯度下降,一定会得到一个全局最优解。
    在这里插入图片描述
    梯度下降的迭代过程:
    在这里插入图片描述
    对于梯度下降中的参数更新,如下所示:
    在这里插入图片描述
    之后我们会将 dJ(w , b)/dw 记为 dw,b中的偏导项即为db。

Logistic回归中的梯度下降

  • 回顾Logistic回归:
    在这里插入图片描述
    假设此时我们只用两个训练样本x1和x2,还有w1,w2和b,那么这些参数可计算出z。使用偏导数流程图可表示为:
    在这里插入图片描述
    而Logistic回归的目的是寻找合适的参数,来使Loss函数尽可能地小。
  • 偏导数流程图:
    在这里插入图片描述

想要计算L(a,y),需要计算da,即dL(a,y)/da。再向前一步,计算出dz。
反向传播在Logistic回归中的应用:
在这里插入图片描述
即,从输出层开始,一步一步向前计算需要的偏导数。

m个参数的梯度下降

  • 代价函数J:
    J(w,b) = 1/m × Σmi=1L(a(i),y)
    其中,a(i) = y^(i) = sigmoid(z(i))
    实现m个参数的梯度下降,则需要使用向量化的方法。
  • 不使用向量化的累加过程:
    在这里插入图片描述
    做完累加之后,再对参数w和b进行更新。
  • 使用向量化,去掉了两个显示的for循环:

Python实现Logistic回归

源代码出处。

import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.datasets import make_blobs
import matplotlib.pyplot as plt
np.random.seed(123)
#👆一些初始化操作
X
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值