逻辑回归
线性回归不适合处理分类问题,因为用连续型函数逼近离散型函数不太靠谱。因此考虑如何修改线性回归方法使其适用于分类问题。
现在给出(x1,y1),(x2,y2)...(xn,yn),xi∈Rk,yi∈{0,1}:
对于w∈Rk,b∈R,f(x)=wTx+b,那么怎么把它的值域限制在0和1呢?构造g:R→(0,1),例如g(x)=ex1+ex=11+e−x,复合函数h(x)=g(f(x))=11+e−(wTx+b)。
引入概率论
如果把x和y都看作随机变量,那么就有了联合分布以及条件分布的概念。(xi,yi)满足联合分布,现在想要学习的就是P(y|x)以及P(x,y)。
P(y=1|x)=11+e−(wTx+b)P(y=0|x)=e−(wTx+b)1+e−(wTx+b)
简化记号:x=(1,x),w=(b,w)。则有:
P(y=1|x)=11+e−(wTx)P(y=0|x)=e−wTx1+e−(wTx)
对于一个点而言,设其到超平面的距离为l,则l=wTx||w||。P(y=1|x)有三种取值:
P(y=1|x)=⎧⎪
⎪⎨⎪
⎪⎩ 1,wTx>>012,wTx=0 0,xTx<<0
极大似然估计,设(xi,yi)独立同分布,P(xi,yi)=P(yi|xi)P(xi)=P(yi=1|xi)yiP(yi=0|xi)1−yiP(xi)。注意上面的前两项最终只会取一项。
似然函数可以写为:Πni=1P(xi,yi)=Πni=1[P(yi=1|xi)yiP(yi=0|xi)1−yi]⋅Πni=1P(xi)
变成求解argmaxwΠni=1[P(yi=1|xi)yiP(yi=0|xi)1−yi]=argmaxw[Πyi=111+e−wTxi][Πyj=0e−wTxj1+e−wTxj]
取对数可以让乘积变成求和,等价于argmaxwΣyi=1log(11+e−wTxi)+Σyi=0log(e−wTxj1+e−wTxj)=argminw−Σyi=1log(11+e−wTxi)−Σyi=0log(e−wTxj1+e−wTxj)
损失函数:l(w)=−Σyi=1log(11+e−wTxi)−Σyi=0log(e−wTxj1+e−wTxj)
此时闭形式解是不存在的,只能使用数值解法。
梯度下降
一般来说,f:Rk→R,∇f
xn+1=xn−η∇f(xn)
对于若干个点的二分类问题,如果其完全可分,则可以用感知机进行求解,如果不完全可分,则可以用线性规划。现在则可以使用逻辑回归。
如果对于w∈Rk,A={xi|yi(wTxi)<0},l(w)=|A|,去找到w满足l(w)最小的话,最终结果可能非常不稳定。
推广
多元分类怎么办?
给出(xi,yi),yi∈{0,1,...m−1}
目标:w1,w2...wm−1
P(yi=k|xi)=ewTkxi1+Σk=1ewTkxi,k≠0
P(yi=0|xi)=11+Σk=1ewTkxi
引入非线性
如果是二维空间中线性不可分,则可以尝试进行升维:
(x1,x2)→(x1,x2,x21,x22,x1x2)∈R5
注意上面的参数都是线性的。
对于感知机、线性规划、线性回归、逻辑回归都可以引入非线性项。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
2021-04-06 Codeforces Round #712 (Div. 2) A~C
2021-04-06 macOS下使用bits/stdc++.h万能头文件
2021-04-06 第 45 届国际大学生程序设计竞赛(ICPC)亚洲区域赛(昆明)J. Parallel Sort(思维/构造)
2020-04-06 牛客小白月赛13 小A买彩票(DP+分数约分)