目录
机器学习的概念:
假设p用来评评估计算机程序在任务t上表现的性能,若利用经验e,程序在t上的表现的性能变好了,则说明程序对t进行了学习
样本:
一个数据集就是一堆样本的集合,数据集中的每一条都是一个样本。
特征:
指的就是样本的特点或属性
标签:
在有监督学习中,标签一般在数据集的最后一列,是对样本的一个分类。具体如下:
这里的样本就是编号为1-4的四个西瓜,特征就是西瓜的色泽、根蒂和敲声,标签就是这个西瓜是否是好瓜。
回归和分类任务:
若预测的是连续值,则是回归任务。用西瓜举例,预测西瓜的成熟度就是回归问题,若预测的值是离散值,则是分类任务,比如区分这个瓜是好瓜还是坏瓜,则是分类问题。
泛化能力:
训练后的模型在新样本上的适应能力
假设空间:
比如西瓜的色泽有绿和蓝两种取值,敲声有清脆和沉闷两种取值,还有情况就是西瓜的色泽或敲声取什么都合适的情况,用表示,还有一种极端情况是根本没有好瓜这个概念,所有都属于一类则假设空间的大小就是:(2+1)×(2+1)+1=10种情况,其中第一个括号的2是绿和蓝两种情况,1是西瓜的色泽取什么都合适的情况(是的情况),第二个括号的2是西瓜的敲声是清脆和沉闷两种情况,1是敲声取什么都合适的情况。最后一个1是上述的极端情况。
输出空间:
所有输出可能取值的集合
有监督学习:
用标记好的数据训练模型(分类,回归)
无监督学习:
用没标记的数据训练模型(聚类、降维)
半监督学习:
因为很难搜寻到大量有标签的数据,只能搜寻到少量。因此,用少量带标签的数据和大量无标签的的数据进行训练
奥卡姆剃刀:
若有多个假设与观察一致,选择最简单的那个
四个损失函数:
0-1损失函数、平方损失函数、绝对损失函数、对数损失函数
正确率:
在m个样本中,有a个样本分类错误,则正确率为1-a/m
误差:
真实结果和预测结果之间的差异
过拟合:
学习能力太过强大,以至于把训练样本自身的一些不太一般的特性都学到了,比如用树叶来训练模型,但是模型把一些特殊的树叶本身的性质当成了一般性质,比如有的树叶是带有锯齿的,机器就认为所有树叶都带有锯齿。过拟合无法彻底避免!!
过拟合的处理:
1、获得更多的训练数据:获得更多训练数据是最有效的一种方式,可以减少噪声对模型性能的影响
2、降维:舍弃一些对预测没有帮助的特征
3、添加正则化:正则化可以保留所有的特征,但是减小参数的大小
欠拟合
学习能力较弱,学习不到训练样本的很多普遍的特性,训练的还不够,这个很好理解。
欠拟合的处理方式:
1、获取更多的特征:可以通过找到组合特征来取得更好的效果
2、提升模型的复杂度:欠拟合的原因之一就是模型过于简单
3、减小正则化系数:正则化是用来防止过拟合的,当模型出现欠拟合时,要适当减小系数
没有免费的午餐定理(NFL定理):
脱离具体的实际问题,空谈哪个模型的性能好坏是没有意义的,每个模型都有其优缺点,因此我们要根据实际问题去判断选取哪个模型。
误差
指的就是预测值和真实值之间的差异,这个差异可以有好多指标来评判,比如mse(均方误差)、mae(平均绝对误差)、精确度、交叉熵等。对于不同的问题,选择的误差评判指标往往不同。
训练误差:
模型在训练集上的预测值和真实值之间的差异,训练误差可以显示出模型在训练集上的表现
测试误差:
同理,模型在测试集上的预测值和真实值之间的差异
验证误差:
如果将数据集分为训练集、测试集和验证集时,验证误差的定义同上;
泛化误差:
模型在从未见过的数据上的预测值和真实值之间的差异,泛化误差越小,模型的泛化能力就越好
划分数据集的三种方法:
留出法和交叉验证法适用于样本数量较大的数据集,自助法适合样本数量较小的数据集。
留出法:
概述:对于一个训练集d,比如有1到10十个数字,我们把1-6分为训练集,8-10分为测试集。这就是留出法。
要点我认为有三个:
1、要保证训练集和测试集中的样本分布相似。比如在西瓜里,若有5个好瓜和5个坏瓜,训练集里就要有3个好瓜和3个坏瓜。测试集里就要有2个好瓜和2个坏瓜。
2、进行多次留出,计算多次结果的平均值作为最终结果:我们可以进行多次的随机划分,并把每次的测试集的结果取平均值。
3、训练集的划分尽量占数据集的2/3到4/5之间
交叉验证法(k折交叉验证):
概述:把数据集平均分为k部分,每次用k-1部分作为训练集,剩下1部分作为测试集。为减少因样本分布而产生的误差,我们通常会使用不同的划分重复p次,最终取多次结果的均值。
k折交叉验证的特殊情况:留一法
自助法:
有数据集d,现在新建一个空集d‘,然后每次随机取一个样本,复制进d’,再把这个样本放回d,这样的过程进行m次,最后就有了d‘作为训练集,d-d'作为测试集。
错误率,精度:
若有m个样本,其中a个样本被预测错误,则错误率为a/m,精度为1-a/m。
查准率(精确率)和查全率(召回率):
查准率(精确率)就是:被预测出来的真正的好瓜占被预测为好瓜的比率。
查全率(召回率)就是:被预测出来真正的好瓜占真正好瓜数量的比率,这两个概念有一些区别,请你们好好思考一些,下面举个例子说明:
若10个西瓜中有1-7七个好瓜,但是第一个模型预测出来的好瓜为1-5为好瓜,则此时的查准率(精确率)就是5/5=100%,此时的查全率(召回率)就是5/7。再举个例子还是1-7为好瓜,但是第二个模型预测出来的是1-4和8是好瓜,此时的查准率(精确率)就是4/5,查全率(召回率)就是4/7。这下你们就能理解了。
F1:
指的就是查准率和查全率的调和平均值,由于查准率和查全率不能两全,因此F1的出现是平衡了这两个参数,更能考虑两者的平衡关系。F1越接近于1,说明模型的性能越好。
下面来点专业的理解,有时间可以看一看:
偏差与方差:
偏差:期望输出与真实标签之间的差异,即模型对数据的拟合能力,算法对数据的学习能力。
方差:同样大小的数据集变动对模型产生的影响,即数据扰动的影响。
噪声:表达了任何算法在该问题上的泛化误差的下限,即刻画了这个问题本身的学习难度。
偏差、方差分解:误差是由偏差、方差和噪声组成的,即学习算法对数据的学习能力加上数据本身的充分性、加上这个问题本身的学习难度
偏差、方差窘境:在模型训练的过程中,在模型拟合数据不是很好时,此时偏差主导了错误率,数据产生的扰动不会产生什么影响。在模型对数据拟合的很好的时候,此时偏差较小,方差主导了错误率,数据产生的一点扰动都会对模型产生很大的影响
均方误差:
累加(y1-y1')**2后/n
最小二乘法:
在二维坐标系中,找到一条直线,让所有数据点到这条线的欧氏距离最短
多分类学习:
拆分策略
一对一(OvO):
若有1、2、3、4四个类别,我要把它们两两结合到一起,则会变成4×3/2个二分类问题,公式为C(2,4)。在测试阶段,我们把新样本传给每一个分类器。每一个分类器都会预测出来一个类别。最后进行投票,出现次数最多的类别为最终预测出来的类别。
一对多(OvR):
仍然是1、2、3、4个类别,一对多是把1-4类每个类都做一次正类,然后其余的做反类。比如当1做正类时,2、3、4做反类。然后预测新样本时,若仅有一个预测为正,则这个分类器对应的正类就是最终的样本分类结果。若有多个为正,则选置信度最大的那个。
多对多(MvM):
把一部分当正例,剩下一部分当反例,这样重复M次
海明距离:
在相同比特位上不同的个数。比如
111100
101000 这个海明距离就是2
对于不平衡类别的处理
1、欠采样:少采样一些数量较多的类别
2、过采样:复制或生成数量较少的类别
SMOTE:过采样的一种,通过在少数类别中间进行插值,来增加数量较少的类别
为什么要进行归一化和标准化?
1、提高模型的精度
2、加速模型收敛
归一化和标准化
归一化:
把数据映射到0-1或-1-1之间,归一化会改变特征数据分布,具体的公式为:
标准化:
把数据变换为均值为0,标准差为1的数据,标准化不会改变特征数据分布,公式为:
过拟合的处理方法:
1、获得更多的训练数据:获得更多的训练数据,可以降低噪声对模型性能的影响
2、降维:去除一些我们不需要的特征
3、添加正则化:
L1正则化:
可以产生稀疏模型
L2正则化:
可以防止过拟合
损失函数:
度量单样本的错误程度,损失函数越小,模型就越好
代价函数:
度量预测值和真实值的平均误差,常见的有均方误差、均方根误差、平均绝对误差
目标函数:
代价函数和正则化函数
梯度下降的三种形式:
1、批量梯度下降
2、随机梯度下降
3、小批量梯度下降
梯度下降和最小二乘法的比较:
梯度下降:需要设置学习率,需要迭代多次,适用于各种类型的模型
最小二乘法:不需要设置学习率,只需要算一次,但只适用于线性回归模型,不适用于其他模型
均方误差、均方根误差、平均绝对误差、R平方的计算公式
贝叶斯公式
朴素贝叶斯:
在化简部分会用到,是假设di和di-1无关
决策树基本的代码流程:
D为训练集
A为属性
生成节点node
if D中的数据全属于C类:
把node标记为叶节点,把node作为c类的叶节点;return
end if
if A=空集 or D在A上的取值都相同
把node标记为叶节点,其类别标记为D中大多数取值的类别;return;
为A选择最优节点a*
for a* 中每一个取值的av* do: 为node创建一个分支节点,把Dv作为D在a上的每一个取值av的对应子集 if Dv=空集 把该分支节点作为叶节点,把D中的大部分类作为该叶节点的分类 else 把。。。作为叶节点
决策树的特点:
优点:
1、可解释性强、计算过程清晰
2、
缺点:
容易造成过拟合
忽略了数据之间的相关性
决策树的三种基本类型:
ID3算法
C4.5
CART
一些决策树基础概念
信息熵
条件熵
信息增益
信息增益率
ID3的缺点
1、没有剪枝策略,容易过拟合
2、信息增益对可取值数目较多的属性有所偏好
3、没有处理缺失值
4、只能用于处理离散的分布的特征
C4.5过拟合的原因
为了有效的把训练样本分开,节点的划分会一直重复直到不能再划分为止,这样就容易学习到训练样本的一些特点当成普遍性质,导致过拟合
缺点
1、剪枝策略还能再优化
2、C4.5用的是多叉树,二叉树效率更高
3、C4.5涉及大量对数运算,很耗时间
4、C4.5只能用于分类
基尼系数的算法
kd树的划分步骤
1、先算x轴上的数据和y轴上的数据,谁的方差大,就从谁开始划分
2、比如先从x开始划分,则求x轴数据的中位数,x小于此中位数的为左子空间,x大于此中位数的为右子空间
3、然后重复这个过程,两个轴轮转着来划分。
最大间隔
支持向量机的相关知识点
支持向量机的优化目标:使到间隔的最近的点距离最远
软间隔:把大部分的点分的很清,小部分分的不对
硬间隔:全部的点分
线性可分:在二维空间中,能用一条直线把两类点完全分开的(硬间隔)
线性不可分:一条直线不能把两类点完全分开(软间隔)
在线性支持向量机中,惩罚参数和松弛变量有一定的关系:若惩罚参数大,则惩罚力度越强,松弛变量越小,模型就偏向于硬间隔。 若惩罚参数较小,则惩罚力度也较小,松弛变量会变大,模型更偏向于软间隔。
核函数:在支持向量机中,当数据在低维不可分时,用于把数据升维,使数据可分的 一个函数
常用的核函数:线性核函数、多项式核函数、高斯核函数。只有高斯核函数需要调参
贝叶斯网络
同父结构:在a为确定的值时,b和c条件独立。若不给出a的值,则b与c不相互独立
顺序结构:若x为确定的值时,z与y条件独立。若x不给出确切的值,则y与z不相互独立
V型结构:与之相反,若x3给出确切的值,则x1和x2不相互独立,反之则相互独立
knn算法:
以特征空间中与样本k个最相似的点,把样本化为它们中的大多数类
knn三要素:
1、确定k值
2、距离度量
3、决策原则
欧氏距离:
两点间的直线距离
曼哈顿距离:
切比雪夫距离
海明距离
计算对应比特位上数值不同的总数
闵可夫斯基距离
kmeans的算法流程
1、随机选择质心
2、按中心划分簇
3、重新计算每个簇的质心,再重复第二个步骤
kmeans的优点和缺点
优点:
1、可解释性强,通俗易懂
2、收敛速度快
3、聚类效果好
4、需要的参数的仅仅有k值
缺点:
1、k值不易设置
2、无法处理异常值和噪声
DBSCAN算法流程
1:把所有点都当成核心点、边界点
2、如果是核心点,则把它所有密度可达的都分到它的簇里
3、如果不是核心点,则把它分到它在其扫描半径里的那个核心点的簇
4、重复上面这个过程
两个超参数
1、 扫描半径
2、 最大包含点数,如果在一个点的扫描半径里包含的点大于等于了最大扫描点数,则这个点为核心点。若小于最大扫描点数,则为边界点。若不含点,则为噪声
层次聚类:
自下而上的聚合聚类
1、先把样本分簇
2、再把距离最近的两个簇合并为一个簇
3、重复这一过程,直到无法合并
自上而下的分裂聚类
1、把所有样本分到一个簇
2、把距离最远的两个样本分别分到两个簇
3、重复这一过程直到形成层次聚类
硬聚类:簇与簇之间没有交集,一个样本只属于一个簇
软聚类:簇与簇之间有交集,一个样本可以属于多个簇
聚类内部评价指标
内部评估法
DB指数:DB指数越小意味着簇间距离越小而且簇内距离越大。
dunn指数:dunn指数越大意味着簇间距离越小且簇内距离越大。
外部评估法
JC系数
FM系数
Rand系数
降维
为什么要降维
1、高维数据会增加运算的难度
2、高维数据会使模型的泛化能力变弱
3、降维能增加数据的可读性
降维的主要作用
1、减少冗余特征
2、数据可视化
降维的优缺点
优点:
1、减少数据集的存储空间,加快了模型的计算训练速度
2、有利于数据可视化
缺点:
1、会造成一定程度的数据损失
2、在PCA中,确定多少主成分往往是难以确定的,大多根据经验。
PCA算法的两种实现方法
1、基于SVD分解协方差矩阵实现PCA算法
2、基于特征值分解协方差矩阵实现PCA算法
标签:知识点,机器,训练,误差,模型,样本,学习,拟合,数据 From: https://blog.csdn.net/starssssssssss/article/details/136673930