【机器学习西瓜书阅读笔记】(三)线性模型

目录

    • 思维导图
    • 思想
    • 解决回归问题
      • 一元线性回归
      • 多元线性回归
      • 广义线性回归
      • 最小二乘法
    • 解决分类问题
      • 对数几率回归(逻辑回归)
        • 极大似然法
      • 线性判别分析(LDA)
      • 多分类学习
    • 解决正负样本比例不协调问题
        • 再缩放(针对数据总体)
        • 欠采样(针对训练集)
        • 过采样(针对训练集)
    • 参考文献

PS:由于能力有限,本篇阅读笔记可能会有许多理解不够深入的地方,如有错误,还望指正!

思维导图

【机器学习西瓜书阅读笔记】(三)线性模型_第1张图片

思想

线性模型的思想主要在于试图通过一个关于所有特征的线性组合来学的一个预测函数,如下
在这里插入图片描述

通常我们为了利于程序的实现会通过向量的形式出现,如下
在这里插入图片描述

w和b学得之后,模型就可以确定

在西瓜书中,主要从三个方面介绍线性模型的应用:解决回归问题、解决分类问题、解决正负样本比例不协调问题。

解决回归问题

一元线性回归

基于一个特征值(一个自变量)
在这里插入图片描述

多元线性回归

基于多个特征值(多个自变量)y = w1x1+w2x2+…+b
在这里插入图片描述

广义线性回归

在线性回归的基础上加上了一个“联系函数” g()
在这里插入图片描述

最小二乘法

在西瓜书中解决线性回归问题采用的是最小二乘法,其原理就是:当预测值和实际值的距离的平方和最小时,就选定模型中的两个参数(w和b)
【机器学习西瓜书阅读笔记】(三)线性模型_第2张图片

  • f(xi):第i个西瓜上的模型输出
  • yi:真实值

解决分类问题

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

逻辑回归主要解决的是问题的可能性(好瓜的可能性、坏瓜的可能性)

注:一般认为分类问题都是“非0即1”,但在逻辑回归中不再去拟合“非0即1”的标签,而去拟合好瓜的概率,坏瓜的概率,可以通过下图清晰的看出
【机器学习西瓜书阅读笔记】(三)线性模型_第3张图片
注:该图存在两个不可导点,而在求损失函数的时候需要求偏导数,所以用了如上y=1/(1+e^(-z))来代替单位阶跃函数,该函数处处可导,并且求导计算代价非常低。
所以将z=w^Tx+b带入可得
【机器学习西瓜书阅读笔记】(三)线性模型_第4张图片

极大似然法

极大似然法是解决逻辑回归比较常用的方法,原理是根据最大的可能性寻找最优解(每次猜对的可能性的乘积的最大值)

线性判别分析(LDA)

思想:它是一种经典的线性学习方法。设法将样例投影到一条直线上,使得同类样例的投影点尽可能近,异类样例的投影点尽可能远,如下面的二维示意图
【机器学习西瓜书阅读笔记】(三)线性模型_第5张图片

多分类学习

西瓜书中提到了利于二分类学习器来解决多分类问题,但目前也有很多多分类学习器。
其主要思想在于将多分类任务拆分成多个二分类任务来求解,常见的拆分策略有:

  • 1对1
  • 1对多
  • 多对多

如下是1对1和1对多的示意图
【机器学习西瓜书阅读笔记】(三)线性模型_第6张图片

  • 1对1在存储开销和测试时间开销较大
  • 1对多在训练时间开销较大(因为每个分类器都是用了全部样例,而1对1只用2个)
  • 这两种拆分策略的预测性能在多数情况下差不多,最终取决于具体的数据分布

而以上两种其实都是多对多的特例,多对多是每次将若干个类作为正类,若干其他类作为反类,但正类和反类的构造需要有特殊的设计,常用的技术是:纠错输出码(ECOC)

解决正负样本比例不协调问题

例如反例有998个,而正例只有2个,那么只需要每次都预测是反例的学习器即可,精度就很高了,但是这毫无价值,因为它不能预测出正例。解决这类问题书中给出三个方法:再放缩、欠采样、过采样
之前我们通常是与一个阈值进行比较,如下
在这里插入图片描述
而当出现类别不平衡问题时,我们就可以采用与先验概率去比较,如下
【机器学习西瓜书阅读笔记】(三)线性模型_第7张图片

  • m+表示正例个数:2
  • m-表示反例个数:998

再缩放(针对数据总体)

但是,前人为了还是能通过大于1,小于1这种阈值比较更加直观,又提出了一个上式改写的策略:再缩放,如下
【机器学习西瓜书阅读笔记】(三)线性模型_第8张图片
这样就还是通过y‘/(1-y’)与大于1小于1比较即可!!

欠采样(针对训练集)

比如反例有998个、正例有2个
做法:对训练集里的反例进行去除部分,使得正例数目和反例数目接近,然后再学习

过采样(针对训练集)

比如反例有998个、正例有2个
做法:对训练集里的正例进行增加,使得正、反例数目接近
PS:那么问题来了,正例数怎么增加???
举个例子:比如一张狗的图片,狗的颜色是黄色,那我们就可以将狗的颜色变成其他颜色,如果都是趴着,那我们可以将图片做一下旋转,就可以增加正例个数了

参考文献

《机器学习》周志华著

你可能感兴趣的:(#,周志华《机器学习》阅读笔记,机器学习,西瓜书)