NLP基础系列(5)
前言
逻辑回归 = 线性回归 + 激活函数
激活函数的功能: 1. 可以满足非线性因子 2. 将值映射到一个小范围内,减少梯度爆炸的可能
逻辑回归的问题: 1. 回归问题(解答题,根据历史情况和方程计算划分) 2. 分类问题(分类问题,根据已有进行划分)
sigmod 激活函数多用于二分类问题(公式: \(sigmoid(P)=\frac {1} {(1+e^{-P})}\))
softmax 激活函数多用于多分类问题
计算步骤
- 先求出计算出来的值:\[P=X@k\]
- 利用 sigmoid 激活函数映射出值域为 0~1 的 pre:\[pre=sig(P)=\frac {1} {(1+e^{-P})}\]
- 利用 pre 和 Label 分类标签计算 Loss:\[Loss=Label·log(pre)+(1-Label)·log(1-pre)\] 因为 pre 一直在 0~1 之间,所以 \(log (1-pre)\) 和 \(log (pre)\) 是负数,所以这里 loss 是负数,但是为了更加方便计算,常常将 Loss 进行取反:\[Loss=-Label·log(pre)+(1-Label)·log(1-pre)\]
- 利用 Loss 对 k 进行影响:\[G=\frac{\partial Loss}{\partial P}=\frac{\partial Loss}{\partial pre}·\frac{\partial pre}{\partial P}=pre-Label\]\[\frac{\partial Loss}{\partial k}=X^T@G\] \[k=k-lr*\frac{\partial Loss}{\partial k}\]
注意
如果需要加上偏置值 b,需要进行更新:\[\frac{\partial Loss}{\partial b}=sum(G)\] \[b=b-lr*\frac{\partial Loss}{\partial b}\]
复现
1 | import numpy as np |

