SVM
支持向量机(SVM,Support Vector Machine)是一种强大的监督学习模型,用于分类和回归分析。
SVM的核心思想是找到一个最优的超平面(或决策边界),以最大化不同类别之间的边际
超平面(Hyperplane):
在SVM中,超平面是一个决策边界,它可以将数据空间分割成不同的类别。在二维空间中,这个超平面是一条线;在三维空间中,是一个平面;在更高维度中,这个概念被推广到超平面。
边际(Margin):
边际是数据点到决策边界的最短距离。SVM的目标是找到最大化边际的超平面,从而在类别之间提供尽可能大的间隔。
支持向量(Support Vectors):
支持向量是距离超平面最近的数据点,它们是决定超平面位置和方向的关键元素。这些点实际上“支撑”了边际,因此被称为支持向量。
核技巧(Kernel Trick):
在处理非线性可分的数据时,SVM使用核技巧将数据映射到更高维的空间,在这个空间中数据可能是线性可分的。常用的核函数包括多项式核、径向基函数(RBF)或高斯核等。
硬间隔
硬间隔就是要求超平面划分的数据不能有错误
所以硬间隔 ...
决策树
决策树是一个预测模型,它代表的是对象属性与对象值之间的一种映射关系。
树中每个节点表示某个对象,而每个分叉路径则代表某个可能的属性值,而每个叶节点则对应从根节点到该叶节点所经历的路径所表示的对象的值。
决策树是一树状结构,它的每一个叶节点对应着一个分类,非叶节点对应着在某个属性上的划分,根据样本在该属性上的不同取值将其划分成若干个子集。对于非纯的叶节点,多数类的标号给出到达这个节点的样本所属的类。构造决策树的核心问题是在每一步如何选择适当的属性对样本做拆分。对一个分类问题,从已知类标记的训练样本中学习并构造出决策树是一个自上而下,分而治之的过程。
属性选择在于选取对训练数据具有分类能力的特征,这样可以提高决策树学习的效率。通常特征选择的准则是信息增益或信息增益比
属性选择
信息熵
信息熵是用来衡量信息量或不确定性的一个度量。在信息理论中,熵被用来表示随机变量不确定性的程度,也就是说,它衡量了信息的"混乱度"。
对于一个离散随机变量XXX,其信息熵H(D)H(D)H(D)定义为:
H(D)=−∑i=1nP(xi)logbP(xi)H(D)=-\su ...
聚类算法
好像就要求了KNN啊
距离度量
欧氏距离
d(x,y)=∑i(xi−yi)2d(x,y)=\sqrt{\sum_i(x_i-y_i)^2}
d(x,y)=i∑(xi−yi)2
欧几里得度量 (EucIidean Metric) (也称欧氏距离)是一个通常采用的距离定又指在 m 维空间中两个点之间的真实距离,或者向量的自然长度(即该点到原点的距离)。在二维和三维空间中的欧氏距离就是两点之间的实际距离。
曼哈顿距离 (Manhattan distance)
d(x,y)=∑i∣xi−yi∣d(x,y)=\sum_i|x_i-y_i|
d(x,y)=i∑∣xi−yi∣
要从一个十字路囗开车想象你在城市道路里到另外一个十字路口骘驶距离是两点间的直线距离吗?显然不是除非你能穿越大楼。实际骘驶距离就是这个"曼哈顿距离”。而这也是曼哈顿距离名称的来源,曼哈顿距离也称为城市街区距离( City Block distance)。
切比雪夫距离 (Chebyshev distance)
d(x,y)=maxi∣xi−yi∣d(x,y)=max_i|x_i-y_ ...
分类评估
混淆矩阵
准确率:
ACC=TP+TNFP+FN+TP+TN=1−ERRACC=\frac{TP+TN}{FP+FN+TP+TN}=1-ERR
ACC=FP+FN+TP+TNTP+TN=1−ERR
精度:(实际上精度和真正率是一回事)
PRE=TPTP+FPPRE=\frac{TP}{TP+FP}
PRE=TP+FPTP
召回率:
REC=TPTP+FNREC=\frac{TP}{TP+FN}
REC=TP+FNTP
ROC
ROC(受试者工作特征)曲线是选择分类模型的有用工具,他以FPR(FP rate)和TPR(TP rate)的性能比较结果为移除,通过移动分类器的阈值完成计算。ROC曲线和精度召回曲线类似
TPR=TPTP+FNTPR=\frac{TP}{TP+FN}
TPR=TP+FNTP
FPR=FPFP+TNFPR=\frac{FP}{FP+TN}
FPR=FP+TNFP
中间虚线对角线表示纯随机分类器的ROC曲线,一个好的分类器尽量远离该线
比较分类器的一种方法是测量曲线下面积 (AUC) 。完美分类器的 ROC AUC 等于 1 ,而纯 ...
机器学习
未读 前置知识
一些大纲上的内容
过拟合和欠拟合
过拟合(高方差)
虽然模型在训练数据上表现良好,但不能很好地泛化未见过的新数据或测试数据
欠拟合(高偏差)
模型不足以捕捉训练数据中的复杂模式,因此对未知数据表现不佳
正则化
正则化是处理共线性(特征间的高相关性)、滤除数据中的噪声并最终防止过拟合的方法
正则化的本质是为了找到一个好的偏置-方差权衡的方法来调整模型的复杂性
偏置-方差权衡
研究人员经常通过偏置和方差来描述模型的性能,一般来说,高方差和过拟合成正比,高偏置和欠拟合成正比。方差可以用于测量模型对样本进行分类时预测结果的一致性,方差对数据的随机性很敏感。偏置测量的是,假如在不同的训练数据集上反复建模,预测值离正确值有多远,偏置测量的是非随机性引起的系统误差。
接下来我们讲解一下L1和L2正则化在线性回归里面的应用,首先广义线性回归的表示形式为:
y=β0+β1x1+β2x2+⋯+βnxn+εy=\beta_0+\beta_1x_1+\beta_2x_2+\dots+\beta_nx_n+\varepsilon
y=β0+β1x1+β2x2+⋯+βnxn+ ...
机器学习
未读 注意力机制和记忆机制
神经网络中可以存储的信息量称为网络容量(Network Capacity).一般来讲,利用一组神经元来存储信息时,其存储容量和神经元的数量以及网络的复杂度成正比.要存储的信息越多,神经元数量就要越多或者网络要越复杂,进而导致神经网络的参数成倍地增加.
人脑也存在网络容量这样的问题,人脑的工作记忆大概就几秒钟,而且感觉器官传递进来的信息非常多,人脑在有限的资源下,并不能同时处理这么多信息,但大脑有两个机制去应对这个问题,即注意力和记忆机制
所以神经网络模型也随之发展出了类似机制
显著性注意力和聚焦式注意力
聚焦式注意力
自上而下的有意识的注意力(focus),称为聚焦式注意力。聚焦式注意力是指有预定目的、依赖任务的,主动有意识地聚焦于某一对象的注意力。
显著性注意力
自下而上的无意识的注意力(pool),称为基于显著性的注意力。基于显著性的注意力是由外界刺激驱动的注意,不需要主动干预,也和任务无关.如果一个对象的刺激信息不同于其周围信息,一种无意识 的“赢者通吃”(Winner-Take-All)或者门控(Gating)机制就可以把注意力转向这个对象.不管 ...
机器学习
未读 循环神经网络
期末复习资料整理
循环神经网络前言(未要求)
循环神经网络的诞生
和卷积神经网络的诞生类似,都是为了解决前馈神经网络无法解决的问题。
前馈神经网络的信息传递是单向的,前馈神经网络每次训练都是独立的,当层网络的输出只依赖当前的输入。但现实生活里,有许多的输出不仅和当前状态的输入相关,还与过去一段时间的输出相关。比如有限自动状态机(可以实现正则表达式匹配)其下一个时刻的状态(输出)不仅仅和当前输入相关,也和当前状态(上一个时刻的输出)相关
前馈神经网络是静态模型,要求输入输出都是固定的,但是视频、语音、文本等时序数据的长度不固定,前馈神经网络就难以作用
循环神经网络简介
循环神经网络(Recurrent Neural Network,RNN)是一类具有短期记忆能力的神经网络.在循环神经网络中,神经元不但可以接受其他神经元的信息,也可以接受自身的信息,形成具有环路的网络结构.
循环神经网络有以下特征:
时间动态性:RNN能够处理和生成序列数据。它们可以将过去的信息通过隐藏状态传递到未来的计算过程中。
内部记忆:RNN具有一种“内部记忆”机制,它能够在处理序列时存储之 ...
机器学习
未读 卷积神经网络(CNN)
期末复习资料整理
之前说过卷积神经网络和全连接前馈神经网络都是由基于MLP的前馈神经网络发展而来
卷积神经网络的起源(复习思维导图未要求)
卷积神经网络是受生物学上感受野机制的启发而提出的.感受野(ReceptiveField)机制主要是指听觉、视觉等神经系统中一些神经元的特性,即神经元只接受其所支配的刺激区域内的信号.在视觉神经系统中,视觉皮层中的神经细胞的输出依赖于视网膜上的光感受器.视网膜上的光感受器受刺激兴奋时,将神经冲动信号传到视觉皮层,但不是所有视觉皮层中的神经元都会接受这些信号.一个神经元的感受野是指视网膜上的特定区域,只有这个区域内的刺激才能够激活该神经元
目前的卷积神经网络一般是由卷积层、汇聚层和全连接层交叉堆叠而成的前馈神经网络
卷积神经网络的特点
全连接前馈神经网络的问题
参数太多
如果拿来图像数据来进行学习,就会需要非常多的参数,导致训练效率非常低,也很容易过拟合
局部不变性特征
自然图像都具有布局不变性特征,比如尺度缩放、平移、旋转等操作不影响其语义信息,但全连接前馈神经网络很难提取到这些特征,一般需要语义增强来提高 ...
机器学习
未读 前馈神经网络(FNN)
期末复习整理资料
神经元模型
人工神经元(Artificial Neuron),简称神经元(Neuron),是构成神经网络 的基本单元,其主要是模拟生物神经元的结构和特性,接收一组输入信号并产生输出.
生物神经元是有多个树突和一个轴突,树突拿来接收信息,轴突发送信息,树突的信息超过一定阈值就会神经元兴奋,将信号传递出去
所以神经元模型就是接受来自其他神经元的输入,然后将这些输入经过带权重的连接进行传递,神经元再和自己的阈值作比较,最后通过激活函数进行输出
MP神经元
最早的神经元是MP神经元:与现在神经元无太多区别,不过MP神经元中的激活函数𝑓为0或1的阶跃函数,而现代神经元中的激活函数通常要求是连续可导的函数
激活函数
假设一个神经元接收𝐷 个输入𝑥1 , 𝑥2 , ⋯ , 𝑥𝐷,令向量𝒙 = [𝑥1 ; 𝑥2 ; ⋯ ; 𝑥𝐷]来 表示这组输入, 净输入也叫净活性值 (Net Activation). 并用净输入(Net Input)𝑧 ∈ ℝ表示一个神经元所获得的输入信 号𝒙的加权和
z=∑d=1Dωdxd+bz = ...
模型评估
机器学习入门到精通!不愧是公认的讲的最好的【机器学习全套教程】同济大佬12小时带你从入门到进阶(机器学习/线性代数/人工智能/Python)听课笔记
前言
Sklenrn工具包简介
链接:scikit-learn: machine learning in Python — scikit-learn 1.3.2 documentation
Sklearn能做分类,回归,聚类、降维、模型选择、预测
还能查询API,API里面还有示例
Examples里面有各种示例,还展示怎么可视化,可以进行学习
数据集划分
Sklearn里面有很多内置数据集
划分测试集和训练集
洗牌
因为我们不希望模型学习到因为排列而形成的关系,洗牌可以只洗训练集
交叉验证
测试集是宝贵的资源,是模型性能的最终测试。而在训练集里面做交叉验证,一方面是不使用测试集的资源,另一方面是为了提高模型性能
交叉验证:把训练集切成多个部分。每次训练时,用大部分用作训练模型,拿剩下的部分当作此次训练的验证集。但是测试成绩受拿被当作测试集的训练集的数据影响很大,所以这里引入交叉,每次用不一 ...