线性回归
给出(x1,y1),...(xn,yn),xi∈Rk,yi∈R。
假设:w∈Rk,b∈R,f(x)=xTw+b
损失函数:h(xi)=(f(xi)−yi)2(一个点),Ls(w,b)=Σni=1(f(xi)−yi)2。
为了更好地用矩阵的语言表示,现令ˆxTi=(1,xTi),^wT=(b,wT),再用ˆxi代替xi,用wT代替w。现在f(xi)=xTiw,令X=⎛⎜⎝xT1...xTn⎞⎟⎠,Xw∈Rn,则有:||xw−y||2=Σni=1((xw)i−yi)2=Σni=1(xTiw−yi)2。
这样就可以把线性回归等同于一个优化问题:minw∈Rk||Xw−y||2。令h(w)=||Xw−y||2,如果从内积的角度看(很显然最后的Loss应该是一个数),等价于(Xw−y,Xw−y)=(Xw−y)T(Xw−y)=((Xw)T−yT)(Xw−y)=(wTXT−yT)(Xw−y)=wTXTXw−2wTXTy+yTy
作为一个多元函数,需要求多次偏导数:
利用▽x(xTAx)=2Ax,▽x(xTy)=y(二次型求偏导),则▽w(h)=2XTXw−2XTy,令其等于0,等价于(XTX)w=XTy。其中(XTX)至少是半正定的(半正定与正定的区别在于其是否是一个满秩的矩阵)。如果XTX正定可逆,则可以把w解出来:w=(XTX)−1(XTy),因此线性回归是可以有闭式解的(但也是有比较严格的条件的)。
特殊情况:X本身是可逆方阵,w=(XTX)−1(XTy)=X−1(XT)−1XTy=X−1y。此时对于Xw=y的w是有解的,因此给定的数据本身就在同一个超平面上,损失函数自然等于0。一般情况下,给定的数据点的个数要远远超过w的维数,因此可以避免过度拟合。
优化:h(w)=(Xw−y)TΩ(Xw−y),其中Ω是正定矩阵,再令▽w(h)=0,得到w=(XTΩX)−1(XTΩy)作为闭式解。
【推荐】国内首个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+分数约分)