深度学习之二:神经网络的编程基础

本文深入探讨了逻辑回归中损失函数的定义与优化过程,详细解释了如何通过最大似然法寻找最佳参数w和b,以及如何利用对数似然函数进行多样本训练。

2.18 逻辑回归损失函数

逻辑回归

逻辑回归需要预测的结果: y^=σ(wTx+b)\hat{y}=\sigma\left(w^{T} x+b\right)y^=σ(wTx+b)σ\sigmaσ是sigmoid函数。
σ(z)=σ(wTx+b)=11+e−z\sigma(z)=\sigma\left(w^{T} x+b\right)=\frac{1}{1+e^{-z}}σ(z)=σ(wTx+b)=1+ez1
约定y^=p(y=1∣x)\hat{y}=p(y=1 \mid x)y^=p(y=1x)(这么做是要将y^=p(y=1∣x)\hat{y}=p(y=1 \mid x)y^=p(y=1x)看为一个含w,b参数的似然函数,可用最大似然法求w,b)

总得来说就是:要找到一个式子以y^,y\hat{y},yy^y作为自变量,理论上当y^=y\hat{y}=yy^=y时,该式的值达到最大值(凸函数),然后用该式加负号作为损失函数来训练。当损失函数达到最小值时,预测值y^\hat{y}y^和真值yyy近似相等。
下面就是y^=p(y=1∣x)\hat{y}=p(y=1 \mid x)y^=p(y=1x)的完整定义:

 If y=1:p(y=1∣x)=y^ If y=0:p(y=0∣x)=1−y^\begin{array}{lll}\text { If } & y=1: & p(y =1\mid x)=\hat{y} \\ \text { If } & y=0: & p(y =0\mid x)=1-\hat{y}\end{array} If  If y=1:y=0:p(y=1x)=y^p(y=0x)=1y^
由上式可见,当y^=y\hat{y}=yy^=yyyy只能取0、1,二分类问题)时,y^=p(y∣x)\hat{y}=p(y \mid x)y^=p(yx)达到最大值1。
将上式合并为一个式子,如下:
p(y∣x)=y^y(1−y^)(1−y)p(y \mid x)=\hat{y}^{y}(1-\hat{y})^{(1-y)}p(yx)=y^y(1y^)(1y)

分别将y=1,y=0y=1,y=0y=1,y=0代入,得到的结果分别为y^,1−y^\hat{y},1-\hat{y}y^,1y^.可见上式就是对y^=p(y∣x)\hat{y}=p(y \mid x)y^=p(yx)定义的完整表达。
对数化简:
log⁡(p(y∣x))=ylog⁡y^+(1−y)log⁡(1−y^)\log (p(y \mid x))=y \log \hat{y}+(1-y) \log (1-\hat{y})log(p(yx))=ylogy^+(1y)log(1y^)
其中log⁡(p(y∣x))\log(p(y\mid x))log(p(yx))就是之前损失函数的负数−L(y^,y)-L(\hat{y},y)L(y^,y)。其实就是要不断更新w与b,使log⁡(p(y∣x))\log(p(y\mid x))log(p(yx))达到最大,等价于让损失函数达到最小,其结果就是预测值y^\hat{y}y^不断接近yyy,最终达到近似相等。这是训练单个样本的情况。

而训练多个样本时,可以把这m个样本看成m个随机抽样结果。它们的联合概率就是每个样本概率的乘积。
P( labels in training set⁡)=∏i=1mP(y(i)∣x(i))P(\text { labels in training } \operatorname{set})=\prod_{i=1}^{m} P\left(y^{(i)} \mid x^{(i)}\right)P( labels in training set)=i=1mP(y(i)x(i))
取对数优化:
logp( labels in training set )=log⁡∏i=1mP(y(i)∣x(i))=∑i=1mlog⁡P(y(i)∣x(i))=∑i=1m−L(y^(i),y(i))\text {logp}(\text { labels in training set })=\log \prod_{i=1}^{m} P\left(y^{(i)} \mid x^{(i)}\right)=\sum_{i=1}^{m} \log P\left(y^{(i)} \mid x^{(i)}\right)=\sum_{i=1}^{m}-L\left(\hat{y}^{(i)}, y^{(i)}\right)logp( labels in training set )=logi=1mP(y(i)x(i))=i=1mlogP(y(i)x(i))=i=1mL(y^(i),y(i))
如果通过不断迭代,找到一对w,b 使logp达到最大值,等价于使∑i=1mL(y^(i),y(i))\sum_{i=1}^{m}L\left(\hat{y}^{(i)}, y^{(i)}\right)i=1mL(y^(i),y(i))达到最小值,那么这一对 w,b 就是logp 的最大似然估计值。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值