初学ML笔记N0.1——线性回归,分类与逻辑斯蒂回归,通用线性模型

1.线性回归


线性回归,即假设使用一个线性的模型方程,来拟合特征与结果,如下

图片

向量形式:

图片

x1,x2为输入特征。在上式中,theta则为每个特征所对应的权重值,上式隐含了一个条件,即我们假设还有x0这个特征,其值全部为1。

定义cost function为:

图片

上式可以看到,J(θ)的值即为所有训练集的偏差平方和,我们的目标即是找到一组合适的θ,来使J(θ)达到最小化。

1.1梯度下降


求解θ:

图片

对J(θ)求偏导数再带入:

图片
由以上公式可以看到,对于每个θj,都会用到所有的训练集数据,经过不断的迭代,并且是每个θ都同时迭代,最终θj会收敛到最合适的值去。
α叫做学习率,其值大小影响收敛进度,可以想象到,如果α过大,一次性步长过多,那么可能造成收敛来回震荡形式;如果α过小,当快要收敛完毕时,偏导数会很小,两个很小的数相乘会更小,那么收敛的速度就大大降低了。通常,α可以通过实验选取,0.001,0.01,0.1等。
另外,还存在一个隐性的影响收敛速度的原因,及每个特征的取值范围问题。当我们绘制出J(θ)等高线,发现由于每个特征范围不一样,等高线则存在高矮胖瘦问题,这对于梯度下降方法有很大的副作用,若我们起始点选取得不好,那么收敛将会变得很慢。为了解决这个问题,我们将所有参数都统一到同一个尺度去,比较简单的做法就是将其变为0均值,及先减掉该特征均值,再除以该特征的最大范围值。

1.2 Normal equation


直接了解公式:

图片

其中X向量的每一行,即为一个训练样本:

图片

y向量为训练集的样本的值:

图片
这里要注意的是(X^T X)虽然是方阵,但仍有其不可逆的可能性,常见的引起原因就是参数个数比训练样本的个数多,此时要么引入regulazrization项,或者去掉一些相关性强的特征项。
另外,在矩阵求解时,不用对X阵像梯度下降法那样进行归一化处理了。

1.3Local weighted线性回归


普通线性回归可能有过拟合与欠拟合问题,所以,这里引入一种改进算法:

图片

其中ω^[i] 一种比较标准的选择如下:

图片

这里实际上是一个分段线性回归,我们要提前使用到想要预测的样本值x,并在x附近做线性回归,由ω^[i] 表达式可以看到,当X^[i] 离X很近时,ω^[i] 趋近于1,也就是说这些点的权重比较大;当X^[i] 离X远时,ω^[i] 趋近于0,即离预测点越远,权重越小。
其中,τ叫做bandwidth变量,作用类似于α,其影响了距离与权重大小的关系,也是一个通过实验得出的值。

2.分类与逻辑斯蒂回归

以上内容,都讨论的是回归内容,即预测值是连续的,对于有些情况,取值通常就两项,0或者1。我们必须将预测的函数值映射为0或者1,此时我们选择的函数如下:

图片
图片

以上函数就叫做逻辑斯蒂函数。它是一个连续函数,我们可以假设其上的点的值,就是取到其X的概率。在X靠近0的地方,概率较小,这也能说通,因为X=0处,就是Y=0与Y=1交界的地方,在那里容易判断出错,所以概率较小,越偏离0,概率越大。所以我们做出如下假设:

图片

写紧凑一点就是:

图片

接着考虑如何选取cost fuction。
有两种考虑方式,得出的结果都一样。
其一,假设所有m个训练样本都是独立的,我们利用θ的似然函数来求解。如下:

图片

两边同取对数,

图片

为了求似然函数的最值,我们还是用梯度下降公式进行迭代。此时,公式为:

图片

注意,中间变为了加号,因为我们要寻找似然函数的最大值。
接着跟第一节一样,对函数求偏导数,得出最后结论:

图片

可以发现,其形式跟线性回归方程形式是一样的。
其二,在分类情况下,考虑训练样本中值为1的样本,此时我们的cost fuction要求当我们预测值为1时,cost fuction值最小要为0(尽量减少cost的意思),当我们预测值为0时,cost fuction要足够大(表示我们预测有误),这时,采用log(h(x))刚好能满足要求。接着考虑训练样本中值为0的样本,情况刚好相反,我们采用log(1-h(x))。将两种情况写在一起,即为y*log(h(x))+(1-y)*log(1-h(x))。假设样本间是独立的,那么我们就可以利用上边的方法,求取最大似然值了。

2.1牛顿法求取似然函数最值


牛顿法就是通过不断迭代,来求得函数值为0处的参数值。其工作原理如下图:

图片

通过不断求取切线与X轴的新交点作为迭代的值,来收敛到函数值为0的那一点。
但这与我们求取似然函数最值有什么关系?
考虑到函数最值就是其导函数的零点那个值,我们就可以利用牛顿法求取似然函数的导函数的零点,则找到了我们想要的极值了。
所以,迭代公式为:

图片

化简后为:

图片

其中,H^-1 为Hessian矩阵,形式为:

图片

2.2梯度下降法与牛顿法对比


梯度下降法需要靠经验选择学习速率,牛顿法则不需要任何额外参数。
梯度下降法需要通过大量迭代次数才能找到最小值,牛顿法迭代次数则较少。
特征数量较少时选用牛顿法,较大时选用梯度下降法,通常以1000为界。

3.通用线性模型


首先定义一个指数簇函数如下形式:

图片

什么叫通用线性模型呢?
意思就是以上函数模型能够表示一类线性模型。
前文中讨论的线性回归模型与分类模型,均可用以上通式来表示。
对于分类问题的伯努利模型:

图片

红线三个部分可以与通式进行对比。
对于回归问题的高斯模型:

图片

同样也可写为指数簇函数形式。

3.1通用线性模型例子


如果想预测单位小时内,进入你店内(或者浏览你网页)的人数,那该怎么建立模型呢?
首先,选取特征,因素很多,如促销活动、广告投放、天气以及是否是周末。
然后,我们知道这种情况的概率模型符合泊松分布,但是如何建立模型呢?
这就利用到了我们的通用线性模型。泊松分布模型正是指数簇函数中的一员。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值