逻辑回归

逻辑回归

二分类情况

对于二分类问题,在线性可分的情况下,试图构建一个判别式 W ′ X ′ + b {W'X'+b} W′X′+b,为了便于操作将判别式增广为 W X {WX} WX。
W x i = { > 0 , x i ∈ w 1 , Y = 1 < 0 , x i ∈ w 2 , Y = 0 {Wx_i}=\begin{cases} \ >0, \quad x_i \in w_1,Y=1\\ <0, \quad x_i \in w_2,Y=0 \end{cases} Wxi={ >0,xi∈w1,Y=1<0,xi∈w2,Y=0

为了将其表示为概率的方式我们对概率建模,将其缩放为 [ 0 , 1 ] [0,1] [0,1]的范围上,所以我们利用sigmoid函数 1 1 + e − x \frac{1}{1+e^{-x}} 1+e−x1。

由此我们设分类为 w 1 w_1 w1的概率为
P ( Y = 1 ∣ x ) = 1 1 + e − W x P(Y=1|x)=\frac{1}{1+e^{-Wx}} P(Y=1∣x)=1+e−Wx1

设:
P ( Y = 1 ∣ x i ) = P ( x i ) P ( Y = 0 ∣ x i ) = 1 − P ( x i ) P(Y=1|x_i)=P(x_i)\\ P(Y=0|x_i)=1-P(x_i) P(Y=1∣xi)=P(xi)P(Y=0∣xi)=1−P(xi)

由此构建似然函数:
L ( W ) = ∏ [ P ( x i ) ] y i [ 1 − P ( x i ) ] ( 1 − y i ) L(W)=\prod[P(x_i)]^{y_i}[1-P(x_i)]^{(1-y_i)} L(W)=∏[P(xi)]yi[1−P(xi)](1−yi)

对似然函数取对数:
I n ( L ( W ) ) = ln ⁡ ( ∏ [ P ( x i ) ] y i [ 1 − P ( x i ) ] ( 1 − y i ) ) = ∑ ( ln ⁡ ( [ P ( x i ) ] y i ) + ln ⁡ ( [ 1 − P ( x i ) ] ( 1 − y i ) ) ) = ∑ ( y i ln ⁡ ( [ P ( x i ) ] ) + ( 1 − y i ) ln ⁡ ( [ 1 − P ( x i ) ] ) ) = ∑ [ y i ⋅ W x i − ln ⁡ ( 1 + e W x i ) ] \begin{aligned} In(L(W)) &=\ln(\prod[P(x_i)]^{y_i}[1-P(x_i)]^{(1-y_i)})\\ &=\sum (\ln([P(x_i)]^{y_i})+\ln([1-P(x_i)]^{(1-y_i)}))\\ &=\sum ({y_i}\ln([P(x_i)])+{(1-y_i)}\ln([1-P(x_i)]))\\ &=\sum[y_i\cdot Wx_i-\ln(1+e^{Wx_i})] \end{aligned} In(L(W))=ln(∏[P(xi)]yi[1−P(xi)](1−yi))=∑(ln([P(xi)]yi)+ln([1−P(xi)](1−yi)))=∑(yiln([P(xi)])+(1−yi)ln([1−P(xi)]))=∑[yi⋅Wxi−ln(1+eWxi)]

为了最大化似然,即最小化似然的负数

使似然除以样本总数n(减少梯度爆炸出现的概率),再乘以-1(将求最大值问题转化为求最小值问题
J ( W ) = − 1 N ∑ ( ln ⁡ ( [ P ( x i ) ] y i ) + ln ⁡ ( [ 1 − P ( x i ) ] ( 1 − y i ) ) ) J(W)=-\frac{1}{N}\sum (\ln([P(x_i)]^{y_i})+\ln([1-P(x_i)]^{(1-y_i)})) J(W)=−N1∑(ln([P(xi)]yi)+ln([1−P(xi)](1−yi)))

采用梯度下降的方法:
∂ J ( W ) ∂ W = − 1 N ∑ ( y i − P ( x i ) ) x i \frac{\partial J(W)}{\partial W}=-\frac{1}{N}\sum (y_i-P(x_i))x_i ∂W∂J(W)=−N1∑(yi−P(xi))xi

更新 W W W:
W k + 1 = W k − α ∂ J ( W ) ∂ W , k 为迭代次数 , α 为学习率 W^{k+1}=W^{k}-\alpha\frac{\partial J(W)}{\partial W},\quad k为迭代次数,\alpha为学习率 Wk+1=Wk−α∂W∂J(W),k为迭代次数,α为学习率

当 ∣ ∣ W k + 1 − W k ∣ ∣ ||W^{k+1}-W^{k}|| ∣∣Wk+1−Wk∣∣小于阈值时或者当 k k k达到最大迭代次数时停止迭代。

逻辑回归是在线性回归的基础上加了一个 Sigmoid 函数(非线形)映射,使得逻辑回归称为了一个优秀的分类算法。本质上来说,两者都属于广义线性模型,但他们两个要解决的问题不一样,逻辑回归解决的是分类问题,输出的是离散值,线性回归解决的是回归问题,输出的连续值。

多分类问题

为了实现多分类,我们引入一个softmax函数: softmax ( x i ) = e x i ∑ j e x j \text{softmax}(x_i) = \frac{e^{x_i}}{\sum_j e^{x_j}} softmax(xi)=∑jexjexi来代替Sigmoid函数,同构建模型: Y = W X i Y=WX_i Y=WXi,其中 Y Y Y为一个列向量,第 i i i个数表示第 i i i个类别的概率。

其中修改损失函数:
J ( W ) = − 1 n [ ∑ i = 1 n ∑ j = 1 k 1 { j ( i ) = j } ⋅ log ⁡ ( e W x i ∑ l = 1 k e W x i ) ] J(W)=-\frac{1}{n}\left[\sum_{i=1}^n\sum_{j=1}^k 1_{\{j^{(i)}=j\}}\cdot\log (\frac{e^{Wx_i}}{\sum_{l=1}^k e^{Wx_i}})\right] J(W)=−n1[i=1∑nj=1∑k1{j(i)=j}⋅log(∑l=1keWxieWxi)]

其中 1 { j ( i ) = j } 1_{\{j^{(i)}=j\}} 1{j(i)=j}表示第 i i i类分类正确时为1,否则为0, k k k为类别数。

相关推荐
学地理的小胖砸42 分钟前
【高分系列卫星简介】
开发语言·数码相机·算法·遥感·地理信息
叫我:松哥1 小时前
基于机器学习的癌症数据分析与预测系统实现,有三种算法,bootstrap前端+flask
前端·python·随机森林·机器学习·数据分析·flask·bootstrap
B站计算机毕业设计超人1 小时前
计算机毕业设计hadoop+spark知网文献论文推荐系统 知识图谱 知网爬虫 知网数据分析 知网大数据 知网可视化 预测系统 大数据毕业设计 机器学习
大数据·hadoop·爬虫·机器学习·spark·知识图谱·推荐算法
yanyanwenmeng1 小时前
matlab基础
开发语言·算法·matlab
智能汽车人1 小时前
行业分析---自动驾驶行业的发展
人工智能·机器学习·自动驾驶
##晴天小猪1 小时前
ByteTrack多目标跟踪流程图
人工智能·算法·目标检测·机器学习·目标跟踪
ly-how2 小时前
leetcode练习 二叉树的层序遍历
算法·leetcode
疑惑的杰瑞2 小时前
[数据结构]算法复杂度详解
c语言·数据结构·算法
大油头儿2 小时前
排序算法-选择排序
数据结构·算法·排序算法
搞点夜点心2 小时前
算法课习题汇总(2)
算法