机器学习入门——线性模型(1)

作者: 阡陌哥哥 | 来源:发表于2018-05-07 17:35 被阅读30次

线性linear,指量与量之间按比例、成直线的关系,在空间和时间上代表规则和光滑的运动,一阶导数为常数;非线性non-linear则指不按比例、不成直线的关系,代表不规则的运动和突变,一阶导数不为常数。

线性模型试图学得一个通过属性的线性组合来进行预测的函数,即

f(x) = ω1 X1 + ω2 X2 +...+ωdXd + b

一般用向量形式写成 f(x) = ωTx + b,其中ω = (ω1; ω2;...;ωd)可以认为是各属性的权重,x = (x1; x2;...;xd)

数据处理
对离散属性,若属性间存在“序”关系,可通过连续化将其转化为连续值,例如二值属性身高的“高”和“矮”可以转化为{1.0, 0.0}。若属性值间不存在序关系,假定有k 个属性值,则通常转化为k 维向量,例如属性"瓜类"的取值"西瓜" "南瓜" "黄瓜"可转化为(0 , 0 , 1) , (0, 1 ,0), (1 ,0, 0)。
对于连续型数据,我们也可以通过一些方法将其离散化。离散化有很多的好处,比如能够使我们的模型更加的简单,因为相对于连续类型数据,离散类型数据的可能性更少。对于某些模型比如计算广告中常用的逻辑回归,是非常需要我们输入离散化的特征的。
属性离散化方法
属性离散化方法有很多,基本可以分为三种分类方法。1. 无监督离散化和有监督离散化。在离散化过程中使用类信息的方法是有监督的,而不使用类信息的方法是无监督的。- 无监督离散化:
等宽分箱法:将数据均匀划分成n等份,每份间距相等。缺点是受异常值影响比较大。
等频分箱法:把观察点均匀分成n等份,每份包含的观察点相同。
聚类划分:使用聚类算法将数据聚成几类,每一个类为一个划分。- 有监督离散化:
基于(信息)熵的离散化方法。
卡方分裂法
2 全局离散化和局部离散化。全局离散化是指使用整个样本空间进行离散化,而局部离散化指在样本空间的某一个区域进行离散化。
3 动态离散化和静态离散化。动态离散化方法是在建立分类模型的同时对连续属性进行离散化,而静态离散化是在进行分类之前进行离散化。

线性模型中如何确定ω和b呢?

我们常用均方误差最小化来计算,即


式1

均方误差也是一种误差性能评价方法,具体可参考周志华老师的《机器学习》第45页。f(xi)表示学习器模型的预测输出,yi是真实值,arg min f(x)表示当f(x)取最小值时,x的取值,即右面的式子取最小值时ω和b的取值是ω*和b*

均方误差有非常好的几何意义,它对应于“欧氏距离”。下面介绍几种距离:
欧氏距离
n维空间点a(x11,x12,…,x1n)与b(x21,x22,…,x2n)间的欧氏距离(两个n维向量):


标准化欧氏距离: 标准化欧氏距离是针对欧氏距离的缺点而作的一种改进。标准欧氏距离的思路:既然数据各维分量的分布不一样,那先将各个分量都“标准化”到均值、方差相等。【对于尺度无关的解释】如果向量中第一维元素的数量级是100,第二维的数量级是10,比如v1=(100,10,30),v2 = (500,40),则计算欧式距离

可见欧式距离会给与第一维度100权重,这会压制第二维度的影响力。对所有维度分别进行处理,使得各个维度分别满足标准正态分布。
还有一种对欧式距离的处理是均值化但没有归一化(Normalized),即

其中s2i是第i维度的方差(此处虽然举例只有X,Y两个点,但整个数据集中会有无数个点,根据数据集得到方差分布)
曼哈顿距离
n维空间点a(x11,x12,…,x1n)与b(x21,x22,…,x2n)的曼哈顿距离:
切比雪夫距离
n维空间点a(x11,x12,…,x1n)与b(x21,x22,…,x2n)的切比雪夫距离:

使均方误差最小化来进行模型求解的方法称为“最小二乘法”,在线性回归中,最小二乘法就是找到一条直线,使所有样本到直线的欧氏距离之和最小。

拿出上述公式右半部分,要求

的最小值,可以考虑求极值,只需要将其分别对ω和b求偏导数并令其为0即可。最后求得ω和b最优解的闭式解:



其中

数值解是在特定条件下通过近似计算得出来的一个数值。
解析解,也叫闭式解。就是给出解的具体函数形式,从解的表达式中就可以算出任何对应值。

上面所计算的是针对d各变量属性描述的样本,其中x = (x1; x2;...;xd),称为线性回归模型的最小二乘参数估计。

如果给定数据集D = {(x1, y1),(x2, y2),...,(xm, ym)},其中xi = (xi1; xi2;...;xid),xij代表第i个样本的第j个特征,yi是真实情况,y = (y1;y2;...;ymT注意并不是我们划分的类型,(xm, ym)会是出现在样本空间中的某个点,我们要找到某个线将不同类的点区分开。样本个数是m个,由d个属性描述,类似于我之前写的西瓜的例子。我们试图学得

这称为“多元线性回归”。

我们将上面左边那个式子表示出来

第一个式子是 f(x1) = ω1x11 + ω2x12+ ... + ωdx1d + b。其实可以将b换成ω0,写为 f(x1) =ω0 + ω1x11 + ω2x12+ ... + ωdx1d,则 方程组为:


写为矩阵形式

即,f(xi) = xi ω

可以得到



这里的符号有些变化,但略一思考就可知道是如何对应的,还有因为这里的y是矩阵向量,所以需要有一个矩阵转置才能得到每一项差的平方和。和前面一样,接下来只需要让 对里面的ω(带尖角)求导并令其为0,就可解得ω(带尖角)最优解的闭式解。

考虑一下,如果将ω x + b放进另外一个单调可微函数g( . )里面有什么效果,即 y = g-1(ωTx + b),我们发现如果这样做的话,就可以将线性模型得到的输出以另外一种变化表达。比如如果将输出标记的对数作为线性模型逼近,即 lny = ωTx + b,实际上是让

逼近目标,看下图

这种模型被称为“广义线性模型”,其中g( . )称为联系函数。

参考:《机器学习》 周志华
http://www.cnblogs.com/jiaxin359/p/8574510.html
https://wenku.baidu.com/view/7f24b4b155270722192ef7cd.html
https://blog.csdn.net/qq1028850792/article/details/13024273

相关文章

  • 2019-10-29

    Day2 简单线性回归模型 机器学习入门--简单线性回归机器学习算法之线性回归算法 导入库matplotlib 绘...

  • [机器学习入门] 李宏毅机器学习笔记-25(Sturctured

    [机器学习入门] 李宏毅机器学习笔记-25(Sturctured Linear Model;结构化预测-线性模型)...

  • 机器学习入门-线性模型1

    现在的人工智能几乎是机器学习尤其是深度学习的代称了,不管是Alpha Go还是正在实验中的自动驾驶,其背后都是机器...

  • 机器学习入门——线性模型(1)

    线性linear,指量与量之间按比例、成直线的关系,在空间和时间上代表规则和光滑的运动,一阶导数为常数;非线性no...

  • Task4模型调参

    学习目标 了解常用的机器学习模型,并掌握机器学习模型的建模与调参流程 内容介绍 线性回归模型:线性回归对于特征的要...

  • 机器学习入门-线性模型2

    人工智能现在基本就是机器学习的代称了,所谓的“智能”就是从数据中寻找到的统计规律,并且用神经网络拟合后的模型。人工...

  • Python机器学习基础教程学习笔记(5)——线性模型(回归)

    Python机器学习基础教程学习笔记(5)——线性模型(回归) 1 线性回归处理wave数据集 1.1 wave数...

  • 2019-02-17

    机器学习系列 机器学习100天 机器学习第1天:数据预处理 机器学习第2天:简单线性回归模型 机器学习第3天:多元...

  • 西瓜书学习笔记-线性模型

    线性模型 1 基本形式 线性模型形式简单、易于建模,却蕴含这机器学习的一些重要思想。**许多功能强大的非线性模型可...

  • 线性回归模型

    参考:1.使用Python进行线性回归2.python机器学习:多元线性回归3.线性回归概念 线性回归模型是线性模...

网友评论

    本文标题:机器学习入门——线性模型(1)

    本文链接:https://www.haomeiwen.com/subject/qdwyrftx.html