Datawhale202201期寒假组队学习来了!这次选择的是Datawhale开源学习项目——“吃瓜教程——西瓜书+南瓜书”,学习周期为2022.1.9-1.27,在此记录初次接触该项目的学习历程。附上B 站视频教程。
导学视频
小结
1、机器学习?
什么是机器学习?
人工智能:让机器变得像人一样拥有智能的学科
机器学习:让计算机像人—样能从数据中学习出规律(“模型”)的一类算法
深度学习:神经网络类的机器学习算法
包含关系:人工智能>机器学习>深度学习
人工智能具体应用领域:
计算机视觉(Computer Vision, cV) :让计算机拥有视觉能力
自然语言处理(Natural Language Processing, NLP)︰让计算机拥有语言能力
推荐系统(Recommender System, RS):让计算机精确分析出人的喜好
…
2、基本要求
学科知识要求
高等数学∶偏导数
线性代数︰矩阵运算
概率论与数理统计:随机变量
配套书籍
西瓜书:周志华《机器学习》——算法原理
南瓜书:谢文睿,秦州《机器学习公式详解》——对算法原理做简单概述及公式推导
使用方法
(1)看一节西瓜书,大概了解概念
(2)再看一节视频课程讲解,弄懂算法原理和公式推导
(3)再看一遍西瓜书里面非公式推导的部分
小结
第一章
1.2基本术语
·数据集:关于事件(西瓜)的特征(色泽、根蒂…)描述的集合
·训练样本:训练过程使用的数据
·测试样本:被预测的样本
·“有监督学习”(e.g.分类、回归)、“无监督学习”(e.g.聚类)
·泛化:学得模型是用于新样本
1.3假设空间
·学习过程:在所有假设空间中搜索,为了使搜索结果与训练集“匹配”,可以修改或删除假设。
1.4归纳偏好
任何一个有效的机器学习算法必有其归纳偏好,否则无法产生确定的学习结果。尽管所有学习算法的期望性能几乎是一样的,但是很多时候我们只会关注某个具体应用任务,因为要谈论算法的相对优劣,必须针对具体的学习问题。学习算法自身的归纳偏好与问题是否相配往往起到决定性作用。
第二章
2.1经验误差与过拟合
过拟合:学习能力过于强大,无法彻底避免,
欠拟合:学习能力低下;易解决,改善学习能力如决策树扩展分支等
模型选择:通过评估,选择泛化误差最小的模型为最优模型
2.2评估方法
用测试误差作为泛化误差的近似,假设测试集是独立同分布采样,为了采样合理,提到不同测试集划分方法训练集和测试集,如“留出法” 、“交叉验证法” 和“自助法”。
留出法:直接将数据集划分为两个互斥集合;交叉验证法;自助法
训练数据:训练集+验证集
训练集:用作训练模型
验证集:用作模型选择和调参
测试集:评估模型在实际使用时的泛化能力
2.3性能度量
2.4比较检验
2.5偏差与方差
偏差:度量学习算法的期望预测与真实结果的偏离程度(刻画学习算法本身的拟合能力)
方差:度量了同样大小的训练集的变动所导致的学习性能的变化(刻画了数据扰动多造成的影响)
为了取得好的泛化能力,需要偏差小即能够充分拟合数据,需要方差小使得数据扰动产生的影响小
教材:西瓜书3.1-一元线性回归、3.2-多元线性回归
直播回放:一元线性回归、多元线性回归
教材:西瓜书3.4-线性判别分析
直播回放:线性判别分析
3.5-多分类学习
基于一些基本策略,利用二分类学习器来解决多分类问题
·“一对一”(One vs.One,简称OvO)
·“一对其余”(One vs.Rest,简称OvR)
·“多对多”(Many vs.Many,简称MvM)
3.6-类别不均衡问题
类别不平衡是指分类任务中不同类别的训练样本数目差别很大的情况
·欠采样:去除一些反例使得正、反例数目接近
·过采样:增加一些正例使得正、反例数目接近
·阈值移动:直接基于原始数据集进行学习,但是预测时改变预测为正例的阈值(不再为0.5)
教材:西瓜书4.1、4.2
直播回放:4.1、4.2
1、算法原理
从逻辑角度看,决策树就是if…else…语句的组合
从几何角度看,决策树就是根据某种准则来划分特征空间
最终目的是将同类样本分在一起,约分越纯
2、ID3决策树
信息熵:用于度量随机变量的不确定性,信息熵越大越不确定
信息增益:在已知属性取值后,结果的不确定性减少的量,即纯度的提升
ID3决策树:以信息增益为准则来选择划分属性的决策树
(缺点-信息增益对可能值数目较多的属性有所偏好)
3、C4.5决策树
增益率:信息增益与属性固有值之间的比值
(缺点-增益率对可能值数目较少的属性有所偏好)
C4.5决策树:先选出信息增益高于平均水平的属性,然后再从中选择增益率最高的划分
4、CART决策树
基尼值:总样本中抽取到两个样本的标志不一致的概率。基尼值越小说明同类概率越高,纯度越高
CART决策树:选择基尼指数最小的属性作为最优化分属性
教材:西瓜书5.1、5.2、5.3
直播回放:5.1、5.2、5.3
1、M-P神经元
M-P神经元(一个用来模拟生物行为的数学模型)︰接收来自其他神经元的n个输入,并给各个输入赋予权重计算加权和,然后和自身特有的阈值进行比较(作减法),最后经过激活函数(模拟“抑制”和“激活”)处理得到输出(通常是给下一个神经元)。
单个M-P神经元∶感知机 (激活函数:sgn)、对数几率回归(激活函数:sigmoid)
多个M-P神经元︰神经网络
2、感知机
感知机模型:激活函数为sgn(阶跃函数)的神经元;从几何角度来说,给定一个线性可分的数据集T,感知机的学习目标是求得能对数据集T中的正负样本完全正确划分的超平面。
感知机的学习算法具体采用的是随机梯度下降法,也就是极小化过程中不是一次使误分类样本集合中所有误分类点的梯度下降,而是一次随机选取一个误分类点使其梯度下降。
缺点:单个神经元分类能力有限,只能分类线性可分的数据集
3、神经网络
优点:神经网络由多个神经元构成,能够分类线性不可分的数据集
因此,神经网络既能做回归,也能做分类,而且不需要复杂的特征工程。
反向传播算法:BP算法只需一个包含足够多神经元的隐层,多层前馈网络(最经典的神经网络之一)就能以任意精度逼近任意复杂度的连续函数。BP算法不仅可用于多层前馈神经网络,还可用于其他类型的神经网络,例如训练递归神经网络。BP算法是基于随机梯度下降的参数更新算法。(随机梯度下降不能保证一定能走到全局最小值点,更多情况下走到的都是局部极小值点)
缺点:经常遭遇过拟合,训练误差持续降低,但是测试误差却可能上升。
缓解过拟合策略
早停止:发现训练集误差降低但验证集误差升高,停止
正则化:误差函数中,添加网络复杂度的表示
教材:西瓜书6.1、6.2
直播回放:6.1、6.2
算法原理:从几何角度,对于线性可分数据集,支持向量机就是找距离正负样本都最远的超平面。(相比于感知机,其解是唯一且不偏不倚,泛化性能更好。)
模型:给定线性可分数据集X,支持向量机模型希望求得数据集X关于超平面的几何间隔达到最大的那个超平面,然后用sign函数实现分类功能
数学方法:拉格朗日对偶求解(好处:引入核函数,进而推广到非线性分类问题)
教材:西瓜书6.4、6.5
直播回放:6.4、6.5
算法原理:在现实任务中,线性不可分的情形才是最常见的,因此需要允许支持向量机犯错(硬间隔要求所有样本都必须划分正确,而软间隔则允许某些样本不满足约束)
支持向量回归(SVR):相比于线性回归用一条线来拟合训练样本,支持向量回归采用一个以f(x)为中心,宽度为2ε的间隔带,来拟合训练样本。
PS.落在带子上的样本不计算损失(类比线性回归在线上的点预测误差为0),不在带子上的则以偏离带子的距离作为损失(类比线性回归的均方误差),然后以最小化损失的方式迫使间隔带从样本最密集的地方(中心地带)穿过,进而达到拟合训练样本的目的。