GANs学习笔记

一、完整公式

J(θ)=−1m∑i=1my(i)log⁡hθ(x(i))+(1−y(i))log⁡(1−hθ(x(i))) J(\theta) = -\frac{1}{m} \sum_{i=1}^m \Big y\^{(i)} \\log h_\\theta(x\^{(i)}) + (1-y\^{(i)}) \\log\\big(1-h_\\theta(x\^{(i)})\\big) \\Big J(θ)=−m1i=1∑my(i)loghθ(x(i))+(1−y(i))log(1−hθ(x(i)))

这是二分类逻辑回归的标准损失函数(对数交叉熵损失),用来衡量模型预测结果和真实结果的差距。


二、逐个符号解释

  1. J(θ)J(\theta)J(θ)

    整体损失值/代价函数。数值越大,代表模型预测越不准;训练目标就是最小化 J(θ)J(\theta)J(θ)

  2. mmm

    训练集里样本总数量 。除以 mmm 是为了取平均损失,消除样本总数的影响。

  3. ∑i=1m\displaystyle\sum_{i=1}^mi=1∑m

    每一个样本 的损失求和,iii 代表第 iii 个样本。

  4. y(i)y^{(i)}y(i)

    第 iii 个样本的真实标签,二分类只有两个取值:

    • y=1y=1y=1:属于正样本
    • y=0y=0y=0:属于负样本
  5. hθ(x(i))h_\theta(x^{(i)})hθ(x(i))

    模型对第 iii 个样本的预测概率 ,取值范围 (0,1)(0,1)(0,1),表示该样本是正类的概率。

  6. 负号 −-−

    因为对数函数 log⁡(x)\log(x)log(x) 在 x∈(0,1)x\in(0,1)x∈(0,1) 时结果为负数,加负号把损失转为正数,方便优化。


三、分场景理解(核心逻辑)

把公式拆成两部分,对应两种真实标签:

场景1:真实标签 y=1y=1y=1(正样本)

此时 1−y=01-y=01−y=0,后半项直接消失,公式简化为:

单样本损失=−log⁡(hθ(x)) \text{单样本损失} = -\log\big(h_\theta(x)\big) 单样本损失=−log(hθ(x))

  • 模型预测 hhh 越接近 111(预测正确):损失趋近于 0
  • 模型预测 hhh 越接近 000(预测错误):损失急剧变大,严厉惩罚错误

场景2:真实标签 y=0y=0y=0(负样本)

此时 y=0y=0y=0,前半项直接消失,公式简化为:

单样本损失=−log⁡(1−hθ(x)) \text{单样本损失} = -\log\big(1-h_\theta(x)\big) 单样本损失=−log(1−hθ(x))

  • 模型预测 hhh 越接近 000(预测正确):损失趋近于 0
  • 模型预测 hhh 越接近 111(预测错误):损失急剧变大

四、整体作用总结

  1. 二分类任务量身设计,专门评价逻辑回归模型好坏;
  2. 预测越偏离真实标签,损失值越高,倒逼模型不断修正参数;
  3. 相比平方损失,交叉熵在分类任务中梯度更稳定、收敛更快,是机器学习分类模型最常用的损失函数。
相关推荐
05664635 分钟前
Python康复训练——常用标准库
开发语言·python·学习
0566461 小时前
Python康复训练——控制流与函数
开发语言·python·学习
峥无1 小时前
C++11 深度详解:现代 C++ 基石全梳理
开发语言·c++·笔记
阿米亚波2 小时前
【C++ STL】std::unordered_multimap
开发语言·数据结构·c++·笔记·stl
早睡早起身体好1233 小时前
为什么 Network 中会出现两个同名请求?——CORS 预检请求学习笔记
网络·笔记·学习·网络安全
菩提树下的打坐3 小时前
测试左移的更深一层:用 DDD 战术设计反推测试边界
学习
casual~4 小时前
模逆元计算方法详解:扩展欧几里得算法与费马小定理
学习·算法·逆元
@Mike@4 小时前
06-数据库学习笔记(存储模型与数据压缩)
数据库·笔记·学习
我的xiaodoujiao5 小时前
快速学习Python基础知识详细图文教程14--模块
开发语言·python·学习·测试工具
不在逃避q5 小时前
Golang笔记之Redis
redis·笔记·golang