周志华教授的书中用到了不少数学公式和运算过程,为了方便理解,对于比较复杂的数学运算我先只分析其中的思维方法,不对具体运算做深究。
一、什么是线性模型
所谓线性(linear),是指量与量之间按比例、成直线的关系,即一次函数关系。一般来讲,如果两个变量呈线性关系,在平面坐标轴上画出来的图像是一条直线。非线性(non-linear)则指不按比例、不成直线的关系,如二次或多次函数关系。
线性模型(linear model)试图学到一个通过属性的线性组合来进行预测的函数。比如,doudog通过对美女的年龄、身高、体重、皮肤、脸型和声音等属性综合预测女神,那么它可以为每个属性设定一个权重,假设总共需要组合d个属性,每个属性的权重是wd,那么就得到:
f(x) = w1*年龄 + w2*身高 + w3*体重 + w4*皮肤 + w5*脸型 + w6*声音 + ... + wd*属性d + b
这就是一个线性模型,其中w的值越大说明对应的属性越重要,b是随机误差,由其他未考虑因素和随机性影响
二、线性回归
我们有了模型,然后根据模型去确定样本的分类,比如我给doudog一个y = 0.1*年龄 + 0.1*身高 + 0.1*体重 + 0.3*皮肤 + 0.1*脸型 + 0.3*声音 + 1,那么doudog只要把美女的年龄、身高、体重等属性数据带进去,求出y的值,就可以求出女神指数。这相当于把训好的狗放出去。
那反过来,如果我们不知道w权重的值,但是我手中有1000位美女的年龄、身高、体重等属性数据,并且还知道每一位是女神还是女汉子,那我就要利用这些数据来分析他们之间的关系,也就是确定每个属性的权重w和随机误差b。这相当于把狗收回来驯化,也就是回归。
线性回归(linear regression)就是试图学到一个线性模型,以尽可能准确的预测输出标记,由于已经确定为线性关系,那么我们的主要任务就是要确定w和b的值,也就是模型求解。
显然,确定w和b的关键在于:以w和b为参数的模型的预测结果与真实结果之间的差别。衡量这个差别就要用到“均方误差”(mean squared error),它是回归任务中最常用的性能度量。对所有样本的模型预测结果与真实结果的差的平方求和,再除以样本数量,就得到均方误差。
基于均方误差最小化进行模型求解的方法就是“最小二乘法”(least square method),其几何意义为找到一条直线,使所有样本到直线的距离最小。求解w和b使线性模型均方误差最小的过程,称为线性回归模型的最小二乘“参数估计”(parameter estimation)。
将均方误差分别对w和b求导,再令得到的式子为零,就可以得到w和b的最优解的闭式解。
求解有多个属性(变量)的线性模型称为“多元线性回归”(multivariate linear regression),多元线性回归涉及向量和矩阵的运算。
如果属性过多,甚至超过样例的数量,那么就导致矩阵的列数多于行数,就可以解出多个w,选择哪一个解由学习算法的归纳偏好决定。
线性模型可以有很多变化,上述过程探讨了如何使线性模型的预测值逼近真实值,那么也可以使其逼近真实值的衍生值,比如逼近真实值的对数,就叫做“对数线性回归”(log-linear regression)。
再一般化一些,可以逼近真实值的单调可微函数g(.)。这实际上就是试图让预测值关于g(.)的反函数的值逼近真实值,在形式上依然是线性回归,但实质上已经是求取输入空间到输出空间的非线性函数映射。这个函数g(.)称为“联系函数”(link function)。
三、对数几率回归
对于分类问题,也可以用线性回归来处理,只要找到一个单调可微函数,把分类任务的真实标记,与线性回归模型的预测值联系起来。
对于判断女神、女汉子这种二分类问题,我可以使用“单位阶跃函数”(unit-step function),假设doudog利用线性回归求出的女神指数为z:
当z > 60时,输出标记y = 1,是女神
当z < 60时,输出标记y = 0,是女汉子
当z = 60时,输出标记y = 0.5,随便doudog怎么判定
但是单位阶跃函数并不连续,因此可以使用近似单位阶跃函数的替代函数,比如常用的对数几率函数(logistic function):
y = 1 / ( 1 + e的-z次方 )
它可以把z的值转化为一个接近0或1的y值。
对上式进行类似对数回归分析的变化可得到
ln y / ( 1- y ) = z
y是样本为正例的可能性,1 - y则是其为反例的可能性,二者的比值成为几率(odds),反映了样本作为正例的相对可能性,对几率取对数就得到“对数几率”(log odds)。
上述过程实际上是用线性模型的预测值去逼近真实值的对数几率,因此称作对数几率回归,它实际上一种分类学习方法。
对数几率回归模型可以通过“极大似然法”(maximum likelihood method)来估计w和b。
本文为学习思考笔记,难免有错误和不准确之处,欢迎吐糟、探讨。
原创声明:“机器学习笔记”系列文章为本人(李博blog.xzlib.com)学习《机器学习》(周志华著,清华大学出版社)一书过程中的笔记,内容均为本人结合书中讲述和自身理解所写,文章配图、视频均为本人原创,转载和引用请注明出处并不得篡改作者姓名,本人保留《中华人民共和国著作权法》赋予的所有权利。