Machine Learning
文章平均质量分 89
lzk_nus
这个作者很懒,什么都没留下…
展开
-
L4 Latent Variable Model
Latent Variable Model原创 2023-01-28 19:31:19 · 608 阅读 · 0 评论 -
L3 Flow Model
CS294 Lecture3 summary原创 2023-01-02 10:44:55 · 291 阅读 · 0 评论 -
L2 Autoregressive Model
CS294 Lecture2 summary原创 2023-01-02 10:41:58 · 419 阅读 · 0 评论 -
DBSCAN算法详解
Density-based Clustering第二种类型的聚类算法叫做“密度聚类”,即基于密度的聚类。这一类模型是根据样本之间的紧密程度进行聚类,通过样本的密度来考虑样本之间的可连接性。其中,DBSCAN是最为著名的密度聚类模型。DBSCAN基于一组“邻域”参数(ϵ, MinPts)(\epsilon, \ MinPts)(ϵ, MinPts)来刻画样本之间的紧密程度,给定数据集D={x1,x2,…,xn}D=\{x_1,x_2,\dots,x_n\}D={x1,x2,…,xn原创 2022-01-08 00:06:05 · 1967 阅读 · 0 评论 -
K-Means算法详解
Prototype-based Clustering首先,我们来看原型聚类的算法。之所以叫原型聚类,看完书以后,我认为原因是这类聚类算法都是通过确定一组“原型向量”,其实也就是类似于中心向量,然后根据每个样本与原型向量组中每一个原型向量之间的距离来确定该样本所属的类。原型聚类最典型的就是K-Means,所以我们重点来介绍K-Means。K-Means的思想很简单,就是对于数据集D={x1,x2,…,xm}D=\{x_1,x_2,\dots,x_m\}D={x1,x2,…,xm},K-Means得到原创 2022-01-08 00:05:12 · 596 阅读 · 0 评论 -
聚类算法总览
Clustering下面我们进入聚类部分。“聚类”算法,从名字来看,和分类有点像。的确,我认为这两者做的本质工作是一样的,只是这两种模型所处理的数据不太一样。分类算法大多是有监督学习(Supervised Learning),也就是数据集是有标注的。但是聚类算法是一类无监督学习算法(Unsupervised Learning),也就是数据集是没有类别标签的,而我们聚类模型的任务就是将这些没有类别标记的数据划分开,并且希望划分的结果好。下面给出一个动图为例来展示聚类的大体流程下面给出数学化的表达:假定样原创 2022-01-08 00:04:23 · 586 阅读 · 0 评论 -
CRF条件随机场
有向图和无向图在正式进入Linear CRF的介绍之前,我们先来看一下有向图和无向图之间的区别有向图我们之前介绍了HMM模型,HMM模型就是一个有向图模型如图,我们来看一下如何计算有向图的联合概率分布p(a,b,c,d,e)=p(a∣b)p(c∣b,d,e)∗p(b)p(d)p(e)p(a,b,c,d,e)=p(a|b)p(c|b,d,e)*p(b)p(d)p(e)p(a,b,c,d,e)=p(a∣b)p(c∣b,d,e)∗p(b)p(d)p(e)很简单,只需要根据依赖关系即可。无向图原创 2022-01-08 00:03:10 · 1252 阅读 · 0 评论 -
HMM隐马尔科夫模型
隐马尔科夫模型(HMM)隐马尔可夫模型是关于时序的概率模型,描述由一个隐藏的马尔可夫链随机生成不可观测的状态随机序列,再由各个状态生成一个观测而产生观测随机序列的过程。隐藏的马尔可夫链随机生成的状态的序列,称为状态序列(state sequence);每个状态生成一个观测,而由此产生的观测的随机序列,称为观测序列(observation sequence)。序列的每一个位置又可以看作是一个时刻。生成式模型vs判别式模型给定任务:已知序列xxx,求标签yyy,我们要做的实际上就是求p(Y∣X)p(原创 2022-01-07 21:52:16 · 1342 阅读 · 0 评论 -
XgBoost算法详解
XGBoostXGBoost全名叫做Exetreme Gradient Boosting,看这个名字就感觉是求了好几次导。XGBoost的效果非常好,因此在竞赛和工业领域都很受欢迎。XGBoost其实还是提升树的一种变体,因此它遵循的还是加法模型、前向分步算法等等,所以就不再多介绍这些了,重点来看它与GBDT不同或着说改进后的地方。Objective Function在提升算法里,我们的损失函数或者说目标函数通常抽象定义为如下的形式∑i=1nL(yi, ∑t=1Tht(xi))原创 2022-01-07 21:51:03 · 643 阅读 · 0 评论 -
GBDT算法详解
Gradient Boosting Decision Tree(GBDT)GBDT又称梯度提升树,是传统机器学习中效果最好的模型之一。在介绍GBDT之前,我们先来看一下回归问题的提升树算法。Regression对于回归任务,我们的基学习器自然也应该设置为适用于回归任务的模型,因此选用CART回归树。并且与用于分类的提升树不同的是,我们的损失函数从指数损失变成了均方误差损失。假设我们的回归树有JJJ个叶子节点RjR_jRj,每个叶子节点的输出值为cjc_jcj,那么这棵树可以表示为:T(x;θ)&原创 2022-01-07 21:48:42 · 1330 阅读 · 0 评论 -
AdaBoost算法详解
AdaBoost在Overview部分我们提到了AdaBoost可以看作是模型为加法模型、损失函数为指数损失函数、学习算法为前向分步算法的分类模型。我认为在AdaBoost中,最重要的两个概念就是两组权重:基学习器权重和样本权重分布。Weights首先来看这两组权重,样本的权重和基学习器的权重。其实提升算法,听这个名字,就能感觉出它是在不断地提升模型的能力。Sample weight对于数据集D={(x1, y1),(x2, y2),…,(xN, yN)}D=\{(x原创 2022-01-07 21:41:57 · 680 阅读 · 0 评论 -
Boosting算法总览
Boosting本章节讲解提升算法,主要是提升树,提升树实际上是采用加法模型和前向分步算法,并且以决策树为基学习器。下面我们就依次来介绍这几个概念Additive Model下面我们来看加法模型,加法模型的定义非常简单,其实就是所有基学习器的一个线性组合H(x) = ∑t=1Tαtht(x)H(x)\ =\ \sum_{t=1}^{T}\alpha_{t}h_t(x)H(x) = t=1∑Tαtht(x)Boosting算法一种比较容易理解的推导方原创 2022-01-07 21:38:23 · 227 阅读 · 0 评论 -
Bagging
Bagging在overview中我们提到bagging是集成学习的方式之一,也是并行式集成学习的代表。Booststrap Sampling首先介绍一种采样方式,叫做自主采样法(booststrap sampling),自主采样法在数据集比较小,难以划分训练集和测试集的时候比较有效。算法的流程是:从数据集DDD中随机选取一个样本xxx放入D′D^{'}D′中将样本xxx放回原数据集DDD重复上述过程mmm次,得到一个包含mmm个样本的子集D′D^{'}D′。这里我们计算某个样本在m次选取原创 2022-01-07 21:37:42 · 206 阅读 · 0 评论 -
集成算法总览
Ensemble集成学习的思想是通过构建多个学习器来完成分类或者回归任务的一种算法。俗话说的好:“三个臭皮匠,顶个诸葛亮”,集成模型的思想就和这句谚语很像,单个学习器的效果不一定很好,那我多训练几个学习器是不是就能得到一个更好的效果了呢?其实这种思想在深度学习中也很常见,根据我的理解,CNN中不同大小的卷积核、Transformer中多头注意力机制等都是这种思想的体现。上图展示了集成学习的一般结构,先产生一组“个体学习器”,这里个体学习器有两种,一种叫“同质” (homogenous) 学习器,即所有原创 2022-01-07 21:36:18 · 784 阅读 · 0 评论 -
线性回归详解
Linear Regression线性回归模型是我认为的机器学习模型中最为简单也是最为基础的一个模型,但其意义是非常重大的,因为我们可以从简单的线性回归模型推导出二分类、多分类模型等。线性回归的intuition非常的直接简单,假设在一个二维平面xoyxoyxoy上有一些呈带状分布的点,我们想要对这些数据进行拟合,并做预测,那么最直接的方法就是构造线性回归模型Mathematical Representation但是在实际情况中,我们的数据特征维度通常是大于2的,例如我们要评价一个国家的综合国力,我原创 2022-01-07 21:34:17 · 141 阅读 · 0 评论 -
高斯过程回归
Gaussian Process Regression本节我们来讲解一下高斯过程回归,这是一个比较难的知识,因此只要理解思想即可,具体细节推导不做要求。对于线性回归,我们假设所要回归的模型是一个线性模型,希望求出这个线性模型的参数;对于高斯过程回归,我们假设所要回归的模型是一个高斯过程模型,希望求出这个高斯过程模型的参数——均值函数和协方差函数。Multi-Variable Gaussian Distribution首先,我们来介绍一个预备知识:多元高斯分布。假设随机变量x∈Rnx\in{R^n}x原创 2022-01-07 21:32:47 · 4607 阅读 · 0 评论 -
贝叶斯回归
Bayes Regression贝叶斯回归是由贝叶斯派提出的一种线性回归方法,它的思想是不把参数和数据集看作是一个一个未知的数,而是看作一个已知的分布。具体来说,贝叶斯回归有两大任务,参数估计(Inference)和预测(Prediction),接下来我们就来仔细分析一下贝叶斯回归的具体做法。InferenceInference问题就是要求一个后验概率分布,即p(W∣X;Y)p(W|X;Y)p(W∣X;Y),我们仍然令这个分布为一个高斯分布N(0,ξd)N(0,\xi_d)N(0,ξd),那么只要我原创 2022-01-07 21:31:04 · 4527 阅读 · 0 评论 -
SVM算法详解
Support Vector Machine终于,我们来到了SVM。SVM是我个人感觉机器学习中最优美的算法,这次我们要来非常细致地介绍。SVM是一类有监督的分类算法,它的大致思想是:假设样本空间上有两类点,我们希望找到一个划分超平面,将这两类样本分开,而划分超平面应该选择泛化能力最好的,也就是能使得两类样本中距离它最近的样本点距离最大。Hard Margin&Dual ProblemHard Margin如图所示,中间那条加粗的超平面就是我们所求的最优划分超平面。我们知道平面的方程可以用原创 2022-01-05 17:46:22 · 36807 阅读 · 4 评论 -
逻辑回归算法原理
Logistic Regression考虑了一下,还是决定把Logistic Regression放到Classification部分来整理。在本章节,我们正式进入Classification的领域,我会以逻辑回归为例,讲解一些分类任务中比较基本的知识点。Intuition在Regression模块,我们讲到了Linear Regression,也就是f(x)=wTx+bf(x)=w^Tx+bf(x)=wTx+b。那么现在,加入我们要做的不是回归,而是分类,那应该怎么办呢?首先,我们数形结合一下,看一原创 2022-01-05 17:39:09 · 369 阅读 · 0 评论 -
KNN详解
Kth Nearest NeighborK临近算法是我个人认为的最简单直接的一种有监督的分类算法。KNN算法的思想其实非常的intuitive,俗话说的好:“近朱者赤近墨者黑”, KNN就将这句古语利用的淋漓尽致。下面我们详细展开Model DetailKNN算法的流程为:给定一个待预测的样本xxx,在数据集中找到距离样本xxx最近的kkk个样本,然后利用这kkk个样本进行预测。如果是分类问题,就采用“Voting”的方式,少数服从多数,以数量最多的标签作为分类结果;如果是回归问题,就取kkk个样本的原创 2022-01-05 17:36:02 · 604 阅读 · 0 评论 -
决策树算法原理
Decision Tree在分类模型中,决策树算法绝对是最常用的模型之一,当然目前基本没有人会用单棵决策树去做分类或者回归,都是用的集成的树模型。决策树的思想其实并不复杂,人类在判断一件事物是好是坏,是优是劣的时候,通常是这样做的,比如判断一个男人容不容易找到女朋友:先考虑年龄,太大的找不到,年龄合适的再看工资,太少的找不到,太多的没问题,中等水平的再看有没有房,没房的找不到,有房的再看……那么决策树就是在做这样一种判断,它借助树模型,把每个特征看作是一个节点,对每个特征进行划分,构建起一棵树,如图所示:原创 2022-01-05 17:23:55 · 2306 阅读 · 0 评论 -
朴素贝叶斯算法原理
Naïve Bayes本节我们从最简单的朴素贝叶斯开始,一步步深入了解基于贝叶斯理论的分类器。Bayesian Decision Theory贝叶斯决策论是哦概率框架下实施决策的基本方法。对分类任务来说,在所有相关概率已知的情况下,贝叶斯决策论考虑如何基于这些概率和误判损失来选择最优的类别标记 ——西瓜书假设我们有一个数据集D {(x1,y1),(x2,y2)…(xn,原创 2022-01-05 17:17:44 · 314 阅读 · 0 评论