机器学习入门|线性回归(二)

简介: 回归函数可以选择的表示很多。但是根据奥卡姆剃刀原则,应该选择简单而又可行的回归函数。显然,如果可行,,线性函数是最简单的回归函数。

回归函数可以选择的表示很多。但是根据奥卡姆剃刀原则,应该选择简单而又可行的回归函数。显然,如果可行,,线性函数是最简单的回归函数。当回归函数F采用线性模型表示时 ,我们称该类模型为线性回归(linear regression)。线性模型简单,易于建模,由于ω直观的表达了个属性再预测中的重要性,因此线性模型有很好的可解释性(comprehensibility)。
对于样例(x,y),当我们希望线性模型的预测值逼近真实标记y时,就得到了线性回归模型,我们把线性回归模型简写为:

y=ωTx+b

.
其中系数omega,bR称为回归系数(regression coefficient)。
求回归系数通常有两种方法,除了上文提到的基于最小二乘的normal equation,还有就是通过梯度下降来求解,关于梯度下降可以去看小威精的这篇从梯度下降说起。
这里不多说了(有空把线代再重学一学之后再来补充(/▽\)),网上搜了一个梯度下降和Normal equation的区别总结:
453ea79d82b94bdb53dcbd57810a650_1024x448_1_
线性回归模型,我们知道实际上是通过多个自变量对自变量进行曲线拟合。我们希望找到一条可以较好拟合的曲线,那我们如何判断一条曲线的拟合程度的好坏?上文在推到出来的结果

J(θ)=mi=1(y(i)θTx(i))2

中,我们知道的是最小二乘法(预测值和真实值得误差的平方和),原理是正态分布。

对数线性回归(log-linear regression)

lny=ωTx+b.(1)

它实际上是试图让eωTx+b逼近y,(1)式在形式上仍然式线性回归,但实质上是在求取输入空间到输出空间的非线性函数映射。如下图,这里的对数函数起到了将线性回归模型的预测值与真实标记联系起来的作用。
WeChat_Image_20180117111323_1_
更一般的,考虑单调可微函数g(),令

y=g1(ωTx+b)

这样得到的模型称为“广义线性模型”(generalized linear model),其中函数g()称为“联系函数”(link function).显然,对数线性回归是广义线性模型在g()=ln()时的特例。

对数几率回归

如果要用线性模型解决分类任务,只需在广义线性模型中找一个单调可微函数将分类任务的真实标记y与线性模型的预测值联系起来。
举个例子,对于对于二分类任务,其输出标记y0,1,将线性回归模型预测的连续值来转换为0和1。采用“单位阶跃函数”(nuit-step function)

y={0,z<00.5,z=01,z>0

即预测值大于零就判断为正例,小于零则判断为反例,预测值为临界值零则可任意判别,如图:
45dfcf946d376ee476c2f1f9b7c18cb_1_
单位阶跃函数不连续,于是需要一个“替代函数”(surrogate function):

y=11+ez

对数几率函数是一种“Sigmoid函数”,它将z值转化为一个接近0或1的y值,并且其输出值在z=0附近变化很陡,将对数几率函数作为g1()带入(2)式,得:

y=11+e(ωTx+b)(3)

整理得

lny1y=ωTx+b(4)

若将y视为样本x作为正例的可能性,则1y是其反例的可能性,两者的比值

y1y

称为“几率”(odds),反应了x作为正例的相对可能性。对几率取对数则可得到“对数几率”(log odds,亦称logit)

lny1y

由此可以看出,式(3)是在用线性回归模型的预测结果去逼近真实标记的“对数几率”(结合式(4)),因此,其对应的模型称为“对数几率回归”(logistics regression,亦称logit regression)。
对于“对数几率回归”,有几点需要注意:
名字虽然式回归,但实际确实一种分类学习方法
优点:直接对分类可能性进行建模,无需事先假设数据分布,这样就避免了假设分布不准确所带来的问题
不仅是预测出“类别”,而是可以得到近似概率预测,这对许多需要利用概率辅助决策的任务很有 用
对数函数是任意阶可导的凸函数,现有的许多数值优化算法都可直接用于求取最优解
下面来看看如何确定式(3)中的ωb。若将式(3)中的y视为类后验概率估计p(y=1|x,则式(4)可重写为

lnp(y=1|x)p(y=0|x)=xTx+b

可以得到:

p(y=1|x)=eωTx+b1+eωTx+b(7)

p(y=0|x)=11+eωTx+b(8)

于是,我们可以通过“极大似然法”(maximum likelihood method)来估计ωb
注:极大似然估计可以看这篇博客[最大似然估计总结(转载)
](http://www.baishuidongcheng.com/994.html)给定数据集{(xi,yi)}mi=1,对率回归模型:
似然函数:L(ω,b)=mi=1p(yi|xi;ω,b).
对数似然:ι(boldsymbolomega,b)=summi=1lnp(yi|boldsymbolxi;boldsymbolomega,b)(5)
“对数似然”最大化,即零每个样本属于其真实标记的概率越大越好。为了方便讨论,令β=(ω;b),ˆx=(x;1)ωTx+b可简写为βTˆx。再令p1(ˆx;β)=p(y=1|ˆx;β),p0(ˆx;β)=p(y=0|ˆx;β)=1p1(ˆx;β),则式(5)中的似然项可重写为

p(yi|xi;ω,b)=yip1(ˆx;β)

+(1yi)p0(ˆx;β)(6)

将式(6)带入式(5)中,并根据式(7)(8)可知,最大化式(5)等价于最小化(取相反数):

ı(β)=mi=1(yiβTˆxi+ln(1+eβTˆxi))

上式是关于β的高阶可导连续凸函数,根据凸优化理论,经典的数值优化算法如梯度下降(gradient descent method)、牛顿法(Newton method)等都可求得其最优解。

线性回归也终于告一段落了,后文就是周志华《机器学习》的原文,写的实在式太精彩了,现在的水平没法补充什么,就厚颜无耻的“记”下来吧o(////▽////)q

目录
打赏
0
0
0
0
1243
分享
相关文章
使用机器学习技术进行时间序列缺失数据填充:基础方法与入门案例
本文探讨了时间序列分析中数据缺失的问题,并通过实际案例展示了如何利用机器学习技术进行缺失值补充。文章构建了一个模拟的能源生产数据集,采用线性回归和决策树回归两种方法进行缺失值补充,并从统计特征、自相关性、趋势和季节性等多个维度进行了详细评估。结果显示,决策树方法在处理复杂非线性模式和保持数据局部特征方面表现更佳,而线性回归方法则适用于简单的线性趋势数据。文章最后总结了两种方法的优劣,并给出了实际应用建议。
231 7
使用机器学习技术进行时间序列缺失数据填充:基础方法与入门案例
探索机器学习:从线性回归到深度学习
本文将带领读者从基础的线性回归模型开始,逐步深入到复杂的深度学习网络。我们将通过代码示例,展示如何实现这些算法,并解释其背后的数学原理。无论你是初学者还是有经验的开发者,这篇文章都将为你提供有价值的见解和知识。让我们一起踏上这段激动人心的旅程吧!
探索机器学习中的线性回归模型
本文深入探讨了机器学习中广泛使用的线性回归模型,从其基本概念和数学原理出发,逐步引导读者理解模型的构建、训练及评估过程。通过实例分析与代码演示,本文旨在为初学者提供一个清晰的学习路径,帮助他们在实践中更好地应用线性回归模型解决实际问题。
探索AI的奥秘:机器学习入门指南
【10月更文挑战第30天】本篇文章是一份初学者友好的机器学习入门指南,旨在帮助读者理解并开始实践机器学习。我们将介绍机器学习的基本概念,包括监督学习、无监督学习和强化学习等。我们还将提供一些实用的代码示例,以帮助读者更好地理解和应用这些概念。无论你是编程新手,还是有一定经验的开发者,这篇文章都将为你提供一个清晰的机器学习入门路径。
90 2
机器学习基础:使用Python和Scikit-learn入门
机器学习基础:使用Python和Scikit-learn入门
59 1
机器学习入门:理解并实现K-近邻算法
机器学习入门:理解并实现K-近邻算法
78 0
机器学习基础:使用Python和Scikit-learn入门
【10月更文挑战第12天】本文介绍了如何使用Python和Scikit-learn进行机器学习的基础知识和入门实践。首先概述了机器学习的基本概念,包括监督学习、无监督学习和强化学习。接着详细讲解了Python和Scikit-learn的安装、数据处理、模型训练和评估等步骤,并提供了代码示例。通过本文,读者可以掌握机器学习的基本流程,并为深入学习打下坚实基础。
60 1

热门文章

最新文章