
机器学习
文章平均质量分 77
JessssseYule
数学博士在读,主要研究方向:预训练,自监督学习,神经科学
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
机器学习经典模型:集成学习——Boosting(Adaboost与gradient boosting)
集成学习中的boosting主要有两类,Adaboost和gradient boosting,而GBDT和XGboost都是gradient boosting的具体应用。Boosting和bagging相比,主要的区别在于基学习器之间是相互影响的,是串行训练的,具体来说,当前的学习器的训练是依赖于上一轮学习器的训练结果的,对上一轮学习错误的数据给与更多的关注。AdaBoost的主要思想是一边训练基学习器,一边调整训练数据的分布,使得该轮基学习器分类错误的数据,在下一轮的训练中能得到更多的权重,不断重复.原创 2021-01-04 21:56:06 · 2373 阅读 · 0 评论 -
机器学习经典模型:集成学习——bagging
集成学习算法的基本思想是,通过将多个学习器组合,从而实现一个效果更好的集成学习器。集成学习的优点可以从三个角度出发进行分析,统计上,单一的学习算法可以理解为在一个假设空间中找到一个最好的假设,但是训练数据较小的时候,学习算法可以找到很多符合训练数据的学习器,最终不论选择哪个学习器,在某种情况下都可能存在严重的偏差,浴室就把多个假设集合起来,尽可能降低偏差。计算上,很多学习算法都可能陷入局部最优,集成算法可以从多个起始点可以进行局部搜索,降低模型陷入局部最优的风险。表示上,假设空间的任意一个假设都无法.原创 2021-01-04 21:55:57 · 1285 阅读 · 0 评论 -
机器学习经典模型:支持向量机
支持向量机涉及到的理论还是比较复杂的,特别是关于模型参数的求解,很多文章都要详细的公式推导分析,这里主要从三个角度入手介绍支持向量机,一个是通常的应用场景,一个是模型的思想,一个是和深度学习模型的对比。支持向量机的主要应用场景还是二分类问题。对于一个二分类问题,分类的边界要么是线性要么是非线性的,所以我们先从线性边界开始讨论。对于n维线性可分的数据,n-1维的分类子空间称为超平面,像二维数据中的线、三维数据中的面都属于超平面,支持向量机的目标,就是找出一个超平面,对数据进行分类。继续以二维数据为例.原创 2021-01-05 10:48:19 · 1199 阅读 · 0 评论 -
机器学习经典模型:决策树
决策树是一种分类模型,如下图:根据这棵树,我们就可以一步步进行判断。构建决策树的目标是希望每个分支节点包含的样本尽量属于同一个类别,为了衡量这种节点的纯度,引入了信息熵的概念,假设当前样本集合D中第k类样本所占的比例为pk,则D的信息熵定义为Ent(D)=−∑k=1∣y∣pklog2pkEnt(D) = -\sum_{k=1}^{|y|} p_k log_2 p_k Ent(D)=−k=1∑∣y∣pklog2pk上面的公式,可以简单算一下,假设现在一个节点有10个样本,一种情况是10个样本.原创 2021-01-04 21:55:49 · 793 阅读 · 0 评论 -
机器学习经典模型:线性判别分析
最近打算重新把机器学习的经典模型重新学一遍,基本上是按着周志华老师的《机器学习》的顺序,挑选一些常用的模型学习总结。这次要介绍的是线性判别分析,LDA的经典应用场景是分类问题下的特征降维,比如说,医院对体检的病人,根据体检结果的各项指标,把病人的健康状况分为优、良、差三个类别,体检的各项指标就是特征,病人的健康状况就是分类的结果,基于分类结果对特征进行降维就是LDA所做的事情。简单来说,LDA的目标是使得降维后的数据,同一类的尽可能聚集,不同类的尽可能远离,LDA的实现过程其实就是对输入数据进行线.原创 2021-01-04 21:55:31 · 488 阅读 · 0 评论 -
广义加性模型(GAM)
之前介绍过线性模型和广义线性模型,线性模型的意思就是响应变量和解释变量之间服从线性关系,广义线性模型就是指如果能通过一些变换,让原本不服从线性关系的响应变量解释变量,转换成线性关系,那么他们之间就是具有广义线性关系。除了线性模型和广义线性模型,在回归模型中,我们还介绍了多项式回归、核回归、LOESS、回归样条等等,这些模型可以针对非线性的关系进行拟合,但是,我们有没有想过,这些模型从公式的角度...原创 2019-11-03 16:15:07 · 27780 阅读 · 0 评论 -
具有相关关系的数据处理:线性混合模型与广义线性混合模型
进行数据分析时,会发现有时候一个模型中的变量之间可能具有相关性(correlation),比如面积和长度就具有高度的相关性,如果同时对这些参数建模,就存在共线性问题,所以一般是只针对其中一个参数建模。而这种相关性,其实还存在于数据之中,比如时间序列数据,在不同的时间,同一个对象的数据之间就是相互有联系的,那么我们应该怎么对这些具有相关性的数据进行建模分析呢。在进一步分析之前,再次强调一下,这里...原创 2019-11-03 16:09:04 · 7286 阅读 · 0 评论 -
用逻辑回归(logistic regression)进行数据分析
网上用逻辑回归做分析的例子不少,但很多都是建了一个逻辑回归模型就结束了,这里将展示一个完整的分析过程,包括建模之后的分析和改进,我觉得这些过程有时候甚至比建一个模型重要,也要花费更多的时间。首先我们来看一下问题,主要是分析一个人年薪能不能达到十万和什么因素有关(wage_status),响应变量是就是能不能达到年薪十万,解释变量就是年龄、婚姻状况等等:第一步,我们可以探索一下数据,变量主要...原创 2019-11-03 16:04:54 · 9055 阅读 · 6 评论 -
聚类及K-mean算法
首先什么是聚类,和分类有什么区别,这里讲一个例子,比如有一群学生考完期末考试,现在要根据他们的成绩把他们划分成几个小组,让老师分别进行辅导,这时候,你不知道要划分几个小组比较好,但你可以根据他们的成绩,比较成绩接近的归到一个小组,这个过程就是聚类,另一种情况是直接给出了90分段的一个小组,80分段的一个小组,其他一个小组,根据这些要求把学生分组,这就是分类。所以分类和聚类有什么区别呢,就是分类...原创 2019-10-17 09:28:45 · 1210 阅读 · 0 评论 -
EM算法
EM算法(Expectation-Maximization)用于存在缺失数据的参数估计,比如说,现在我们进行最大似然估计,寻找θ使得p(y_obs|θ)最大,但是有部分数据没有被观察到y_mis,EM算法的思路就是:首先,定义条件期望:Q(θ∣θ(k))=E(logp(yobs,ymis∣θ)∣yobs,θ(θ))Q(θ|θ^{(k)})=E(logp(y_{obs},y_{mis}|θ)|y...原创 2019-10-17 09:27:09 · 522 阅读 · 0 评论 -
深度学习半年学习心得(如何入门)
从一句代码都不会写到现在学习自然语言处理已经有一年多,虽然标题写的是深度学习的学习心得,但其实更多是这一年多的时间里,关于编程、模型等等的学习的回顾和反思。首先我本科学的是数学,不过说实话学得也不好,很多知识理论考完试就忘了,印象最深的只有实变函数,因为难得逆天,所以实际上,我的背景就是数学学得不好,编程也没怎么接触过(除了用过matlab做数学建模),这样的我却因为一些巧合去了一家企业实习做...原创 2019-10-16 19:53:05 · 16147 阅读 · 16 评论 -
用广义线性模型进行数据分析(下)
之前我们已经探讨了,在构建GLM模型之前,如何进行数据预处理,接下来就介绍一下正式的建模过程。首先我们要做的是进一步具体地分析我们应该选择模型的变量。第一步是对一个个变量单独建模,观察他们的p值:这个p值就是假设检验的p值,意思就是我们对模型的参数进行假设检验:H0:βj=0 H_0 : \beta _j = 0 H0:βj=0检验的就是变量的参数在等于0和不等于0的情况下(bet...原创 2019-09-21 20:33:21 · 7978 阅读 · 0 评论 -
用广义线性模型进行数据分析(上)
在这里,我通过我的作业来介绍一下如何用GLM进行数据分析(这里主要用R进行分析),不过还没拿到答案,所以也不确定结果是否正确,不论怎样,介绍一下整个分析的思路也足够了。以上是数据的一些介绍,简单来说就是分析急诊室就诊次数和一些变量之间的关系吧,首先我们来分析一下这些数据的大致情况:可以看到,一大堆变量,包括响应变量都是右偏的,一般来说这时候我们就可以对他们应用log transforma...原创 2019-09-21 20:30:27 · 3299 阅读 · 1 评论 -
广义线性模型
之前提到过,线性回归模型有三个限制:响应变量服从正态分布,响应变量和解释变量之间服从线性关系,方差不变。其实在构建一个线性模型的时候,除了上述的两个要求,我们还需要对解释变量进行具体的分析,主要有几点,首先是解释变量之间的相互作用(interaction)对结果的影响,简单来说就是模型不仅仅受因素a和因素b影响,因素a和因素b的共同作用也会对模型产生影响,这是一个方面。除此之外,还有因素的共...原创 2019-09-21 20:18:12 · 10905 阅读 · 0 评论 -
从线性回归到广义线性模型
在谈及广义线性模型是什么之前,我想先分析一下线性回归模型有什么限制。在这里先说明一点,以下分析的线性回归模型,是考虑了随机误差项的完整的线性回归模型。首先我想说明一下关于响应变量(y)的分布,以及响应变量和解释变量(x)之间的关系的区别。在线性回归中,往往我们会认为响应变量服从正态分布(且方差不变)、响应变量和解释变量之间服从线性关系,这时候我们使用线性回归才能得到好的效果,那么我们应该怎么理...原创 2019-09-21 20:15:09 · 1517 阅读 · 0 评论 -
逻辑回归(Logistic Regression)
线性模型可以用于回归学习,可是可以利用线性模型进行分类吗,答案肯定是可以的,只要利用逻辑回归就可以了。逻辑回归是从线性回归推导来的,在介绍逻辑回归之前,先介绍一下广义线性模型的概念。所谓广义,就是更加通常意义上的线性模型,看回线性回归,我们可以写成另一种形式:y=f(ax+b)=ax+by = f(ax+b) = ax+by=f(ax+b)=ax+b其中f(x)称为link functio...原创 2019-07-04 21:49:08 · 728 阅读 · 0 评论 -
特征工程
特征工程感觉就像数据分析的数据预处理阶段,主要目的就是挑选能够使得模型达到最佳的特征和训练数据。从另一个角度,也可以说特征工程就是人工地去设计输入变量x。我们都知道,数据分析最重要的阶段就是数据预处理,同样的,对机器学习而言,数据和特征也决定了机器学习的上限,而模型和算法只是逼近这个上限而已。大家往往会把特征工程看成一个大问题,在特征工程下面会有很多子问题,主要包括:特征选择(feature ...原创 2019-07-09 07:24:30 · 236 阅读 · 0 评论 -
特征子集选择
特征子集选择属于特征工程的一部分,主要是因为在多个特征中,可能存在数个与响应变量无关的情况,而引入过多的特征,一方面大大增加了计算量,其次也会影响模型的评估,所以我们才需要选择与响应变量相关的变量形成特征子集。第一种方法是最优子集选择(best subset selection),假如目前由p个特征,那么我们每次选择k个特征,从数量为k的所有可能的特征组合中得到最好的那个,这里的最好指RSS(...原创 2019-07-09 07:26:31 · 4167 阅读 · 0 评论 -
交叉检验
在我们训练机器学习模型的时候,为了避免过拟合,检查模型的性能,往往会把训练数据分为三部分:训练集、验证集、测试集,可是这样也会导致一个问题,那就是最终模型和参数的选取会很大程度地以来对训练集和验证集的划分方式,另一方面,我们知道,训练数据越大,得到的模型效果通常会越好,而我们如果把训练数据分成三份,就相当于没有充分利用好我们手头的数据,得到的模型的效果就会受到一定影响。为了解决以上这些问题,就有...原创 2019-07-09 07:30:22 · 4671 阅读 · 0 评论 -
LOESS(局部加权回归)
一般来说,两个变量之间的关系是十分微妙的,仅仅采用简单的直线、曲线参数方程去描述是不够的,所以这时候就需要非参数回归。关于非参数和参数方法的区别,就是在分析之前有没有对预测做一些限制,比如认为特征和响应变量之间具有线性关系,可以通过线性方程拟合,我们只需要求出方程的系数就是参数方法,比如之前提到的线性回归、多项式回归等等,而如果直接从数据出发进行分析就是非参数方法。正正因为没有限制,所以非参数方...原创 2019-07-09 22:10:52 · 46180 阅读 · 3 评论 -
核回归
核回归和loess类似,都是非参数回归方法。整体来说,核回归和loess有点接近,但又有点不同,首先,loess对于在x0估计y的取值,它会选择划定一个范围,通过该范围的样本去估计x0的y值,但是核回归不一样,它会考虑选择全部样本去估计这个x0的y值。另一方面,loess在估计关于x0的y值,计算各点的权重需要先计算距离再通过权重函数计算,而loess则直接把核函数作为权重函数,因为核函数本身...原创 2019-07-09 22:16:17 · 14333 阅读 · 1 评论 -
回归样条(Regression Splines)
我们之前介绍了线性回归,在面对非线性问题的时候线性回归是行不通的,所以就有了多项式回归,可是多项式回归也有缺点,比如当多项式的幂较高时,可能特征的一个微小变化都会被很大地方法,也就是很容易过拟合,另一方面它是非局部的,也就是说我改变一下训练集上某一点的y值,即使其他离他很远的点也会受到影响。为了改进多项式回归的缺点,就有了回归样条法(regression splines)(样条指的是一种分段的低...原创 2019-07-09 22:17:44 · 18536 阅读 · 0 评论 -
分位数回归(Quantile Regression)
在介绍分位数回归之前,先重新说一下回归分析,我们之前介绍了线性回归、多项式回归、核回归等等,基本上,都是假定一个函数,然后让函数尽可能拟合训练数据,确定函数的未知参数。尽可能拟合训练数据,一般是通过最小化MSE来进行:MSE=1n∑i=1n(yi−f^(xi))2=E(y−f^(x))2MSE = \frac{1}{n} \sum_{i=1}^n (y_i - \hat f(x_i))^2 =...原创 2019-07-09 22:25:16 · 122581 阅读 · 17 评论 -
机器学习概述
在深入了解机器学习之前,首先来了解一下什么是机器学习,机器学习的具体过程是什么。首先是机器学习的学习,这个学习主要就是体现在发掘数据的潜在规律,然后针对新数据作出有用的预测。比如给了一个股票历史数据,我们可以通过机器学习算法分析这些输入数据,得到股票变化的潜在规律,最后通过得到的模型做预测,假如我们用线性回归做预测,那么我们通过输入数据拟合得到的函数就是一个模型。所以机器学习的过程,大致上就是...原创 2019-07-04 20:56:17 · 332 阅读 · 0 评论 -
梯度下降法
在微积分中,对多元函数的参数求偏导,把各个参数的偏导写成向量,就是梯度。梯度向量的意义就在于反映了函数变化最快的地方,比如说对于函数f(x,y),在点(x0,y0),沿着梯度向量的方向就是(∂f/∂x0, ∂f/∂y0)T的方向是f(x,y)增加最快的地方。或者说,沿着梯度向量的方向,更加容易找到函数的最大值。反过来说,沿着梯度向量相反的方向,也就是 -(∂f/∂x0, ∂f/∂y0)T的方向,...原创 2019-07-04 21:06:57 · 251 阅读 · 0 评论 -
正则化与特征缩减技术
在机器学习的概述中就提到过,我们可以划分训练集、验证集、测试集避免在训练过程中的过拟合影响了我们对模型的评价,这种策略的目的是避免了训练对测试集的影响,但是并没有真正解决过拟合这个问题,所以其实就这样做,仍然有可能对验证集过拟合,然后在测试集测试的效果不好,那这时候,我们应该怎么改进模型,难道重新训练吗,可是重新训练我们又再怎么确定训练多少次数。为了解决过拟合这个问题,必须从根本上进行分析,为什...原创 2019-07-04 21:23:34 · 522 阅读 · 0 评论 -
线性回归与多项式回归
线性回归是最简单的一种机器学习算法,可分为一元线性回归和多元线性回归(也就是特征数量不同),这里先主要介绍一元线性回归。举一个简单的例子,有一组带标签样本(xi,yi),x是特征y是响应变量(标签),认为他们服从线性方程:yi=a+bxi+cy_i=a+bx_i+cyi=a+bxi+c其中b是回归系数,a+bxi是回归函数,c则是随机误差。我们要做的就是估计a、b,使得函数对数据尽可能...原创 2019-07-04 21:27:05 · 9875 阅读 · 1 评论 -
机器学习模型评价指标
模型评估很重要,因为一般来说,我们针对一个问题会有很多个模型可以解决,那么我们应该用哪个模型?难道一个线性回归用到底吗,肯定不是的。另一方面,在测试模型的泛化能力时,我们怎么定义这个模型的泛化能力好不好,或者说我们怎么判断得到的模型好不好,下一次训练会不会比上一次训练得到的模型更好,这些都需要一些指标去指出当下的模型的性能。这就是模型评价的意义所在。接下来要介绍的指标主要按照回归模型和分类模型...原创 2019-07-04 21:32:51 · 1739 阅读 · 0 评论 -
线性回归模型评价指标
线性回归不难,可是它里面涉及到的一些指标却很繁杂,关于评价回归模型的指标在模型评价里面有介绍,这里主要介绍一些没有涉及到的一些其他指标公式之类的东西。RSS(Residual Sum of squares),在线性回归里面作为损失函数计算模型误差,本质上就是最小二乘法:RSS=(y1−β^0−β^1x1)2+(y2−β^0−β^1x2)2+...+(yn−β^0−β^1xn)2RSS =...原创 2019-07-04 21:36:20 · 7240 阅读 · 0 评论 -
特征降维(主成分分析)
特征过多会可能出现特征之间具有多重共线性,即相互之间具有关联关系,导致解空间不稳定,模型泛化能力弱,过多特征也会妨碍模型学习规律,因为诸如此类的问题,一般来说,如果特征过多,我们都会在特征工程里面减少输入的特征,之前介绍了选择特征子集之类的方法,主要是从特征中筛选出保持模型性能最佳的特征子集,但是因为毕竟还是剔除了部分特征,会导致一些信息的丢失,这里再介绍一个方向,特征降维。简单来说,特征降维就...原创 2019-07-09 07:17:17 · 2806 阅读 · 0 评论