机器学习理论与Python实现
文章平均质量分 86
注重理论与实践的结合。从算法原理出发,由浅入深,详细介绍算法的理论,并配合目前流行的Python语言,实现每一个算法,以加强对机器学习算法理论的理解、增强实际的算法实践能力,最终达到熟练掌握每一个算法的目的。
沈子恒
计算机视觉 自然语言处理 推荐系统 架构设计
展开
-
获取keras中间层输出、模型保存与加载
1. 获取keras中间层输出# model summary and plotimport kerasfrom keras.models import Modelfrom keras.utils import plot_modelDocEncoder.summary()DocEncoder.plot_model()model.summary()model.plot_mod...原创 2020-03-29 22:52:18 · 2563 阅读 · 0 评论 -
常见回归和分类损失函数比较
文章转自知乎作者wdmad,更多内容建议阅读原文:https://zhuanlan.zhihu.com/p/36431289本博文属于阅读笔记,融合了个人观点。1. 损失函数损失函数的一般表示为L(y,f(x)),用以衡量真实值 y和预测值 f(x)之间不一致的程度,一般越小越好。为了便于不同损失函数的比较,常将其表示为单变量的函数,在回归问题中这个变量为[y-f(x)] :残差表...原创 2020-03-29 21:45:45 · 6766 阅读 · 2 评论 -
学习模型
1.前言本栏目所涉及的各种机器学习算法大多着重于如何使特定函数与数据集相似。所以在最开始的时候,我先对各种近似模型进行介绍。2.线性模型最简单的线性模型是Θ*x。Θ表示模型的参数,标量,通过对这个参数进行学习,完成函数的近似计算。这个模型对于参数Θ而言是线性的,过于简单,实际中没有太大应用价值。实际应用中,经常会对上面的线性模型进行相应的拓展,使其变成基于参数的线性模型原创 2017-06-07 16:15:47 · 1235 阅读 · 0 评论 -
有监督回归:最小二乘学习法
1.前言接下来几篇博客将总结回归问题中的各种有监督学习算法。本片博客介绍回归问题中的最基本算法——最小二乘学习法;下一篇介绍为了避免过拟合而设置约束条件的最小二乘学习法。之后,我也会介绍难度高一点的稀疏学习法和鲁棒学习法。在以下几篇文章中,我们将对以d次方的实数向量X作为输入、以实数值y作为输出。可以描述为y=f(X)。这里,真实的函数关系f是未知的,通过学习过程中作为训练集进行学原创 2017-06-08 19:09:22 · 3347 阅读 · 5 评论 -
有监督回归:约束条件下的最小二乘法
1.前言前面介绍的最小二乘学习法,是众多机器学习算法中极为重要的一种基础算法。但是,单纯的最小二乘法对于包含噪声的学习过程经常有过拟合的弱点。如下图所示:这往往是由于学习模型对于训练样本而言过于复杂。因此,本篇博客将介绍能够控制模型复杂程度的、带有约束条件的最小二乘学习法。2.部分空间约束的最小二乘学习法在有参数线性模型:的一般最原创 2017-06-08 22:43:27 · 32237 阅读 · 2 评论 -
有监督回归:稀疏学习
1.前言带有约束条件的最小二乘学习法和交叉验证的组合,在实际应用中是非常有效的回归方法。然而,当参数特别多的时候,求解各参数以及学习得到的函数的输出值的过程,都需要耗费大量的时间。这篇博客主要介绍可以把大部分都设置为0的稀疏学习算法,因为大部分参数都设置为0,所以就可以快速地求解各参数以及学习得到的函数。2.L1约束的最小二乘学习法在L2约束的最小二乘学习法原创 2017-06-09 22:03:55 · 1583 阅读 · 0 评论 -
有监督回归:鲁棒学习
1.前言虽然最小二乘学习法是非常实用的机器学习方法,但是当训练样本中包含异常值的时候,学习效果非常易于受到影响。下图展示的是对于线性模型:以10个训练样本进行最小二乘学习的例子。测试结果如下图所示:最小二乘学习法具有容易受到异常值影响的弱点(a)图显示的是没有一场值得情况下能够得到合理的学习结果。但是在(b)图中,如果存在一个异常值,那么最小二乘学习的最终结原创 2017-06-10 14:57:23 · 9946 阅读 · 2 评论 -
有监督分类:基于最小二乘法的分类
1.前言接下来主要介绍有关模式识别的算法。不可否认的是,在全民AI时代,PR的重要性越来越凸显了。模式识别是指:对于输入的模式x∈R,将其分类到它属于的类别y∈[1,...,c]的方法。c表示类别的数目。2.最小二乘分类首先考虑2类别分类问题y∈{+1,-1}.这种情况下,分类器的学习问题可以近似地定义为取值为+1、-1的二值函数问题,如下图所示:函原创 2017-06-10 18:32:21 · 8670 阅读 · 0 评论 -
有监督分类:支持向量机分类
1.前言上一篇主要研究了《最小二乘用于分类》也实现了模式识别。然而,虽然与错误分类率对应的0/1损失的间隔函数是单调非增的,但是L2损失并不是单调非增的,所以使用最小二乘学习法进行模式识别还是有些不自然。这里,再次综述一下支持向量机分类器,关于SVM的话题已经写了近10篇文章了。本文更偏重于介绍支持向量机分类器中所使用的损失概念,并且讨论支持向量机分类器向鲁棒学习进行拓展的方法。2原创 2017-06-12 16:22:28 · 6977 阅读 · 0 评论 -
有监督分类:集成分类(Bagging & Boosting & RandomForest)
1.前言集成学习(Ensemble),是指把性能较低的多种弱学习器,通过适当组合形成高性能的强学习器的方法。“三个臭皮匠顶个诸葛亮”这句谚语用来形容集成分类器最合适不过了。这几年,关于集成分类的研究一直是机器学习领域的一个热点问题。在这里,只分析了两个我比较熟悉的集成分类方法。对多个弱学习器独立进行学习的Bagging学习法对多个弱学习器依次进行学习的Boosting学习法原创 2017-06-12 19:24:59 · 6231 阅读 · 2 评论 -
有监督分类:概率分类法(Logistic)
1.前言前面我介绍的都是确定模式所属类别的模式识别算法。对于模式基于概率进行分类的手法称为概率分类法。这是这一篇博客重点讨论的内容。基于概率的模式识别,是指与模式x所对应的类别y的后验概率p(y|x)进行学习。其所属类别为后延概率达到最大值时所对应的类别。类别的后验概率p(y=y'|x).可以理解为模式x属于类别y的可信度。通过这样的方法,在可信度非常低的时候就不用强行进行原创 2017-06-13 10:41:37 · 5435 阅读 · 2 评论 -
无监督学习:异常检测与剔除(局部异常因子法 & SVM异常检测器)
1.前言前面介绍的都是有监督学习的回归和分类算法。有监督学习是指对输入和输出都有成对出现的训练样本{(xi,yi)}。在这里,主要介绍在没有输出信息时,只利用输入样本{xi}的信息进行无监督学习的方法。本篇博客重点讨论删除样本{xi}中包含异常值的方法。异常值检测,是指找出给定的输入样本{xi}中包含的异常值的问题。虽然再有监督回归和有监督分类里面我们也研究了对异常值具有较高鲁棒性的学原创 2017-06-14 10:17:20 · 7347 阅读 · 0 评论 -
无监督分类:聚类分析(K均值)
1.K均值聚类K均值聚类是最基础的一种聚类方法。K均值聚类,就是把看起来最集中、最不分散的簇标签分配到输入训练样本{xi}中。具体而言就是通过下式计算簇y的分散状况:在这里,∑i,yi=y表示的是满足yi=y的y的和。μy是指簇y的中心。ny为属于簇y的样本总数。利用上述定义,对于所有的簇y=1,2,3,..,c的下式和最小时,决定其所属的簇标签。然而,原创 2017-06-14 22:04:23 · 10910 阅读 · 0 评论 -
新兴机器学习算法:在线学习
1.前言前面介绍的是对于所有训练样本{(xi,yi)}i=1->n同时进行学习的回归、分类算法。一般来说,在训练样本不同时给定的情况下,比起将所有的训练样本集中起来同时进行学习,把训练样本逐个输入到学习算法中,并在新的数据进来的时候马上对现在的学习结果进行更新,这样的逐次学习算法更加有效。本篇博客介绍可以进行逐次学习的在线学习算法,当训练样本总数n非常大的时候,在线学习算法对于有限内存的利原创 2017-06-15 14:43:41 · 13440 阅读 · 0 评论 -
新型机器学习算法:正则化理解
1.过拟合问题上面是预测房价的例子,先对该数据做线性回归,也就是左边第一张图。如果这么做,可以获得拟合直线,但是,实际上这并不是一个很好的模型。我们看看这些数据,很明显,随着房子面积增大,住房价格的变化趋于稳定或者说越往右越平缓。因此线性回归并没有很好拟合训练数据。我们把此类情况称为欠拟合,或者叫作叫做高偏差。这两种说法大致相似,都表示没有很好地拟合训练数据。高偏差这个词是 m原创 2017-06-15 16:15:57 · 754 阅读 · 0 评论 -
新兴机器学习算法:从无监督降维到监督降维
1.前言机器学习领域中所谓的降维就是指采用某种映射方法,将原高维空间中的数据点映射到低维度的空间中。降维的本质是学习一个映射函数 f : x->y,其中x是原始数据点的表达,目前最多使用向量表达形式。 y是数据点映射后的低维向量表达,通常y的维度小于x的维度(当然提高维度也是可以的)。f可能是显式的或隐式的、线性的或非线性的。目前大部分降维算法处理向量表达的数据,也有一些降维算法处理高原创 2017-06-18 12:45:06 · 10182 阅读 · 0 评论 -
新兴机器学习算法:迁移学习
1.前言在面对某一领域的具体问题时,通常可能无法得到构建模型所需规模的数据。然而在一个模型训练任务中针对某种类型数据获得的关系也可以轻松地应用于同一领域的不同问题。这种技术也叫做迁移学习(Transfer Learning)。Qiang Yang、Sinno Jialin Pan,“A Survey on Transfer Learning”,IEEE Transactio原创 2017-06-18 13:28:24 · 2506 阅读 · 0 评论 -
最大似然估计(MLE:样本观测总体参数)是如何工作的?
1. MLE的意义:样本估计总体分布参数假定一个事件的观测样本服从如下分布,我们如何确定总体数据的分布模型?首先应该想到是建立线性回归模型,然而由于该变量不是正态分布的,而且是不对称的,因此不符合线性回归的假设。常用的方法是对变量进行对数、平方根、倒数等转换,使转换后的变量服从正态分布,并进行线性回归建模。变换后的效果如下不幸的是,所有这些都不接近正态分布,那么应该如何对这...原创 2018-09-23 21:18:54 · 6066 阅读 · 0 评论 -
[原理篇] 逻辑回归
1. Logistic Regression基本模型 Logistic Regression 模型是广义线性模型中的一种,属于线性分类模型。对于类似上图的分类问题,需要找到一条直线,将两个不同的类区分开。多维情况下,可以利用如下线性函数描述该超平面。W为权重,b为偏置。多维情况下,两者都是向量。实际应用中,通过对训练样本的学习确定该超平面。其中,我们可以使用阈值函数将样本映...原创 2018-10-14 12:02:45 · 1206 阅读 · 0 评论