CS Notes
  • CS-Notes文档说明
  • 机器学习
    • 频率派和贝叶斯学派
    • 机器学习中的分类指标
    • 数学基础
    • 数据清洗
    • SVM
    • 线性模型
    • 拉格朗日乘子法和KKT条件
    • 集成学习
    • 贝叶斯分类器
    • 降维和度量学习
    • 决策树
    • 神经网络
    • 神经网络优化器
    • Autoencoders & GANs
    • IoU
    • EM算法
    • ML问题总结
    • 机器学习&深度学习学习资料汇总
    • 如何阅读论文
    • 如何写好一篇论文
  • 语言、算法相关
    • 背包问题 - 01背包&完全背包
    • 平衡二叉树AVL
    • 红黑树RB-Tree
    • STL容器
    • STL 常用算法
    • Markdown总结
    • 问题总结
    • 代码汇总
    • PAT手册
  • MIT 6.828 OS课程
  • ImGui
Powered by GitBook
On this page
  • 推导过程:
  • 什么叫线性模型
  • L1&L2正则
  • 简单的线性回归问题
  • 均方误差的概率解释
  • 参考文献

Was this helpful?

  1. 机器学习

线性模型

PreviousSVMNext拉格朗日乘子法和KKT条件

Last updated 5 years ago

Was this helpful?

推导过程:

首先我们从回归问题开始,从最简单的线性模型开始,到广义的线性模型。然后推导到如何解决分类问题。

什么叫线性模型

首先我们要看一个问题就是:什么叫线性模型?

线性表示的是变量与变量之间成比例关系,这个比例关系是一个常数,非线性自然就是二者不是成一个常数的比例关系。

但是这里我们看Logistic回归模型中,函数的表达式也明显变量间不是成比例关系,为什么还称之为线性模型呢?这是因为在这里我们对于模型线性的定义有所不同。依据的w的变化影响到的x有几个,如果只有一个,那么称之为线性模型,反之称之为非线性模型。

具体的描述,参阅参考文献。

L1&L2正则

L1正则在统计学的文献中被称之为lasso(least absolute shrinkage and selection operator最小绝对收缩和选择算子)(Tibshirani,1996),表现为如果超参数λ\lambdaλ充分大,那么某些系数wjw_jwj​就会变为零,从而产生一个稀疏模型。产生这样的结果原因是什么呢?

直观的解释如下:假设现在有一个二维的w=(w1,w2)w=(w_1, w_2)w=(w1​,w2​),蓝色是误差函数的优化,橙色是正则化的限制区域,从右图中可以看到,此时最优解w∗w^*w∗ 在w2w_2w2​轴上,此时的w1=0w_1 = 0w1​=0,更倾向得到稀疏解。左边的L2正则的限制区域为圆,此时得到的w∗w^*w∗落在象限内,两个维度上都不为0。

这里给出了关于L1为什么得到的是稀疏模型的更多解释1,解释2,解释3

总结起来可按照三个方面来分析L1和L2正则:

  1. 从优化目标函数的表达式进行求导得到梯度的不同进行分析

  2. 从解空间,也就是上图

  3. 从先验分布进行分析,L1相当于引入了拉普拉斯分布,而L2相当于引入了高斯分布

简单的线性回归问题

假设我们一个样本中有d个属性,那么我们可以依据对d个属性的线性组合来得到一个预测的函数:

y=w1x1+w2x2+...+wdxdf(x)=wTx+b\begin{aligned} y &= w_1x_1 + w_2x_2 +...+ w_dx_d\\ f(x)&=\boldsymbol {w^Tx}+b \end{aligned}yf(x)​=w1​x1​+w2​x2​+...+wd​xd​=wTx+b​

这样的模型好处是什么呢?

www向量可以很直观的看到每个属性对于预测的重要程度,比如说y=0.7x1+0.2x2+0.1x3y=0.7x_1+0.2x_2+0.1x_3y=0.7x1​+0.2x2​+0.1x3​,可以得到x1x_1x1​是一个非常重要的属性,基本上对输出的结果起着决定性的作用。

现在我们来看下如何求解上面式子中的w,bw,bw,b。

这就涉及到我们需要确定优化的对象,单单看上面这个式子,我们是没有办法解出来的。我们知道这条曲线是为了拟合我们的样本数据的,所以就要求拟合的曲线尽量和样本点越接近越好,理想状态下是拟合的曲线都是经过样本点。那么如何衡量当下我们的曲线和样本的差别呢,我们可以考虑f(x)f(x)f(x)和yyy的差值,这里f(x)f(x)f(x)指的是我们模型的输出结果,yyy是样本的实际值。

引入均方误差作为性能度量:

(w∗,b∗)=argminw,b∑i=1m(f(xi)−yi)2=argminw,b∑i=1m(yi−wxi−b)2\begin{aligned}(w^*,b^*)&= argmin_{w,b}\sum^{m}_{i=1}(f(x_i)-y_i)^2\\ &=argmin_{w,b}\sum_{i=1}^m(y_i - wx_i - b)^2 \end{aligned}(w∗,b∗)​=argminw,b​i=1∑m​(f(xi​)−yi​)2=argminw,b​i=1∑m​(yi​−wxi​−b)2​

根据这个要优化的式子,我们可以对这个表达式进行求导:

∂E∂w=2(w∑i=1mxi2−∑i=1m(yi−b)xi)=0∂E∂b=2(mb−∑i=1m(yi−wxi))=0\frac{\partial E}{\partial w} = 2(w\sum_{i=1}^{m}x_i^2-\sum_{i=1}^m(y_i-b)x_i) =0\\ \frac{\partial E}{\partial b} = 2(mb-\sum_{i=1}^m(y_i-wx_i))=0\\ ∂w∂E​=2(wi=1∑m​xi2​−i=1∑m​(yi​−b)xi​)=0∂b∂E​=2(mb−i=1∑m​(yi​−wxi​))=0

最终得到:

w=∑i=1myi(xi−x‾)∑i=1mxi2−1m(∑i=1mxi)2b=1m∑i=1m(yi−wxi)w=\frac{\sum \limits _{i=1}^{m}y_i(x_i-\overline{x})}{\sum \limits _{i=1}^{m}x_i^2-\frac{1}{m}(\sum \limits _{i=1}^{m}x_i)^2}\\ b=\frac{1}{m}\sum \limits _{i=1}^{m}(y_i-wx_i)w=i=1∑m​xi2​−m1​(i=1∑m​xi​)2i=1∑m​yi​(xi​−x)​b=m1​i=1∑m​(yi​−wxi​)

ok!至此我们就可以根据样本信息,得到了最后的拟合曲线了。

均方误差的概率解释

上面为什么是用均方误差来作为损失函数呢,我们从概率角度来看下。

首先我们将式子写成如下这个形式:

y(i)=θTx(i)+ϵ(i)y^{(i)}=\theta^Tx^{(i)}+\epsilon^{(i)}y(i)=θTx(i)+ϵ(i)

这里的ϵ(i) \epsilon^{(i)}ϵ(i)表示的是误差项。同时我们假设误差项是独立同分布(IID: independent and identically distributed)于高斯分布ϵ(i) N(0,σ2) \epsilon^{(i)} ~ N(0, \sigma^2) ϵ(i) N(0,σ2),得到相应的概率密度为:

a=ba = ba=b

参考文献

  • [1]谨慎殷勤.怎样区分线性和非线性_线性与非线性的区别.CSDN

  • [2]wikipedia.Lasso (statistics).