机器学习
文章平均质量分 72
这个专栏主要介绍机器学习的一些算法,以及自己对机器学习的一些思考
Matrix_11
渴望写出优美的代码和文字。走遍万水千山,在维数的世界里寻找各种可能。
展开
-
浅谈泰勒展开与优化
优化,可以说是最常见到的一类数学问题,尤其在深度学习时代,大部分的工作都是围绕着数据构建,模型设计,loss 设计来开展的,深度学习训练模型的目的是拟合训练数据,或者说让设计的 loss 最优,无论是拟合训练数据,还是让 loss 最优,这都涉及到优化问题。有些函数很复杂,比如现在的 AI 模型,AI 模型本身也是一种函数,只是这个函数的表达式过于复杂,已经不能显式地将表达式写出来了。对于这类优化问题,大家都知道可以用梯度下降结合链式法则去优化,现在的深度学习,本质上也是上面这种形式,原创 2024-03-24 14:38:42 · 1253 阅读 · 0 评论 -
论文学习笔记:ViT Vision Transformer An Image is worth 16X16 words
首先看摘要部分,文章作者一开始就提到说虽然 transformer 已经成为了 NLP 领域的主流模型,但是在 CV 领域,这个模型的使用还是非常的受限。因为 transformer 模型里面的核心模块是 attention 机制,所以作者接下来说到,在视觉领域,attention 要不与卷积神经网络一起使用,要不是用 attention 去替换卷积神经网络里的一些模块,但是整体的 CNN 架构还是保持的。原创 2023-05-14 15:00:42 · 405 阅读 · 1 评论 -
论文学习笔记:Transformer Attention Is All You Need
在主流的序列转录模型中,主要是依赖复杂的循环网络或者卷积神经网络,这类模型都包含一个 Encoder 和 Decoder。在性能最好的模型里,通常会在编码器与解码器之间使用一个注意力机制进行连接。这篇文章提出了一个简单的架构,称为 Transformer,仅仅只依靠注意力机制,不再需要循环或者卷积。文章提出的模型,在两个机器翻译任务上取得了更好的效果,同时具备更好的并行化以及更少的训练耗时。同时模型泛化到其它任务上也有不错的表现。原创 2023-05-01 10:32:56 · 1111 阅读 · 0 评论 -
机器学习:神经网络中的激活函数
随着深度学习的兴起,神经网络也似乎成了所有计算机视觉任务的标配,大家除了研究各种各样的网络结构之外,还有研究优化方法的,以及激活函数的,这篇博客就对当前各种各样的激活函数做一个总结,分析其背后的性质。到目前为止,激活函数的形式有很多种了,早期的激活函数主要是 sigmoid 以及 tanh 函数,这两种函数都能将输入限制在很小的范围内,算是一种非线性函数,后来又出现了 RELU 以及各种基于 RELU 的变体。Tanh 函数tanh 是一种双曲函数,称为双曲正切,其表达式如下:tanh(x)=ex−原创 2020-10-19 22:11:55 · 4565 阅读 · 0 评论 -
机器学习的三大定律
引言人类的本性是好奇,无论何时,总是对未知充满好奇,好奇就会开始去想象,人类的联想与记忆功能是智能发展的基础,没有记忆,就无从想象,没有想象,就无从创造。人类思想的发展史,就是一个不断好奇,不断想象,不断探索的过程。在机械时代,主宰人类知识体系的是因果论,那个时候的科学家,研究的都是自然客观规律,从牛顿三大定律,到相对论,从电学理论,到麦克斯韦方程理论,一切的一切都是确定的。万有引力,你在或...原创 2019-10-28 21:35:34 · 3973 阅读 · 1 评论 -
机器学习:增量学习论文解读—— large scale incremental learning
最近,增量学习,持续学习,终生学习的概念越来越火,也引起了学术界工业界的极大关注,我们知道,传统的机器学习,就是给定一个训练集,我们在这个训练集上训练出一个模型,然后在测试集上做测试,这样基本就是一个完整的机器学习流程。增量学习,考虑的是模型持续学习的能力,比如,我们在数据集 D1\mathcal{D}_1D1 上有一个数据集合:{x,y}\{ \mathbf{x}, y \}{x,y},我们可...原创 2019-07-08 21:21:21 · 9273 阅读 · 2 评论 -
机器学习:MixMatch 论文解读
最近谷歌出了一篇有关半监督学习的 paper,几乎可以说是到目前为止,半监督学习领域的集大成者了,在常用的数据集上,取得了非常惊人的效果。这篇 paper,基本把之前半监督学习领域,有用的方式方法都尝试了一下,然后组合出了一个更为有效的方法。这篇文章的名称叫做 MixMatch: A Holistic Approach to Semi-Supervised Learning想解决的也是半监督学...原创 2019-06-01 20:47:49 · 11726 阅读 · 6 评论 -
机器学习:弱监督学习简介
在机器学习领域,我们遇见最多的是有监督学习,学习 x 到 y 的一种映射,X 可以看成是特征向量,维度可以从几十到几百,上千,甚至百万,y 可以看成是标签,(x, y) 构成了一个训练样本,有输入,输出。这种形式的学习,都称之为有监督学习。虽然我们都已步入了大数据时代,每时每刻,我们都会产生很多的数据,图像,视频,这些数据就类似我们说的 x,为了构造一个识别模型,我们有足够多的 x,可是我们却缺...原创 2019-05-29 20:45:03 · 12178 阅读 · 0 评论 -
机器学习:Fine tune 神经网络 Mobilenet V2
# Specify where the model checkpoint is (pretrained weights). model_path = args.model_path assert(os.path.isfile(model_path)) # Restore only the layers up to fc7 (included) ...原创 2019-05-15 20:18:12 · 2558 阅读 · 3 评论 -
模型优化的熵与不平衡学习
模型优化的熵与不平衡学习在统计机器学习里,我们经常会遇到一个数据分布不平衡的问题,在我们训练这种数据的时候,往往都会发现分类器会倾向于样本多的那一类,所以说在统计机器学习里,也是会遵循少数服从多数原则的。不平衡学习,是统计机器学习里非常常见的一类问题,而不平衡学习所反映出来的优化模型的倾向,也说明了现在的机器学习,本质上就是一种数据拟合,哪类的数据多,那么模型就会偏向于数据多的那类,不平衡学习...原创 2019-12-05 22:25:10 · 814 阅读 · 0 评论 -
小样本学习的悖论
小样本学习的悖论引言这两年,学术界开始兴起了一种 “小样本学习” 的技术,小样本学习的本意是想模仿人类的学习过程,研究者认为人类的学习,从来都不是通过大量的数据死记硬背来实现的,机器想要模仿的人类视觉的能力,比如识别能力,似乎是人类与生俱来的能力,可以轻易的区分开不同种类的东西,不管这东西有什么光照,尺度,形状的变化,或者复杂背景的干扰,人类视觉的识别系统,比起机器学习的模型,是在的鲁棒太多。...原创 2019-11-11 21:33:30 · 1177 阅读 · 1 评论 -
机器学习:Colorization using Optimization
今天介绍 Siggraph 2004 年的一篇文章: Colorization using Optimization,利用优化的方法对灰度图像进行着色,这里用到了非常经典的泊松方程以及稀疏矩阵的线性优化。简单来说,就是对一张灰度图像先人为地进行着色,然后利用优化的方法,对其他的没有颜色的区域进行填充。这些处理都是在 YUV 颜色空间进行的。给定一个 Y 通道的图像,我们希望基于一定的先验知识,恢复出翻译 2017-11-01 20:39:33 · 5747 阅读 · 11 评论 -
机器学习:simple linear iterative clustering (SLIC) 算法
图像分割是图像处理,计算机视觉领域里非常基础,非常重要的一个应用。今天介绍一种高效的分割算法,即 simple linear iterative clustering (SLIC) 算法,顾名思义,这是一种简单的迭代聚类算法,这个算法发表于 2012 年的 PAMI 上。SLIC 算法有几个关键点, 1: 图像分割块的初始化,每一个图像块都是一个聚类,聚类的中心称为 superpixel,聚原创 2017-12-04 20:42:49 · 10865 阅读 · 1 评论 -
机器学习:关于图像分类识别的一些思考
在计算机视觉领域,图像的分类识别,可以说是最基础,最常见的一个问题,从之前的手动特征提取结合传统的分类模型,到如今的深度学习,虽然分类识别领域的各个数据库的识别率在不断被刷新,从常见物体识别,到细粒度物体识别,到人脸识别,似乎各个细分的图像识别领域都在取得不断进步,每次伴随着这些进步,就会有意无意地激起人们对 AI 的遐想和恐慌。不得不说,CV 发展了这么多年,确实在不断地进步,不过冷静下来细想...原创 2019-04-26 19:31:18 · 9223 阅读 · 0 评论 -
机器学习: 利用 Tensorflow 和预训练模型提取特征-- Mobilenet V2
之前介绍了利用 Mobinet V1 做特征提取,从 Tensorflow 的官网上看, Mobilenet V2 的性能比 V1 要更好,今天介绍用 V2 的预训练模型提取特征的方式,基本和 V1 是一样的,只是有一个地方需要注意一下,就是加载网络结构的时候:with tf.contrib.slim.arg_scope(mobilenet_v2.training_scope(is_traini...原创 2019-04-04 21:30:33 · 5349 阅读 · 6 评论 -
机器学习: 利用 Tensorflow 和预训练模型提取特征-- Mobilenet V1
传统的 CV 问题,一般把特征提取和分类模型的构建训练分成两个步骤,CNN 可以把这两者合在一个网络里,目前很多实验证明,利用大量数据训练过的 CNN 可以用作很好的特征提取器,类似一种特征迁移。今天介绍一下,如何利用 Tensorflow 和 预先训练好的模型,做特征提取,我们可以用 TensorFlow GitHub 官网上的预训练模型来做特征提取:https://github.com/t...原创 2019-03-24 15:03:52 · 8022 阅读 · 5 评论 -
机器学习: 深度学习中的卷积和反卷积
卷积神经网络(CNN)几乎成了目前 CV 领域的主流模型,从最初的常规的 2D 卷积形式发展到现在,研究人员已经提出了各种各样的卷积形式,比如 3D 卷积,depth-wise 卷积, point-wise 卷积,扩张(Atrous)卷积,deconvolution 等等,这些卷积在 CNN 模型中,发挥着不同的作用。 今天,我们将介绍 CNN 中,各种不同的卷积形式。...原创 2019-03-03 11:25:43 · 1619 阅读 · 0 评论 -
机器学习:Leaning without Forgetting -- 增量学习中的抑制遗忘
传统的机器学习中,训练数据的类别都是固定的,这里也有一个假设,就是测试集也是类别固定的,这也是为什么现在很多模型在人类看来非常白痴的原因,套用一句非常经典的话来说,就是对于一个只见过猫狗的模型来说,那么这个世界在这个模型眼里里,只有猫狗两种可能。所以很多研究人员开始探索增量学习这种技术,这种技术是模拟人的认知过程的,虽然我们无法见过这世界所有的东西,但是随着我见过的物体种类越来越多,那我们能够认...原创 2019-02-17 11:03:49 · 4204 阅读 · 0 评论 -
机器学习:神经网络常见的几种梯度下降优化方式
随机梯度下降,可以说是深度学习的基石,这个看似简单的优化方法,却撑起了整个深度学习,深度神经网络的各种应用,只要涉及到深度神经网络的训练,就一定会用到梯度下降。...原创 2018-12-23 09:27:04 · 3262 阅读 · 0 评论 -
机器学习:神经网络的 over fitting
我们在介绍机器学习的模型的时候,经常会遇到 under fitting 与 over fitting 的概念,现在的机器学习,基本是数据驱动型的。原创 2018-12-09 18:18:38 · 778 阅读 · 0 评论 -
机器学习:向量空间中的投影
今天介绍向量空间中的投影,以及投影矩阵。假设空间中有两个向量 a,b\mathbf{a}, \mathbf{b}a,b,b\mathbf{b}b 在 a\mathbf{a}a 上的投影为 p\mathbf{p}p,我们要计算出 p\mathbf{p}p 到底是多少,如下图所示:为了计算 p\mathbf{p}p,我们可以先假设 p=xa\mathbf{p} = x \mathbf{a}p=x...原创 2018-11-18 21:36:06 · 14574 阅读 · 1 评论 -
机器学习:矩阵的秩和矩阵的四个子空间
给定一个矩阵 A∈Rm×nA \in R^{m \times n}A∈Rm×n原创 2018-11-16 22:13:59 · 5099 阅读 · 8 评论 -
机器学习:深度学习中的迁移学习
迁移学习也是最近机器学习领域很火热的一个方向,尤其是基于深度学习的迁移学习。原创 2018-11-11 18:20:07 · 4553 阅读 · 0 评论 -
机器学习:几种分类识别问题
分类和识别是机器学习领域非常常见的一类问题,比如之前非常火热的 ImageNet 挑战赛,还有人脸识别,人脸表情识别等,接触机器学习的一般来说,都是从识别开始,因为识别比较简单直观,而且大家都对目前识别领域比较常见的几个数据集比如 MNIST, CIFAR-10, CIFAR-100 还有 ImageNet 等都比较熟悉了,这些都是为了解决分类识别问题而设计的数据集。随着深度学习的蓬勃发展,在分...原创 2018-11-04 20:56:12 · 11194 阅读 · 3 评论 -
机器视觉:MobileNet 和 ShuffleNet
虽然很多CNN模型在图像识别领域取得了巨大的成功,但是一个越来越突出的问题就是模型的复杂度太高,无法在手机端使用,为了能在手机端将CNN模型跑起来,并且能取得不错的效果,有很多研究人员做了很多有意义的探索和尝试,今天就介绍两个比较轻量级的模型 mobile net 和 shuffle net。...翻译 2018-07-30 20:46:56 · 1826 阅读 · 0 评论 -
机器视觉:SSD Single Shot MultiBox Detector
今天介绍目标检测中非常著名的一个框架 SSD,与之前的 R-CNN 系列的不同,而且速度比 YOLO 更快。 SSD 的核心思想是将不同尺度的 feature map 分成很多固定大小的 box,然后对每个 box 做预测,既要预测该 box 所包含的 object 属于哪一类,也要预测该 box 与真实的 box 之间的偏差。 为了获得更高的检测精度,SSD 利用了多尺度的技巧,既利用了不同...翻译 2018-07-27 21:01:40 · 891 阅读 · 0 评论 -
机器学习:Kullback-Leibler Divergence (KL 散度)
今天,我们介绍机器学习里非常常用的一个概念,KL 散度,这是一个用来衡量两个概率分布的相似性的一个度量指标。我们知道,现实世界里的任何观察都可以看成表示成信息和数据,一般来说,我们无法获取数据的总体,我们只能拿到数据的部分样本,根据数据的部分样本,我们会对数据的整体做一个近似的估计,而数据整体本身有一个真实的分布(我们可能永远无法知道),那么近似估计的概率分布和数据整体真实的概率分布的相似度,或者...原创 2018-06-03 08:37:27 · 46338 阅读 · 6 评论 -
机器学习: K-means 聚类
今天介绍机器学习里常见的一种无监督聚类算法,K-means。我们先来考虑在一个高维空间的一组数据集,S={x1,x2,...,xN}S={x1,x2,...,xN} S = \{ \mathbf{x}_1, \mathbf{x}_2, ... , \mathbf{x}_N \} , x∈RDx∈RD \mathbf{x} \in \mathbb{R}^D ,假设我们需要把这组数据聚集长 KK K...原创 2018-06-22 19:27:02 · 604 阅读 · 0 评论 -
浅谈贝叶斯 (一)
一直都觉得贝叶斯定理是个非常神奇的东西,以前总是被什么先验概率,后验概率,最大似然估计什么的搞得昏头转向的,让人摸不着北,总感觉贝叶斯定理有点违反直觉, 但是生活中却又经常会遇到。相信很多人对下面这样的问题一定不感到陌生:假设有两个盒子,我们姑且称为 A 和 B, A 盒子里有 4 个红球,6 个绿球,B 盒子里有 2 个红球,8 个绿球。我们从 A 盒子 或者 B 盒子里取出一个球,记录...原创 2018-08-27 20:41:05 · 1991 阅读 · 0 评论 -
浅谈向量空间
以前学线性代数的时候,总是被各种各样的定义和概念搞得晕头转向,现在接触机器学习多了,发现有些概念比如投影,空间,以及子空间经常出现,最近自己又重新翻了一下 MIT 的那边 线性代数导论,重新学习了一下这些概念。线性代数是研究向量和矩阵的一门数学,矩阵也是向量构成的,所以线性代数主要是研究向量,向量空间以及向量线性组合性质的一门科学。我们很早就接触到了向量这个东西,向量也称为矢量,是一种有方...原创 2018-09-09 16:46:22 · 15406 阅读 · 6 评论 -
浅谈矩阵空间
在谈矩阵空间之前,我们先来看看常见的一个线性方程组的问题:Ax=bAx=b \mathbf{A} \mathbf{x} = \mathbf{b} 其中,A∈Rm×nA∈Rm×n \mathbf{A} \in \mathbf{R}^{m \times n} , x∈Rnx∈Rn \mathbf{x} \in \mathbf{R}^{n} , b∈Rnb∈Rn \mathbf{b} \...原创 2018-09-12 19:43:53 · 7505 阅读 · 3 评论 -
机器学习:Clustering by fast search and find of density peaks
聚类算法,作为机器学习里常用的一种无监督方法,一直以来都受到很大的关注,聚类算法,简单来说就是希望把同一类的样本或者样本聚到一起,比如说常见的图像分类,我们希望猫的图片能聚到一起,狗的图片能聚到一起,不希望猫和狗的图片混在一起。聚类算法发展到现在,已经有了很多不同的算法,常见的比如 K-means 就是比较经典的一种聚类算法。今天介绍发表在 science 2014 上的一篇文章,Cluste...原创 2018-09-19 20:05:18 · 9779 阅读 · 2 评论 -
机器学习:VAE(Variational Autoencoder) 模型
VAE 模型是一种有趣的生成模型,与GAN相比,VAE 有更加完备的数学理论(引入了隐变量),理论推导更加显性,训练相对来说更加容易。VAE 可以从神经网络的角度或者概率图模型的角度来解释。VAE 全名叫 变分自编码器,是从之前的 auto-encoder 演变过来的,auto-encoder 也就是自编码器,自编码器,顾名思义,就是可以自己对自己进行编码,重构。所以 AE 模型一般都由两部分...原创 2018-11-03 09:53:04 · 44331 阅读 · 0 评论 -
机器学习: 共轭梯度算法(PCG)
今天介绍数值计算和优化方法中非常有效的一种数值解法,共轭梯度法。我们知道,在解大型线性方程组的时候,很少会有一步到位的精确解析解,一般都需要通过迭代来进行逼近,而 PCG 就是这样一种迭代逼近算法。我们先从一种特殊的线性方程组的定义开始,比如我们需要解如下的线性方程组:Ax=bAx=b \mathbf{A} \mathbf{x} = \mathbf{b} 这里的 A(n×n)A...翻译 2018-06-02 19:13:21 · 20686 阅读 · 5 评论 -
scikit-learn 学习笔记-- Generalized Linear Models (三)
Bayesian regression前面介绍的线性模型都是从最小二乘,均方误差的角度去建立的,从最简单的最小二乘到带正则项的 lasso,ridge 等。而 Bayesian regression 是从 Bayesian 概率模型的角度出发的,虽然最后也会转换成一个能量函数的形式。从前面的线性模型中,我们都假设如下的关系: y=wxy=wx y =\mathbf{ w} \math...翻译 2018-04-05 10:13:59 · 641 阅读 · 0 评论 -
scikit-learn 学习笔记-- Generalized Linear Models (二)
Lasso regression今天介绍另外一种带正则项的线性回归, ridge regression 的正则项是二范数,还有另外一种是一范数的,也就是lasso 回归,lasso 回归的正则项是系数的绝对值之和,这种正则项会让系数最后变得稀疏:minw12N∥Xw−y∥22+α∥w∥1minw12N‖Xw−y‖22+α‖w‖1 min_{w} \frac{1}{2N} \left ...翻译 2018-04-01 19:47:33 · 843 阅读 · 0 评论 -
scikit-learn 学习笔记-- Generalized Linear Models (一)
scikit-learn 是非常优秀的一个有关机器学习的 Python Lib,包含了除深度学习之外的传统机器学习的绝大多数算法,对于了解传统机器学习是一个很不错的平台。每个算法都有相应的例子,既可以对算法有个大概的了解,而且还能熟悉这个工具包的应用,同时也能熟悉 Python 的一些技巧。Ordinary Least Squares我们先来看看最常见的线性模型,线性回归是机器学习里很...翻译 2018-03-23 21:23:36 · 1447 阅读 · 0 评论 -
机器视觉:Convolutional Neural Networks, Receptive Field and Feature Maps
CNN 大概是目前 CV 界最火爆的一款模型了,堪比当年的 SVM。从 2012 年到现在,CNN 已经广泛应用于CV的各个领域,从最初的 classification,到现在的semantic segmentation, object detection,instance segmentation,super resolution 甚至 optical flow 都能看的其身影。还真是,无所不能原创 2018-02-04 11:33:13 · 1275 阅读 · 0 评论 -
机器学习:YOLO for Object Detection (二)
之前介绍了 YOLO-v1 单纯的利用一个卷积网络完成了目标检测,不过 YOLO-v1 虽然速度很快,但是比起其他的网络比如 Fast R-CNN 检测的准确率还是差不少,所以作者又提出了改良版的 YOLO-v2, 作者也明确说了,YOLO-v2 也是借鉴了其他网络的一些经验,针对 YOLO-v1 进行了改良。从论文来看,作者都没有给出新的网络结构图,大概网络的基本结构还是没有太多的变化,不过就是原创 2018-01-19 19:48:54 · 777 阅读 · 0 评论 -
机器学习:YOLO for Object Detection (一)
最近看了基于CNN的目标检测另外两篇文章,YOLO v1 和 YOLO v2,与之前的 R-CNN, Fast R-CNN 和 Faster R-CNN 不同,YOLO 将目标检测这个问题重新回到了基于回归的模型。YOLO v1 是一个很简单的 CNN 网络,YOLO v2 是在第一版的基础上,借鉴了其他几种检测网络的一些技巧,让检测性能得到大幅提升。下面分别介绍一下这两个网络:YOLO v1YOL翻译 2017-12-24 09:31:20 · 1857 阅读 · 0 评论