燕山大学2022机器学习复习提要
自己总结内容,仅供参考
2022-8-15更新
上学期期末考试的题型有
填空 20分
简答 60分
两道大题 20分
以下是回忆的题型时间太久了,只能回忆大概有什么,细节忘了
填空题时间太久了忘了有什么了
简答涉及的知识点大概有:
- 数据清洗
- SVM
- 准确率 精确率 召回率 PR曲线
- K-means
- BP神经网络
- 训练集 测试集 验证集
- 过拟合欠拟合
- 卷积神经网络
大题只记得考了一个读代码的题,代码量很多,但是都是简单的python语法:函数、循环这些,只要自己做过课上的实验基本不用复习语法,如果自己没有好好做实验那就需要针对性的看一下python的语法,不用多看一些基本的函数和循环这些就行。考的代码也很好理解(个人认为),我记得的考点是问循环了多少次  ̄□ ̄|| 反正很好懂,不要被代码量吓到 。另一道大题好像是根据题意设计一个算法,好像考的聚类,基本就是把聚类的原理再说一遍。
我记得的就这些了,希望对大家有帮助!😁
1、机器学习的定义
机器学习是人工智能的一个分支。我们使用计算机设计一个系统,使它能够根据提供的训练数据按照一定的方式来学习;随着训练次数的增加,该系统可以在性能上不断学习和改进;通过参数优化的学习模型,能够用于预测相关问题的输出。
2、机器学习的发展历程
推理期(20世纪50-70年代初)
- 认为只要给机器赋予逻辑推理能力,机器就能具有智能
- A. Newell 和 H. Simon 的“逻辑理论家”、“通用问题求解”程序,获得了1975年图灵奖
知识期(20世纪70年代中期)
- 认为要使机器具有智能,就必须设法使机器拥有知识
- E.A. Feigenbaum 作为“知识工程”之父在 1994 年获得了图灵奖
学科形成(20世纪80年代)
20 世纪 80 年代是机器学习成为一个独立学科领域并开始快速发展、各种机器学习技术百花齐放
- 1980 年美国卡内基梅隆大学举行第一届机器学习研讨会
- 1990 年《机器学习:风范与方法》出版
繁荣期(20世纪80年代-至今)
- 20 世纪 90 年代后,统计学习方法占主导,代表为SVM
- 2006 至今,大数据分析的需求,神经网络又被重视,成为深度学习理论的基础
3、监督学习,半监督学习和无监督学习的特点
监督学习
从有标记的训练数据中推导出预测函数。给定数据,预测标签。
半监督学习
让模型不依赖外界进行交互,自动地利用未标记样本提升学习性能。
无监督学习
从无标记的训练数据中推断结论。给定数据,寻找隐藏的结构。
4、机器学习的步骤,每个步骤的主要内容
数据预处理
数据清洗、数据集成、数据采样
特征工程
特征编码、特征选择、特征降维、规范化
数据建模
回归问题、分类问题、聚类问题、其他问题
结果评估
查准率、查全率、F1值
5、数据清洗的内容和意义
内容
对各种脏数据进行对应方式的处理,得到标准、干净、连续的数据,提供给数据统计、数据挖掘等使用。
意义
-
数据的完整性
例如人的属性中缺少性别、籍贯、年龄等;
解决方法:信息补全(使用身份证件号码推算性别、籍贯、出生日期、年龄等);剔除; -
数据的合法性
例如获取数据与常识不符,年龄大于150岁;
解决方法:设置字段内容(日期字段格式为 “2010-10-10”);类型的合法规则(性别 in [男、 女、未知])
-
数据的一致性
例如不同来源的不同指标,实际内涵是一样的,或是同一指标内涵不一致;
解决方法:建立数据体系,包含但不限于指标体系、维度、单位、频度等
-
数据的唯一性
例如不同来源的数据出现重复的情况等;
解决方法:按主键去重(用sql或者excel“去除重复记录”) / 按规则去重(如不同渠道来的客户数据,可以通过相同的关键信息进行匹配,合并去重) -
数据的权威性
例如出现多个来源的数据,且数值不一样;
解决方法:为不同渠道设置权威级别,如:在家里,首先得相信媳妇说的。:happy:
6、什么是数据采样
数据采集是指对目标领域、场景的特定原始数据进行采集的过程,采集的数据以图像类、文本类、语音类、视频类等非结构化数据为主。
不平衡数据采样
定义:指数据集的类别分布不均。
比如说一个二分类问题,100个训练样本,比较理想的情况是正类、负类样本的数量相差不多;而如果正类样本有99个、负类样本仅1个,就意味着存在类不平衡。
此时预测时就算全部为正,准确率也可以达到99%
**影响:**面临不平衡数据集的时候,传统的机器学习模型的评价方法不能精确地衡量模型的性能
解决方法:
过采样
通过随机复制少数类来增加其中的实例数量,从而可增加样本中少数类的代表性。
欠采样
通过随机地消除占多数的类的样本来平衡类分布;直到多数类和少数类的实例实现平衡。
7、什么是特征抽取,特征如何选择,如何编码
定义
在数据集中找到有用的特征属性
如何选择
-过滤法
按照发散性或相关性对各特征进行评分,设定阈值完成特征选择。
-包裹法
选定特定算法,然后通过不断的启发式方法来搜索特征。
-嵌入法
利用正则化的思想,将部分特征属性的权重调整到0,则这个特性相当于就是被舍弃了。常见的正则有L1的Lasso,L2的Ridge,还有一种综合L1和L2的这两个方法的Elastic Net方法。
如何编码
-one-hot编码
采用N位状态寄存器来对N个状态进行编码,每个状态都由他独立的寄存器位,并在任意时候只有一位有效。
-语义编码
one-hot编码无法体现数据间的语义关系,对于一些有关联的文本信息来说,无法真正体现出数据关联。
8、分类算法有哪些?
-
朴素贝叶斯分类器😁
-
逻辑回归
-
决策树分类算法😁
-
随机森林分类算法😁
-
支持向量机(SVM)😁
-
K最近邻分类算法
-
K-Means聚类😁
【注】以上算法统计不完全,但属于常用算法,😁标注的为课内详细讲解算法
9、决策树算法
1.定义
决策树是一种描述对样本数据进行分类的树形结构模型,由节点和有向边组成。其中每个内部节点表示一个属性上的判断,每个分支代表一个判断结果的输出,最后每个叶节点代表一种分类结果。决策树从根节点开始,对样本数据的某一个特征进行测试,根据测试结果,将样本分配到子节点上,形成两棵或多棵子树,然后再对每棵子树重复同样的过程(递归),直到将样本数据分到某个叶子节点为止。
2.基本流程
特征变量选择
最为常用的三种特征选择策略:信息增益、信息增益比、Gini指数
决策树的生成
常用的决策树算法:ID3、C4.5、CART
决策树的剪枝
完全生长成的树,在训练数据集中可能有最佳的预测效果,但同时也会带来过拟合的问题,导致在实际的预测数据中表现不佳,需要对决策树进行适当剪枝。主要是:预剪枝、后剪枝
10、贝叶斯分类算法
1.概念
朴素贝叶斯分类器采用了“属性条件独立性假设”:每个属性独立地对分类结果发生影响。对于给定的训练数据集,首先基于特征条件独立假设学习输入/输出的联合分布概率;然后基于此模型,对给定的输入x,再利用贝叶斯定理求出其后验概率最大的输出y。
11、SVM
1.概念
支持向量机(Support Vector Machine ,SVM)是一种有监督学习方法,就是寻找具有最大边缘(间隔)的超平面,位于间隔里面的平行的超平面,都能实现对数据点的线性可分。同时,面对近似线性可分的情况,需要适当放宽这个间隔,引入软间隔和松弛因子。而面对更复杂的低维线性不可分的情况,通过使用核函数将数据点映射到高维,进行寻找超平面进行划分。
12、逻辑回归
本知识点未讲解
1.定义
逻辑回归是是一种用于解决二分类(0 or 1)问题的机器学习方法,用于估计某种事物的可能性。比如某用户购买某商品的可能性,某病人患有某种疾病的可能性,以及某广告被用户点击的可能性等。
2.网上教程
教程
13、线性回归,最小二乘法、梯度下降法
1.线性回归
**定义:**线性回归算法假设特征和结果满足线性关系。这就意味着可以将输入项分别乘以一些常量,再与偏置项相加得到输出。
一元线性回归指的是分析只有一个自变量x与因变量y线性相关关系的方法。
一元线性回归算法流程
-
选择拟合函数形式
-
确定损失函数形式
-
训练算法,找到回归系数
-
使用算法进行数据预测
所以损失函数有两种:最小二乘法、梯度下降法
2.最小二乘法
**定义:**主要思想就是求解未知参数,使得理论值与观测值之差(即误差,或者说残差)的平方和达到最小。
**缺点:**最小二乘法主要针对于线性函数,有全局最优解且是闭式解,针对更加复杂的函数难起作用
3.梯度下降法
**定义:**可以看作是更简单的一种求最小二乘法最后一步解方程的方法。梯度下降法是用来计算函数最小值的。
**优点:**由于每一步都利用了训练集中的所有数据,因此当损失函数达到最小值以后,能够保证此时计算出的梯度为0,换句话说,就是能够收敛。因此,使用BGD时不需要逐渐减小学习速率。
**缺点:**由于每一步都要使用所有数据,因此随着数据集的增大,运行速度会越来越慢.
14、K-means算法
1.原理
随机选取k个点作为初始的聚类中心点,根据每个样本到聚类中心点之间的距离,把样本归类到相距它距离最近的聚类中心代表的类中,再计算样本均值。若相邻的两个聚类中心无变化,结束迭代;如若不然,改过程不断重复进行。
2.流程
-
选取质心
随机选择 k 个初始质心,其中 k 是用户指定的参数,即所期望的簇的个数。
-
分配数据
对于样本中的数据对象,根据它们与聚类中心的距离,按距离最近的准则将它们划分到距离它们最近的聚类中心,形成一个簇。
-
更新聚类中心
根据指派到簇的点,将每个簇的质心更新为该簇所有点的平均值。
-
判断聚类中心的值是否发生变化,若改变,则重复执行上述步骤;若不变,则输出结果。
15、密度聚类
1. 定义
密度聚类假设聚类结构能通过样本的紧密程度确定,同一类别的样本,他们之间是紧密相连的,也就是说,在该类别任意样本周围不远处一定有同类别的样本存在。从样本密度出发考虑样本间的可连接性,然后基于可连接样本不断扩展聚类的簇实现聚类的目的。
代表算法:DBSCAN
DBSCAN定义:
DBSCAN(Density-Based Spatial Clustering of Applications with Noise,具有噪声的基于密度的聚类方法):基于一组“邻域”参数 (ϵ,MinPts) 来刻画样本分布的紧密程度。
2.算法流程
-
给定包含 n 个对象的数据集 D ,邻域为 ϵ,密度阈值为 MinPts
-
首先找到所有的核心对象
根据 (ϵ,MinPts) 对 n 个对象进行搜索,寻找所有的核心对象,构成核心对象集合。
-
根据上述的核心对象寻找 D 中所有密度相连的样本,构成簇,若上述核心对象已被访问,则剔除出去。
-
重复上述过程,直至核心对象集合为空。
16、层次聚类
1.定义
层次聚类试图在不同层次对数据集进行划分,从而形成树形的聚类结构。数据集划分既可采用“自底向上”的聚合策略,也可采用“自顶向下”的分拆策略。因此可分为【聚合层次聚类】与【划分层次聚类】。
-
聚合层次聚类
采用自底向上的策略。开始时 , 每个样本对象自己就是一个类 , 称为 原子聚类 , 然后根据这些样本之间的 相似性 , 将这些样本对象 ( 原子聚类 ) 进行 合并。聚合层次聚类的代表算法为DBSCAN
-
划分层次聚类
采用自顶向下的策略,它首先将所有对象置于同一个簇中,然后逐渐细分为越来越小的簇,直到每个对象自成一簇,或者达到了某个终止条件。该种方法一般较少使用。
基于层次的聚类方法-AGNES
1.定义
AGNES(Agglomerative Nesting)是一种自底向上聚合策略的层次聚类算法。它先将数据集中的每一个样本看作一个初始聚类,然后在算法运行的每一步找出距离最近的两个聚类簇进行合并,该过程不断重复,直至达到预设的聚类簇的个数。
#### 2. 算法流程
-
给定包含 n 个对象的数据集 D ,聚类簇距离度量函数 d,聚类簇数为 k。
-
计算所有样本间的距离
使用度量函数 d 计算所有样本间的距离
-
更新聚类簇及样本间距离
将距离最近的两个聚类簇进行合并,计算合并后的聚类簇间的距离
-
重复上述过程,直至聚类簇数为设定的参数 k。
17、集成学习AdaBoost
1.定义
集成学习是这样一个过程,按照某种算法生成多个模型,再将这些模型按照某种方法组合在一起来解决某个智能计算问题。
2.作用
集成学习主要用来提高模型(分类,预测,函数估计等)的性能,或者用来降低模型选择不当的可能性。
3.集成学习分类
-
Boosting
Boosting的主要思想:先从初始训练集训练出一个基学习器,再根据基学习器的表现对训练样本分布进行调整,使得先前基学习器做错的训练样本在后续受到更多关注,然后基于调整后的样本分布来训练下一个基学习器;如此重复进行,直至基学习器数目达到事先指定的值T,最终将这T个基学习器进行加权结合。
-
Bagging
-
结合策略
4.Adaboost原理
AdaBoost通过改变数据分布学习多个基本分类器。这些数据分布由上一个基本分类器分类出来的结果决定,确定下一步输入样本的权值。将修改过权值的新数据集送给下层分类器进行训练,最后将每次训练得到的分类器最后融合起来,作为最后的决策分类器。
18、性能指标:准确率,精确率,召回率,F1,PR曲线,宏平均,微平均
1.准确率
分类正确的样本个数占所有样本个数的比例
accuracy=(TP+TN)/(TP+FN+FP+TN)
2.精确率
分类正确的正样本个数占分类器所有的正样本个数的比例
precision=TP/(TP+FP)
3.召回率
分类正确的正样本个数占正样本个数的比例
recall=TP/(TP+FN)
4.F1
精确率与召回率的调和平均值,它的值更接近于Precision与Recall中较小的值
F1=2 *precision * recall/(precision+recall)
5.PR曲线
P指精确率,R指查全率,PR曲线用来描述模型的优劣。
19、什么是人工神经网络,及其基本概念,神经元与权值连接
1.定义
神经网络是由具有适应性的简单单元(神经元模型)组成的广泛并行互联的网络, 它的组织能够模拟生物神经系统对真实世界物体所作出的反应
2.概念
机器学习中的神经网络通常是指“神经网络学习” 或者机器学习与神经网络两个学科的交叉部分
3.神经元
神经元模型即上述定义中的“简单单元”,是神经网络的基本成分
4.神经元权值连接
20、激活函数有哪些?
激活函数的详细介绍和每一个函数的具体介绍
-
Sigmoid函数【常用】
-
Tanh函数
-
ReLU函数
21、输入层,隐藏层,输出层,损失函数,反向调参策略,什么是全连接网络,什么是偏置向量
1.输入层
输入层是对数据进行预处理的阶段,将输入的数据(图像/文字)转换成网络能够计算的数字。
2.隐藏层
输出层与输入层之间的一层神经元, 被称之为隐层或隐含层, 隐含层和输出层神经元都是具有激活函数的功能神经元
3.输出层
输出激活函数处理的结果【自己理解的】
4.损失函数
损失函数网上链接
损失函数是用于衡量模型预测值与真实值之间差距的函数,损失函数的值越小越好。
分类问题用到的损失函数:
* 0-1损失函数
* 感知损失函数
* 铰链损失函数
* 指数损失函数
* 交叉熵损失函数
回归问题用到的损失函数
- 平方损失函数
- 均方损失函数
- 绝对值损失函数
- Huber损失函数
5.反向调参策略
- 将输入示例提供给输入层神经元,逐层将信号前传,直到产生输出结果
- 计算输出层与真实值的误差,将误差使用BP算法传播到整个网络,对连接权重及阈值进行调整
- 该迭代过程循环进行,直到达到某些停止条件为止。(例如训练误差达到了很小的值,或者整个数据集运行了20轮)
6.什么是全连接网络
全连接神经网络(Multi-Layer Perception, MLP)或者叫多层感知机,是一种连接方式较为简单的人工神经网络结构,属于前馈神经网络的一种,只要有输入层、隐藏层和输出层构成,并且在每个隐藏层中可以有多个神经元。MLP 网络是可以应用于几乎所有任务的多功能学习方法,包括分类、回归,甚至是无监督学习。
7.什么是偏置向量
当学习器去预测其未遇到过的输入的结果时,会做一些假设(Mitchell, 1980)。而学习算法中归纳偏置则是这些假设的集合。【百度】
22、BP神经网络
1.定义
BP算法(误差反向传播算法)是最成功的训练多层前馈神经网络的学习算法,也是现在使用最多的学习算法。
2.详细介绍
详细介绍
BP神经网络的学习算法类型:采用有监督学习
BP神经网络学习算法核心思想:将输出误差以某种形式通过隐藏层想输入层逐层反传,将误差分摊给各层的所有神经元,修正各神经元权值。
BP神将网络学习过程:信号正向传播—>误差反向传播
3.算法步骤:
正向传播:输入样本—>输入层—>各个隐藏层—>输出层
判断是否转入反向传播阶段:若输出层的实际输出与期望的输出不符,也就是拿输出与标签比较时不相等。
误差反传:误差以某种形式在各层表示—>修正各层单元的权值
终止条件:网络输出的误差减少到可接受的程度进行到预先设定的学习次数为止。
23、卷积神经网络,局部连接,权值共享,卷积层,池化层
1.卷积神经网络
卷积神经网络(Convolutional Neural Networks)是一种深度学习模型或类似于人工神经网络的多层感知器,常用来分析视觉图像
CNN基本结构
-
输入层
传递给网络的数据
-
卷积层
提取数据的不同特征
-
激活层
为网络加入非线性因素
-
池化层
对计算后的特征图进行压缩
-
全连接层
连接所有的特征,进行分类
2.局部连接
**作用:**降低参数数目,减少网络运算复杂度。
**原理:**图像的空间联系是局部的像素联系较为紧密,而距离较远的像素相关性则较弱。因而,每个神经元其实没有必要对全局图像进行感知,只需要对局部进行感知,然后在更高层将局部的信息综合起来就得到了全局的信息,这些局部可以称为局部感知野(亦即卷积核)。
3.权值共享
定义:给定一张输入图片,用一个卷积核来卷积这张图,卷积核里的值叫做权重,这张图的每个位置是被同一个卷积核扫的,即卷积的时候所用的权重是一样的。权值共享这个词就是整张图片在使用同一个卷积核内的参数
作用:大减少网络训练参数的同时,还可以实现并行训练
4.卷积层
卷积神经网络中每层卷积层由若干卷积单元(卷积核)组成,每个卷积单元的参数都是通过反向传播算法优化得到的。
积运算的目的是提取输入的不同特征,第一层卷积层可能只能提取一些低级的特征如边缘、线条和角等层级,更多层的网络能从低级特征中迭代提取更复杂的特征。
5.池化层
池化层的主要的作用是压缩数据和参数的量(保持最显著的特征),通过去掉上一层的输出中不重要的信息,进一步减少参数数量。Pooling的方法很多,常用方法有最大池化与均值池化。
24、LSTM
定义
基于RNN的优化算法-LSTM(长短期记忆),LSTM与RNN结构类似,都是链状结构,但是其中的重复模块有不同的结构。依靠门控机制解决信息遗忘问题。
作用
就是为了解决在长期中出现模型精确度下降的问题。
优点
可以实现状态记忆传送
25、训练集,验证集和测试集
1.训练集
用来构建机器学习模型
2.验证集
辅助构建模型,用于在构建过程中评估模型,提供无偏估计,进而调整模型参数
3.测试集
用来评估训练好的最终模型的性能
4.常用的划分方法
**留出法:**直接将数据集划分为互斥的集合,如通常选择 70% 数据作为训练集,30% 作为测试集。需要注意的是保持划分后集合数据分布的一致性,避免划分过程中引入额外的偏差而对最终结果产生影响。
**K-折交叉验证法:**将数据集划分为 k 个大小相似的互斥子集,并且尽量保证每个子集数据分布的一致性。这样,就可以获取 k 组训练 - 测试集,从而进行 k 次训练和测试,k通常取值为10。
26、超参有哪些
定义
超参数是在开始学习过程之前设置值的参数,而不是通过训练得到的参数数据。通常情况下,需要对超参数进行优化,给学习机选择一组最优超参数,以提高学习的性能和效果。
-
树的数量或树的深度
-
矩阵分解中潜在因素的数量
-
学习率(多种模式)
-
深层神经网络隐藏层数
-
k均值聚类中的簇数
-
正则化器
-
正则化系数
-
初始权重值
-
优化器优化权重和偏置
-
聚类中类的个数
-
话题模型中话题的数量
-
模型的学习率
27、过拟合和欠拟合
过拟合
过拟合是指模型学习的参数过多,导致拟合的函数完美的预测训练集,但对新数据的测试集预测结果差。在机器学习中,过拟合通常发生在模型过于复杂的情况下。过拟合会使得模型的预测性能变弱,并且增加数据的波动性。
欠拟合
欠拟合就是模型没有很好地捕捉到数据特征,不能够很好地拟合数据 。文章来源:https://www.toymoban.com/news/detail-512813.html
网上教程文章来源地址https://www.toymoban.com/news/detail-512813.html
到了这里,关于燕山大学机器学习复习提要的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!