机器学习——周志华

本文概述了机器学习的基本概念,包括机器学习过程、模型(如决策树、神经网络和SVM)及其选择原则,重点讨论了模型评估、泛化能力、过拟合与欠拟合,以及各种评估方法和技术,如交叉验证和集成学习。同时介绍了逻辑回归、决策树剪枝、支持向量机的工作原理和应用。
摘要由CSDN通过智能技术生成

1.绪论

以很高的概率 得到一个很好的模型

1.1 机器学习过程

训练数据 (数据样本)

色泽敲声好瓜
青绿蜷缩沉浊
乌黑蜷缩沉浊
青绿硬挺沉浊
乌黑蜷缩清脆

经过训练(学习算法),得到

模型:决策树,神经网络,支持向量机,Boosting,贝叶斯网

1.2 基本术语

  • 数据集:数据样本

    训练数据:用于得出模型

    测试数据:把模型拿来用

  • 示例(instance):色泽 根 敲声

    样例(example):色泽 根 敲声 好瓜(结果)

  • 属性(attribute):色泽 或者 根等

    属性空间:有几个属性就是几维属性空间(样本空间)

    特征向量(属性向量):属性空间中的向量(结果)

  • 不可知样本(unseen data):未来的数据,不可知

  • 假设:所用的模型,模型学到的东西,拟合函数f(x)

    真相:正确的答案y

  • 分类:离散的输出 {yes,no},{big,middle,small}

    回归:连续的输出 [0,1]

  • 监督学习(supervised learning):拿到的数据中有结果(知道好瓜标准是如何)

    无监督学习:拿到的数据中没有结果

  • 独立同分布:只有样本满足独立同分布,他们之间才是无关的

    泛化:模型的泛用性 |f(x)-y|<e (越小越好)

1.3 归纳偏好(Inductive Bias)

image-20240120230223386

一般准则:奥卡姆剃刀(若非必要,勿增实体)

到底什么是更简单? ax2+bx+c还是ax3+c ,进一步研究

学习算法的归纳偏好是否匹配问题决定了算法性能

1.4 NFL定理

A和B谁更好?

黑点:训练样本 白点:测试样本

image-20240120171910674

NFL定理(No Free Lunch没有免费午餐): 一个算法某些问题上A好,那比存在另一些问题B好

即脱离具体问题,谈论什么算法更好没有意义

具体问题,具体分析

2.模型评估与选择

2.1 泛化能力

什么模型好?

能很好适用于 unseen instance不可知样本

2.2 过拟合和欠拟合

泛化误差:在"未来"样本上的误差(越小越好)

经验误差:在训练集上的误差,即"训练误差"(可控)

经验误差是否越小越好? 经验误差越小可能出现"过拟合"

过拟合 VS 欠拟合

image-20240120174152138过拟合 - 知乎

研究问题:这个算法是怎么解决Over Fitting的,这个办法什么时候会失效

2.3 三大问题

  • 如何获得测试结果?

    没有unseen data的情况下用什么样的评估方法获得结果

  • 如何评估性能优劣?

    性能度量,对于不同需求有不同的度量标准

  • 如何判断实质差别?

    比较检验

2.4 评估方法

如何获得"测试集(test set)"

测试集应该与训练集"互斥",不可以从训练集中找几条数据进行测试

常见方法:

  • 留出法(hold-out)

    将已有数据集留出一部分进行测试

    image-20240120175549323

    注意

    • 保持数据分布一致性(eg:分层采样)

      不能训练集中的80个瓜都是好瓜,测试集中的20个全是坏瓜(所以要保持数据分布的一致性)

    • 多次重复划分(eg:多次随机取样)

    • 测试集不能太大,也不能太小

  • 交叉验证(cross validation)

    解决留出法中随机取样取不到全部数据的尴尬情况

    • k-折(k-fold)交叉验证法

      image-20240120180421571

      上图为10折发,划分10个子集进行10次测试,每次取其中一个子集作为测试集,保证所有数据都会被用到

  • 自助法(booststrap)

    上面两种方法对已有数据集M(100)进行评估时,总是要划分出m(k)作为测试集

    无法保证模型结果是100个数据的结果

    基于自助采样(有放回的采样,牺牲数据分布的一致性,换来数据量的一致性)

    image-20240120181754147

    原盒中取s个数据,将这s个数据复制一份放回原盒,然后取另外s个数据进行测试,这样就能在总数100不变的情况下,以牺牲数据分布一致性为代价换来数据个数的一致性

2.5 调参与验证集

  • 算法的参数:人工设定,也称"超参数"(即人工对于模型的选择)

  • 模型的参数:由学习确定

  • 调参过程相似:先产生若干模型,然后基于某种评估方法进行选择

eg.利用多项式函数逼近数据
算法的参数:多项式的次数?由用户提供,是"超参数" ax^2+bx+c
模型的参数:确定上式abc
  • 验证集(validation set)

    用于确定上述参数的选择

image-20240120183731606

2.6 性能度量

什么样的模型是好的?

不仅取决于算法和数据,还取决于任务需求

  • 回归(regression)任务常用的均方误差

    image-20240120183933967

  • 错误率

    image-20240120184035483

  • 精度

    image-20240120184048415

  • 查准率

    image-20240120184246130

    TP:true positive

    FN:false negetive

    查准率: image-20240120184418583

2.7 比较校验

在某种度量下取得评估结果后,是否可以直接比较评判优劣?

NO

  • 测试性能不等于泛化性能

  • 测试性能随着测试集的变化而变化

3.线性模型

通过属性的线性组合进行预测的函数

3.1 线性回归(Linear Regression)

image-20240120203450617

image-20240120203605237

image-20240120203754473

wi是属性,xi是权重

好瓜模型中:w1\*青绿色+w2*声音沉浊+w3\*根形态  显然是不合理的
对于属性这种离散的数据,要考虑期间是否存在'序'的关系

即考虑离散数据连续化

  • 如果有序:(高 中 低)->1,0.5,0
  • 如果无序:(蓝 绿 白)->(100),(010),(001) k维属性变成k维向量

3.2 最小二乘解

线性回归问题image-20240120203754473目的就是求w向量b求最似函数,相似度量可以采用均方计算

image-20240120205957088*argmin:*取到后式最小值时,自变量的值

求最小值: 对w,b偏导,令偏导数为0 ,得到似然函数最小值时的解(w,b)

多元函数无条件极值必要条件: 令x,y偏导=0

线性回归问题中,对似然函数求导的极值点一定是极小值点

image-20240120210225120

3.3 多元线性回归

线性回归问题中,image-20240120203754473xi是i个值

image-20240121104506471

多元线性回归中,xi是向量image-20240121101425804比如x11为敲声,x12为根形态,x13为色泽

image-20240121104729398

**求解:**x解向量的求解可以采用矩阵方程

image-20240121104620000

image-20240121105327152

  • image-20240121105513478

    r(A)=r(A|b)=n,唯一解

  • image-20240121105523514

    r(A)=r(A|b)<n,无穷解

    求出无穷解w如何选用最好的w拟合模型呢?

    归纳偏好

    对于解出多个w,也就是多个对应模型,那么用哪个更好,这就是归纳偏好所研究的内容

    image-20240121110209255

    方法:正则化
    对于求出的多个模型
    a*x^2+b*x+c和
    c*x^3+d*x^2+e*x+f
    加入一个限制如:要求最高次最小or要求x系数最小等
    

3.4 广义线性模型

普通的线性回归时用f(xi) = y

广义线性回归就是以f(xi) = g(y)

如 lny = f(xi)

求解线性的方式得到一个非线性的解决方案

image-20240121180519791

3.5 逻辑回归(对率回归)

将回归模型解决分类问题

3.5.1 回归和分类

分类(classification): 将实例数据划分到合适的类别中。例如 判断网站是否被黑客入侵(二分类 ),手写数字的自动识别(多分类),多目标分类(多分类)。

回归(regression): 主要用于预测数值型数据。例如: 股票价格波动的预测,房屋价格的预测等。

  • 联系:对输入做出预测,并且都是监督学习。说白了,就是根据特征,分析输入的内容,判断它的类别,或者预测其值。

  • 区别:

    • 输出不同

      1. 分类问题输出的是物体所属的类别回归问题输出的是物体的

        如明天天气晴还是阴为分类问题,明天天气多少度为回归问题

      2. 分类问题输出的值是离散的,回归问题输出的值是连续

      3. 分类问题输出的值是定性的,回归问题输出的值是定量

        这是一杯水,这句话是定性;这杯水有10毫升,这是定量。

    • 目的不同

      分类的目的是为了寻找决策边界,即分类算法得到是一个决策面,用于对数据集中的数据进行分类。

      回归的目的是为了找到最优拟合,通过回归算法得到是一个最优拟合线,这个线条可以最好的接近数据集中的各个点。

    • 结果不同

      分类的结果没有逼近,对就是对,错就是错,什么类别就是什么类别,最终结果只有一个。

      回归是对真实值的一种逼近预测,值不确定,当预测值与真实值相近时,误差较小时,认为这是一个好的回归。

    • 应用场景不同

      分类:判断动物是猫还是狗,判断天气阴晴,判断合格

      回归:判断年龄大小,判断零件尺寸,判断天气温度

3.5.2 逻辑回归(将连续问题转换为离散问题)

线性回归的输出是连续的,但是我解决分类问题期望输出是离散的y∈{0,1}

使用逻辑函数(对率函数)可以将连续输出转换为离散输出

image-20240121183909303

理想的"单位越前函数"是

image-20240121184002844 但是由于不可导,所以性质不好

所以采用光滑可导的逻辑函数(对率函数)

image-20240121184136884

image-20240121185419422

以逻辑函数为联系函数

image-20240121185547821

image-20240121185841536

注意:逻辑回归是利用回归模型借用联系函数(对率函数)解决分类问题的算法,所以是分类算法

3.6 逻辑回归求解

线性回归问题中,导数为0的点一定是极小值点(最优点)

而在对率回归问题中则不一定,故不可采用均方根image-20240122211305286求极小值的方式求解

而应采用极大似然法估计w和b两个参数的取值

极大似然法求解思路:

image-20240127093719267

3.7 线性判别分析(Linear Discriminant Analysis)

线性模型做分类有两种方法

  1. 广义线性模型通过联系函数做分类(如对率回归)
  2. 直接分类

image-20240126201831226

如何直接分类? 最基本的一种:线性判别分析

线性判别分析(Linear Discriminant Analysis,简称LDA),其基本思想是:将训练样本投影到一条直线上,使得同类的样例尽可能近,不同类的样例尽可能远。

image-20240127094035641

想让同类样本点的投影点尽可能接近,不同类样本点投影之间尽可能远,即:让各类的协方差之和尽可能小,不用类之间中心的距离尽可能大。

基于这样的考虑,LDA定义了两个散度矩阵。

  • 类内散度矩阵(within-class scatter matrix)

同类样本点距离投影点的距离,越小越好

  • 类间散度矩阵(between-class scaltter matrix)

不同类之间的中心距离,越大越好

3.8 类别不平衡

什么是类别不平衡?

当一个数据可以划分为小类和大类,且小类更重要时。就要研究类别不平衡。

比如100w个电话中研究100个诈骗电话

  1. 思路:

    • 类别平衡时

      image-20240127100521650image-20240127100550827

    • 类别不平衡时

      平衡点发生变化

      即:权值(代价)发生变化

      image-20240127101114635image-20240127101136407

  2. 常见类别不平衡学习方法:

    • 过采样(oversampling): 小类增加到和大类一样多

      不能随便增加小类样本,或者复制小类样本以达到增加的目的,这样会造成overfitting(过拟合)的结果

      比较经典的算法如下:

      SMOTE算法:

      image-20240127102905375

    • 欠采样(undersampling): 减少大累采样和小样一样多

      同上,不能随便丢,可能丢掉关键样本导致分类边界变化等

      EasyEnsemble算法:

      每次拿小类样本个数的大类样本和小类样本建立模型,多次重复以上步骤

    • 阈值移动(threshold-moving):如支持向量机

4.决策树

机器学习中很重要的一个模型

4.1 决策树基本流程

4.2 信息增益划分

4.3 其他属性划分准则

4.4 决策树的剪枝

4.5 预剪枝与后剪枝

4.6 缺失值的处理

5.支持向量机

5.1 支持向量机基本型

5.2 对偶问题与解的特性

5.3 求解方法

5.4 特征空间映射

5.5 核函数

5.6 软间隔SVM

5.7 正则化

5.8 如何使用SVM?

6.神经网络

6.1 神经网络模型

6.2 万有逼近能力

6.3 BP算法推导

6.4 缓解过拟合

7.贝叶斯分类器

7.1 贝叶斯决策论

7.2 生成式和判别式模型

7.3 贝叶斯分类器与贝叶斯学习

7.4 极大似然估计

7.5 朴素贝叶斯分类器

7.6 拉普拉斯修正

8.集成学习和聚类

8.1 集成学习

8.1 好而不同

8.1 两类常用集成学习方法

8.1 Boosting

8.1 Bagging

8.1 多样性度量

8.1 聚类

8.1 距离计算

8.1 聚类方法概述

  • 39
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值