Day 3 -- 线性模型(上篇)

第三章线性模型

本节文章主要讨论线性模型的回归,属于线性模型上篇,主要介绍线性模型的基本形式,线性模型的回归原理以及线性模型的分类用法(对数几率回归)

3.1线性模型的基本形式

假设一个某个数据集中的每个示例由d维属性表示,则其中每个示例均可以表示为X =(x1; x2; ...;xd),其中xi表示示例x在第i个属性上的属性值,则我们可以构建如下的线性模型

f(x)  =   w1*x1 + w2*x2 + ...... + wd*xd +b

若使用 W   =(w1; w2;  ... ;wd),则上面的模型可以表示为

f(x) =   transfer(W· X  + b

在此基础上,只要确定了W 和 b,这个模型便确认下来。

       线性模型 形式简单,易于建模,却蕴涵着机器学习中一些重要的基本思想,许多功能强大的非线性模型,都是受线性基本模型的启发,通过引入层级结构或高维映射而得。同时,线性模型又有很好的可解释性,W各维的相对大小就代表了各个属性对结果的影响大小

3.2 线性回归

        在创建基础模型之前,通常需要确定各个属性值的值域问题,此问题在此不做详解,下面主要介绍如何在 已有 (X,y)的情况下利用最小二乘法得出W和b的方法。

       首先需要理解的是,我们希望求得的W和b需要满足什么样的条件。不难理解的,我们希望通过f(x) =   transfer(W· X  + b 求得的f(x)与y的差值最小,即希望通过模型得出的结果与真实情况无限接近,这个误差为0是我们追求的目标;然而,大多数情况下,这个误差难以达到0。

         在有m个训练样本的情况下,我们希望使得∑((f(xi)- yi)^2)取得最小值。这里我们使用了每个样本的预测误差的平方作为求和的元素,因为如果不加平凡,就可能存在一部分误差为正而另外一些为负的情况,直接求和会使结果比真实值小很多,造成很大的误差。这也就是均方误差的概念,均方误差有很好的集合意义,对应了集合上的欧氏距离。因此我们得知,能使均方误差最小的W和b,就是我们希望求得的W和b,即

Day 3 -- 线性模型(上篇)_第1张图片

利用最小二乘法可以求得

Day 3 -- 线性模型(上篇)_第2张图片


       有关于最小二乘法的具体实现,请读者参考其他资料,这里提供一下计算思路:设出均方误差E关于W和b的映射,然后将E对W和b分别求导,令导数为0,即可解出W和b。这里的依据是函数的导数意义,体现在几何上就是函数值变化率为0的点,函数在此处的导数为0。

       上面讨论的是单属性样例数据集的情况,相应的,可以将属性维数延伸到d维,此时的线性模型可以表示为

f(Xi) =  transfer(W· Xi + b

         类似的,最小二乘法同样可以确定出W和b,需要运用一点线性代数的功能,有兴趣的读者可以推算一下。

          线性模型虽简单,却有丰富的变化。基本线性模型我们希望预测值f(x)逼近真实标记y,为便于观察,我们将模型改写为 y = transfer(WX + b,尝试令模型逼近 y 的衍生物,比如ln(y),这就是“对数线性回归”(log-linear regression)ln(y) =  transfer(W+ b。它实际上是试图让e^(transfer(WX+b)逼近y。形式上仍是线性回归,但实质上已是在求取输入空间到输出空间的非线性函数映射。更一般的,可以考虑单调可微函数 g(·),令

这样得到的广义线性模型,其中  g(·)称为“联系函数”(link function)。

3.3 对数几率回归

        上一节讨论的是线性模型,在连续值域上的逼近,那这一节我们主要讨论的是线性模型的分类用法。这里要考虑的问题其实就是如何将连续值域上的值映射到离散值域上的问题;上一节末尾我们讨论的联系函数,联系函数可以将线性值域的输入空间映射到非线性空间的输出空间,那是不是也可以用来将联系值域的输入空间映射到离散值域的输出空间呢?

        答案是肯定的。 单位阶跃函数就具有我们希望的性质

        这里需要介绍一下单位阶跃函数以及对数几率函数

Day 3 -- 线性模型(上篇)_第3张图片
单位阶跃函数


Day 3 -- 线性模型(上篇)_第4张图片
单位阶跃函数与对数几率函数

        由于上一节讨论的联系函数需要单调可微,在此条件下单位阶跃函数便不适用,因此我们引入的对数几率函数

logistic function

          可以看出,对数几率函数是一种“Sigmoid”函数,它将z值转化为一个接近0或1的值。将对数几率函数作为联系函数带入线性模型,得到

         转化为

         若将y视为样本x为正例的可能性,则1-y为样本x为反例的可能性。两者的比值y/(1-y)称为“几率”(odds),反映了x作为正例的相对可能性,对几率取对数 ln(y/(1-y)),则得到对数几率。

        同样,具体求得W和b的方法在此不做详解,笔者在此提供一个方法--“极大似然法”,这里使用到的数学原理较为高深(至少笔者认为 -_-|||),有兴趣的读者可以尝试尝试。


后记:

        开始本系列文章已经有些时日,开始进入机器学习的主要范围。大部分内容都只是为大家提供一个解决问题的思路,较为详细的数学推导都被读者略过(谅解谅解,不提供数学公式编辑,这样写实在麻烦,写出来也估计很难看懂。。)这里要向大家道个歉,但是欢迎大家私聊笔者一起学习,一起进步。

        笔者写这些文章的目的,不仅在于给读者加深自己的印象,还在于和众多机器学习爱好者一起探讨、学习,笔者自身也有很多不明白的领域,只希望与大家共同学习,共同进步!

你可能感兴趣的:(Day 3 -- 线性模型(上篇))