1. 线性模型简介
0x1:线性模型的现实意义
在一个理想的连续世界中,任何非线性的东西都可以被线性的东西来拟合(参考Taylor Expansion公式),所以理论上线性模型可以模拟物理世界中的绝大多数现象。而且因为线性模型本质上是均值预测,而大部分事物的变化都只是围绕着均值而波动,即大数定理。
事物发展的混沌的线性过程中中存在着某种必然的联结。事物的起点,过程,高潮,衰退是一个能被推演的过程。但是其中也包含了大量的偶然性因素,很难被准确的预策,只有一个大概的近似范围。但是从另一方面来说,偶然性自身也可以组成一条符合大数定理的线性。
0x2:线性模型的基本形式
给定有d个属性描述的示例,线性模型试图学得一个通过属性的线性组合来进行预测的函数,即:
一般用向量形式写成:,其中,
;
线性模型中 f(x) 可以是各种“尺度”上的函数,例如:
f(x)为离散的值:线性多分类模型
f(x)为实数域上实值函数:线性回归模型
f(x)为对数:对数线性模式
f(x)进行sigmoid非线性变换:对数几率回归
...
实际上 ,f(x)可以施加任何形式的变换,笔者在这篇blog中会围绕几个主流的变换形式展开讨论,需要大家理解的是,不同的变换之间没有本质的区别,也没有好坏优劣之分,不同的变换带来不同的性质,而不同的性质可以用于不同的场景。
1. 线性模型参数求解的本质 - 线性方程组求解
不管对 f(x) 施加什么样的变化,从方程求解角度来看,是一个线性方程组。
在这个方程组中,x 是我们已知的,因为我们有训练样本,所以在初始化时,我们的线性方程组看起来是如下形式:
y1 = 1 * w1 + 2 * w2 + .... + 3 * wn; .... yn = 3 * w1 + 4 * w2 + .... + 3 * wn;
每个样本代表线性方程组的一行,样本中完全线性共线的可以约去。
这样,我们就得到了一个 N(样本数) * M(特征维度) 的巨大矩阵。而样本的值和标签即(x,y)共同组成了一个巨大的增广矩阵。注意,是样本组成了系数矩阵,不是我们要求的模型参数!
求解线性模型的参数向量(w,b)就是在求解线性方程组的一个方程解,所有的方程解组成的集合称为线性方程组的解集合。
同时,在机器学习中,我们称 w 和 b 为线性模型的超参数,满足等式条件的(w,b)组合可能不只一种,所有的超参数构成了一个最优参数集合。实际上,根据线性方程组的理论,线性方程组要么有唯一解,要么有无限多的解。
唯一解的条件比较苛刻,在大多数的场景和数据集下,解空间都是无限的,机器学习算法的设计目标就是:
基于一种特定的归纳偏置,选择一个特定的超参数(w,b),使得模型具备最好的泛化能力,机器学习算法的目的不是解方程,而是获得最好的泛化能力。
当超参数通过训练拟合过程确定后,模型就得以确定。
0x3:线性模型蕴含的基本思想
线性模型的形式很简单,甚至可以说是一种最简单质朴的模型,但是却蕴含着机器学习中一些重要的基本思想:
1. 原子可叠加性:许多功能更为强大的非线性模型(nonlinear model)可在线性模型的基础上通过引入层级结构或高维映射而得到; 2. 可解释性(comprehensibility):权重向量 w 直观表达了各个属性在预测中的重要性(主要矛盾和次要矛盾),而误差偏置 b 则表达了从物理世界到数据表达中存在的不确定性,即数据不能完整映射物理世界中的所有隐状态,一定存在某些噪声无法通过数据表征出来;
Relevant Link:
https://www.cnblogs.com/jasonfreak/p/5551544.html https://www.cnblogs.com/jasonfreak/p/5554407.html http://www.cnblogs.com/jasonfreak/p/5595074.html https://www.cnblogs.com/pengyingzhi/p/5383801.html
2. 线性回归 - 基于线性模型的一种回归预测模型
0x1:线性回归模型的基本形式
通常给定数据集:D={(x1,y1),(x2,y2),…,(xn,yn)},其中xi=(xi1;xi2;…;xid),yi∈R。
线性回归(linear regression)试图学得一个线性模型:
,以尽可能准确地预测实值输出标记。
注意,这里用”尽可能地准确“这个词,是因为在大多数时候,我们是无法得到一个完美拟合所有样本数据的线性方程的,即直接基于输入数据构建的多元线性方程组在大多数时候是无解的。
例如下图,我们无法找到一条完美的直线,刚好穿过所有的数据点:
这个时候怎么办呢?数学家高斯发现了最小二乘,它的主要思想是:寻找一个解向量,它和目标数据点的距离尽可能地小。
所以现代线性回归算法所做的事情是:在一定的线性约束条件下,求解线性目标函数的极值问题,这是一个线性规划问题。
0x2:线性回归模型中损失函数的选择
我们上一章说道,直接基于输入数据求解对应线性方程组是无解的,高斯为了解决这个问题,引入了最小二乘。在此之上,之后的数学家又发展出了多种损失评估函数,其数学形式各异,但其核心思想是一致的。
我们知道,损失函数的选择,本质上就是在选择一种误差评价标准。我们知道,损失函数的本质是物理世界和数学公式之间的桥梁,选择何种损失函数取决于我们如何看待我们的问题场景,以及我们希望得到什么样的解释。关于损失函数的讨论,读者朋友可以参阅另一篇blog。
我们这章来讨论主要的常用损失函数。
1. 最小二乘损失函数
1)线性最小二乘的基本公式
![](https://gss2.bdstatic.com/-fo3dSag_xI4khGkpoWK1HF6hhy/baike/s%3D199/sign=d1bb41dc80d6277fed12363111391f63/21a4462309f79052ce9892590bf3d7ca7acbd5d6.jpg)
![](https://gss3.bdstatic.com/-Po3dSag_xI4khGkpoWK1HF6hhy/baike/s%3D17/sign=62db12086009c93d03f20af09e3d6cb4/b999a9014c086e06b659674d05087bf40bd1cbc7.jpg)
![](https://gss3.bdstatic.com/-Po3dSag_xI4khGkpoWK1HF6hhy/baike/s%3D49/sign=e9d6c22fecc4b7453094b61fcefcadf2/14ce36d3d539b600d9704bb1ee50352ac65cb77e.jpg)
![](https://gss2.bdstatic.com/9fo3dSag_xI4khGkpoWK1HF6hhy/baike/s%3D199/sign=865441eba4cc7cd9fe2d30d000002104/5fdf8db1cb13495423d8b262514e9258d0094af5.jpg)
![](https://gss0.bdstatic.com/94o3dSag_xI4khGkpoWK1HF6hhy/baike/s%3D88/sign=1b808bc4b5119313c343f2b86438c5ac/7e3e6709c93d70cf7304ef0bffdcd100baa12b3d.jpg)
![](https://gss1.bdstatic.com/9vo3dSag_xI4khGkpoWK1HF6hhy/baike/s%3D85/sign=a3688735748da9774a2f8b2eb151a361/e850352ac65c1038babb8ac4b5119313b17e89eb.jpg)
![](https://gss0.bdstatic.com/94o3dSag_xI4khGkpoWK1HF6hhy/baike/s%3D17/sign=24e9c30334fa828bd52399e4fc1f1a41/dbb44aed2e738bd42bcbf537a68b87d6267ff9ca.jpg)
![](https://gss2.bdstatic.com/-fo3dSag_xI4khGkpoWK1HF6hhy/baike/s%3D119/sign=f5b5ca279413b07eb9bd540935d79113/91ef76c6a7efce1b935185cca851f3deb48f65b9.jpg)
2)为什么是最小二乘?不是最小三乘或者四乘呢?
这节我们来讨论一个问题,为什么MSE的形式是平方形式的,这背后的原理是什么。
这里先抛出结论:在假设误差符合大数定理正态分布前提假设下,解线性模型参数优化问题等同于均方误差损失函数最小化问题。
下面来证明这个结论:
在线性回归问题中,假设模型为,其中 x 为输入,b为偏置项。
根据中心极限定理(注意这个前提假设非常重要)(关于大数定理的相关讨论,可以参阅我另一篇blog)假设模型 h(θ) 与实际值 y 误差 ϵ 服从正态分布(即噪声符合高斯分布),即:
则根据输入样本 xi 可以计算出误差 ϵi 的概率为:
对应似然公式为:
其中 m 为样本总数。基于以上公式可以写出对数最大似然,即对 l(θ) 整体取log,则:
则最大化似然公式 L(θ) 相当于最小化,损失函数最小问题即变换为最小二乘求解问题。
另外一点需要注意的是,线性回归的模型假设,这是最小二乘方法的优越性前提,否则不能推出最小二乘是最佳(即方差最小)的无偏估计,具体请参考高斯-马尔科夫定理。特别地,当随机噪声服从正态分布时,最小二乘与最大似然等价。
3)最小二乘参数求解方法
3.1)偏导数为零求极值方法
线性模型试图学得。同时在噪声符合高斯分布的假设前提下,均方误差是衡量 f(x) 和 y 之间的差别的最佳损失函数。</