【无标题】周志华机器学习线性模型

一、本周学习情况

  1. 学习周志华机器学习线性模型的章节内容
  2. 学习梯度下降法和牛顿法

二、学习情况描述

1.线性模型优缺点

形式简单、易于建模,但却蕴涵着机器学习中一些重要的基本思想,许多功能更为强大的非线性模型可在线性模型的基础上通过引入层级结构或高维映射而得,此外线性模型有很好的可解释性。

2.线性回归模型的求解目标

线性回归试图学习得到一个线性模型以尽可能的预测出实值输出标记。通过在数据集上建立线性模型,建立代价函数(选用均方误差),最终以优化代价函数为目标确定模型参数,从而得到模型用以后续的预测。线性回归算法流程如下图:

注:均方误差是回归任务中最常用的性能度量,其有非常好的几何意义,对应了常用的欧几里得距离。而基于均方误差最小化来进行模型求解的方法称为“最小二乘法”,所以其代价函数如下所示,之后确定w和b的值使其值最小。

3.多元线性回归

把w和b统一记为w=(w;b),数据集D表示为一个m*(d+1)大小的矩阵X,如下图所示

新的优化目标表达式如下:

新代价函数如下:

进行相应求导,求导结果如下:

令上式求导后的结果为零,则可以得到最优闭式解(此时需要分情况讨论)。

当XTX为满秩矩阵或者正定矩阵时,另上式为零有下式

此时线性回归模型如下所示:

  • 若XTX不是满秩矩阵时,这时常常引入正则化项解决问题(解决方法:https://blog.csdn.net/qd1308504206/article/details/102958098)

扩展:使用python语言来验证①中的式子

4.线性回归总结

5.对数线性回归

6.广义线性回归

线性回归模型为y=wTx+b ,此时我们可以让线性回归模型去逼近y的其他目标,例如lny。考虑单调可导函数h(⋅),令h(y)=wTx+b,这样wTx+b可以逼近一个h(⋅),如果我们选好的h(⋅)就可以使用线性模型去逼近不同的函数了,我们称这样的模型为广义线性模型(generalized linear model)。表达式可以记为如下:

对数线性回归是广义线性回归的一种情况。

个人理解:y和x不是线性关系,但是g(y)和x是线性关系,由此解得y等于以上的式子。

7.对数几率回归(逻辑回归)

对数几率回归是广义线性模型的一种推广。把一个回归问题变为一个分类问题那么该如何解决呢?只需在线性模型的基础上加一个函数

考虑二分类问题,输出有两种情况0和1,但是预测值是一个实数值,可以使用单位阶跃函数将预测值转换为0/1。

但是单位阶跃函数不可导,求梯度的时候要求可导,所以就有了对数几率函数(Sigmoid函数)。

图2-7-1 单位阶跃函数与对数几率函数

扩展:使用Sigmoid函数的优点如下:

对数几率回归总结:

8.线性判别分析(LDA)

LDA是一种经典的线性学习方法,思想如下:

训练时:设法将训练样本投影到一条直线上,使得同类样本的投影点尽可能地接近、异类的样本投影点尽可能的远。

预测时:将待预测样本投影到学到的直线上,根据它的投影点的位置判断类别

两类样本的线性判别分析如下图:

图2-8-1 线性判别分析图

注:为什么非要投影搞来搞去的这么麻烦,为啥不是在两类样本中找到一条直线分开两类样本就好,以上的方法就是支持向量机(support vector machine,SVM)的思想

9.类别不平衡问题

三、补充内容

1.梯度下降算法

(1)损失函数

(2)梯度

(3)梯度下降算法的过程

注:学习率可以理解为步伐的大小,在编程的时候学习率需要调试,将其调试为一个合适的范围。

另一种理解方法:

随机梯度下降算法(不是针对整个训练集,对应的是一个或者多个样本集)

2.牛顿法

你可能感兴趣的:(机器学习,机器学习)