二 连续苦情剧:机器学习入门笔记:线性模型

一.基本形式
给定由d个属性描述的示例x= (x1; x2; …; xd),其中 xi 是 x 在第 i 个属性上的取值,线性模型(inear model)试图学得一个通过属性的线性组合来进行预测的函数,即:
一般用向量形式写成:
其中w= (w1;w;…;wd).w和b学得之后 , 模型就得以确定.
线性模型具有良好的可解释性() , 每个属性对应的权重可以理解为它对预测的重要性 , 并且建模较为简单 , 许多功能更为强大的非线性模型( model)都是在线性模型的基础上引入层级结构或高维映射得到的 。
本章介绍几种经典的线性模型.我们先从回归任务开始 , 然后讨论二分类和多分类任务.
二.线性回归
给定数据集D = {(x1,y1), (x2,y2))…,.(xm,ym)},其中xi = (xi1;xi…;xid), yi∈R.“线性回归”( )试图学得一个线性模型以尽可能准确地预测实值输出标记.
2.1 离散属性连续化
由于不同模型对数据的要求不一样 , 在建模之前 , 我们需要对数据做相应的处理 。一般的线性回归模型要求属性的数据类型为连续值 , 故需要对离散属性进行连续化 。
具体分两种情况:
属性值之间有序:也即属性值有明确的大小关系 , 比方说把二值属性“身高”的取值 {高 , 矮} 可转化为 {1.0 , 0.0} , 三值属性 “高度”的取值 {高 , 中 , 低} 转换(编码)为 {1.0 , 0.5 , 0.0};
属性值之间无序:若该属性有 k 个属性值 , 则通常把它转换为 k 维向量(把1个属性扩展为k个属性) , 比方说把无序离散属性 “商品” 的取值 {牙膏 , 牙刷 , 毛巾} 转换为 (0 , 0 , 1) , (0 , 1 , 0) , (1 , 0 , 0) 。这种做法在自然语言处理和推荐系统实现中很常见 , 属性 “单词” 和 “商品” 都是无序离散变量 , 在建模前往往需要把这样的变量转换为哑变量 , 否则会引入不恰当的序关系 , 从而影响后续处理(比如距离的计算 。
补充:对应于离散属性连续化 , 自然也有连续属性离散化 , 比方说决策树建模就需要将连续属性离散化 。此外 , 在作图观察数据分布特征时 , 往往也需要对连续属性进行离散化处理(比方说画直方图) 。
2.2 最小二乘法
回归任务最常用的性能度量是均方误差(meanerror, MSE) , 亦称平方损失( loss) 。首先介绍单变量线性回归 , 试想我们要在二维平面上拟合一条曲线 , 则每个样例(即每个点)只包含一个实值属性(x值)和一个实值输出标记(y值) , 此时均方误差可定义为:
有时我们会把这样描述模型总误差的式子称为损失函数或者目标函数(当该式是优化目标的时候) 。这个函数的自变量是模型的参数 w 和 b 。由于给定训练集时 , 样本数 m 是一个确定值 , 也即常数 , 所以可以把1/m这一项拿走 。
最小二乘法(least)就是基于均方误差最小化来进行模型求解的一种方法 , 寻找可使损失函数值最小的参数 w 和 b 的过程称为最小二乘参数估计( ) 。在线性回归中 , 最小二乘法就是试图找到一条直线 , 使所有样本到直线上的欧氏距离之和最小 。
通过对损失函数分别求参数 w 和 b 的偏导 , 并且令导数为0 , 可以得到这两个参数的闭式(-form)解(也即解析解)
关于最小二乘法的详细推导过程 , 可以去看下面这篇文章: