线性模型(linear model)基本定义及参数求解数学本质、损失函数的选择与评估数学原理、及其基于线性模型衍生的其他机器学习模型相关原理讨论...

1. 线性模型简介

0x1:线性模型的现实意义

在一个理想的连续世界中,任何非线性的东西都可以被线性的东西来拟合(参考Taylor Expansion公式),所以理论上线性模型可以模拟物理世界中的绝大多数现象。而且因为线性模型本质上是均值预测,而大部分事物的变化都只是围绕着均值而波动,即大数定理。

事物发展的混沌的线性过程中中存在着某种必然的联结。事物的起点,过程,高潮,衰退是一个能被推演的过程。但是其中也包含了大量的偶然性因素,很难被准确的预策,只有一个大概的近似范围。但是从另一方面来说,偶然性自身也可以组成一条符合大数定理的线性。 

0x2:线性模型的基本形式

给定有d个属性描述的示例x = (x_{1};x_{2};...;x_{d}),线性模型试图学得一个通过属性的线性组合来进行预测的函数,即:

f(x)=\omega _{1}*x_{1}+\omega _{2}*x_{2}+...+\omega _{d}*x_{d}

一般用向量形式写成:,其中,

线性模型中 f(x) 可以是各种“尺度”上的函数,例如:

f(x)为离散的值:线性多分类模型
f(x)为实数域上实值函数:线性回归模型
f(x)为对数:对数线性模式
f(x)进行sigmoid非线性变换:对数几率回归
...

实际上 ,f(x)可以施加任何形式的变换,笔者在这篇blog中会围绕几个主流的变换形式展开讨论,需要大家理解的是,不同的变换之间没有本质的区别,也没有好坏优劣之分,不同的变换带来不同的性质,而不同的性质可以用于不同的场景。

1. 线性模型参数求解的本质 - 线性方程组求解

不管对 f(x) 施加什么样的变化,从方程求解角度来看,f(x)=\omega _{1}*x_{1}+\omega _{2}*x_{2}+...+\omega _{d}*x_{d}是一个线性方程组。

在这个方程组中,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)线性最小二乘的基本公式
考虑超定方程组(超定指未知数小于方程个数): ,其中m代表有m个等式,n代表有 n 个未知数  ,m>n ;
将其进行向量化后为:
  
   ,   ,
前面解释过,在大多数情况下,该方程组一般而言没有解,所以高斯为了选取最合适的 ,让该等式"尽量成立",引入残差平方和函数:
在统计学中,残差平方和函数可以看成n倍的均方误差MSE,常数n不影响参数求解,在计算时可忽略。
2)为什么是最小二乘?不是最小三乘或者四乘呢?

这节我们来讨论一个问题,为什么MSE的形式是平方形式的,这背后的原理是什么。

这里先抛出结论:在假设误差符合大数定理正态分布前提假设下,解线性模型参数优化问题等同于均方误差损失函数最小化问题

下面来证明这个结论:

在线性回归问题中,假设模型为,其中 x 为输入,b为偏置项。

根据中心极限定理(注意这个前提假设非常重要)(关于大数定理的相关讨论,可以参阅我另一篇blog)假设模型 h(θ) 与实际值 y 误差 ϵ 服从正态分布(即噪声符合高斯分布),即:  

则根据输入样本 xi 可以计算出误差 ϵi 的概率为: 

对应似然公式为:

其中 m 为样本总数。基于以上公式可以写出对数最大似然,即对 l(θ整体取log,则: 

则最大化似然公式 L(θ相当于最小化损失函数最小问题即变换为最小二乘求解问题

另外一点需要注意的是,线性回归的模型假设,这是最小二乘方法的优越性前提,否则不能推出最小二乘是最佳(即方差最小)的无偏估计,具体请参考高斯-马尔科夫定理。特别地,当随机噪声服从正态分布时,最小二乘与最大似然等价。

3)最小二乘参数求解方法
3.1)偏导数为零求极值方法

线性模型试图学得。同时在噪声符合高斯分布的假设前提下,均方误差是衡量 f(x) 和 y 之间的差别的最佳损失函数。</

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值