逻辑回归(上):函数求导过程自推 LaTex 语法

背景

闲来无事翻了一下之前买的一个机器学习课程及之前记录的网络笔记,发现遇到公式都是截图,甚至是在纸上用笔推导的。重新整理一遍之前逻辑回归函数的学习笔记,主要是为了玩一下 LaTex 语法,写公式挺有意思的。

整理之前三篇笔记汇总如下:

  1. 逻辑回归(上):函数求导过程自推 LaTex 语法
  2. 逻辑回归(中):数学公式学习笔记 LaTeX 版
  3. 逻辑回归(下): Sigmoid 函数的发展历史

逻辑回归函数

逻辑回归的数学函数表达式为:
g ( z ) = 1 1 + e − z g(z)=\frac{1}{1+e^{-z}} g(z)=1+e−z1

它在二维坐标系中的表现为:

因为其外形类似S形状,因而又称为Sigmoid函数。sigmoid,英/'sɪgmɒɪd/n. 乙状结肠(等于sigmoidal);S状弯曲。

导数公式

逻辑回归函数的导数公式为:
g ′ ( z ) = g ( z ) ( ( 1 − g ( z ) ) g^{'}(z)=g(z)((1-g(z)) g′(z)=g(z)((1−g(z))

第一步,确定公式。导数推导过程使用的是商的求导公式:

( u v ) ′ = u ′ v + u v ′ v 2 (\frac{u}{v})^{'}=\frac{u^{'}v+uv^{'}}{v^{2}} (vu)′=v2u′v+uv′

此处: u = 1 u = 1 u=1, v = 1 + e − z v=1+e^{-z} v=1+e−z。

第二步,分别对它们求导: u ′ = 0 u^{'}=0 u′=0, v ′ = e − z v^{'}=e^{-z} v′=e−z 。基本知识:常量的导数是 0,e 的 X 次幂的导数是本身。

第三步,计算数值:
g ′ ( z ) = 0 + e − z ( 1 + e − z ) 2 = e − z ( 1 + e − z ) 2 g^{'}(z)=\frac{0+e^{-z}}{(1+e^{-z})^{2}}=\frac{e^{-z}}{(1+e^{-z})^{2}} g′(z)=(1+e−z)20+e−z=(1+e−z)2e−z

第四步,对分子进行等价变形,先加 1 再减 1,得到:
g ′ ( z ) = 1 + e − z − 1 ( 1 + e − z ) 2 = 1 + e − z ( 1 + e − z ) 2 − 1 ( 1 + e − z ) 2 = 1 1 + e − z − 1 ( 1 + e − z ) 2 g^{'}(z)=\frac{1+e^{-z}-1}{(1+e^{-z})^{2}}=\frac{1+e^{-z}}{(1+e^{-z})^{2}}-\frac{1}{(1+e^{-z})^{2}}=\frac{1}{1+e^{-z}}-\frac{1}{(1+e^{-z})^{2}} g′(z)=(1+e−z)21+e−z−1=(1+e−z)21+e−z−(1+e−z)21=1+e−z1−(1+e−z)21

第五步,代入已知条件 g ( z ) = 1 1 + e − z g(z)=\frac{1}{1+e^{-z}} g(z)=1+e−z1,所以上述公式就成为:
g ′ ( z ) = g ( z ) − ( g ( z ) ) 2 = g ( z ) ( 1 − g ( z ) ) g^{'}(z)=g(z)-({g(z)})^{2}=g(z)(1-g(z)) g′(z)=g(z)−(g(z))2=g(z)(1−g(z))

启示录

当年读书时,不知道高等数学具体在计算机中的应用过程,所以糊里糊涂的。现在看到相关的技术知识,反观公式时,奈何有种时过境迁的感觉,年龄大了,脑容量不够用啊......

相关推荐
鹿角片ljp4 小时前
LeetCode 46. 全排列|吃透回溯
算法·leetcode·职场和发展
鼎艺创新科技4 小时前
不依赖 UE/Unity:我们如何从零搭建一套国产三维 GIS 渲染引擎
人工智能·算法·unity·游戏引擎·三维电子沙盘
别动我齐刘海5 小时前
机器人运动控制学习2——基础进阶
c++·人工智能·神经网络·学习·目标检测·机器学习·机器人
雷帝木木7 小时前
数据湖与数据仓库:从理论到实践
人工智能·python·深度学习·机器学习
.道阻且长.7 小时前
11.LeetCode算法习题讲解--滑动窗口--将x减到0的最小操作数
算法·leetcode·职场和发展
wenyq77 小时前
LeetCode 2460. Apply Operations to an Array
算法·leetcode
.格子衫.8 小时前
032动态规划之区间DP——算法备赛
算法·动态规划
小欣加油8 小时前
leetcode3069 将元素分配到两个数组中I
数据结构·c++·算法·leetcode·职场和发展
不会代码的小猴9 小时前
7. JSON
开发语言·c++·笔记·qt·算法·json
怪奇云呼军9 小时前
知识库也会注入指令?闪电智能VoiceAgent 如何防住 Prompt Injection
人工智能·python·算法·云计算·音视频