
机器学习
孙ちゃん(颖)♂
一点点前进~
展开
-
tensor.clone() 和 tensor.detach()
1 tensor.clone()返回tensor的拷贝,返回的新tensor和原来的tensor具有同样的大小和数据类型原tensor的requires_grad=True clone()返回的tensor是中间节点,梯度会流向原tensor,即返回的tensor的梯度会叠加在原tensor上>>> import torch>>> a = torch.tensor(1.0, requires_grad=True)>>> b = a.cl原创 2020-07-20 11:21:33 · 2873 阅读 · 0 评论 -
权值初始化 - Xavier和MSRA方法
设计好神经网络结构以及loss function 后,训练神经网络的步骤如下:初始化权值参数 选择一个合适的梯度下降算法(例如:Adam,RMSprop等) 重复下面的迭代过程: 输入的正向传播 计算loss function 的值 反向传播,计算loss function 相对于权值参数的梯度值 根据选择的梯度下降算法,使用梯度值更新每个权值参数 初始化神经网络的训练过程是一个迭代的过程,俗话说:好的开始就是成功的一半,所以的权值参数的初始化的值对网络最终的训练结果有很大的影转载 2020-06-03 15:14:12 · 304 阅读 · 0 评论 -
直观理解机器学习中的梯度与方向导数
梯度是方向导数变化最大的方向!!!1.方向导数方向导数的本质是一个数值,简单来说其定义为:一个函数沿指定方向的变化率。因此,构建方向导数需要有两个元素:1) 函数2) 指定方向当然,与普通函数的导数类似,方向导数也不是百分之百存在的,需要函数满足在某点处可微,才能计算出该函数在该点的方向导数。至于其物理含义,这里采用最常用的下山图来表示。...原创 2020-04-05 21:33:44 · 1475 阅读 · 0 评论 -
机器学习中的数学(八):卡方分布(Chi-squared Distribution) t分布(T Distribution)F分布(T Distribution)
前言 有很多统计推断是基于正态分布的假设,以标准正态分布变量为基石而构造的三个著名统计量在实际中有广泛的应用,这是因为这三个统计量不仅有明确背景,而且其抽样分布的密度函数有显式表达式,它们被称为统计中的“三大抽样分布”。这三大抽样分布即为著名的卡方分布,t分布和F分布。卡方分布(Chi-squared Distribution)卡方分布的基本描述 具有k个自由度的卡...原创 2019-06-15 21:50:07 · 15470 阅读 · 5 评论 -
熵、相对熵与互信息
一、熵熵的定义:其对数log的底为2,若使用底为b的对数,则记为。当对数底为时,熵的单位为奈特。用表示数学期望,如果,则随机变量的期望值为,当,关于的分布自指数学期望。而熵为随机变量的期望值,其是的概率密度函数,则可写为,引理:证明:二、联合熵与条件熵:对于服从联合分布为的一对离散随机变量,联合熵的定义:若,条件熵的定义:定理链...转载 2019-06-25 21:42:59 · 1295 阅读 · 1 评论 -
稀疏表示与字典学习大略讲解
稀疏向量:假设向量X={x1,x2,…xn}中的元素绝大部分为零元素,则称该向量是稀疏的。稀疏表示:将原始信号表示为在适当选取的一组过完备基(字典D=[d1,d2…dp])上的稀疏线性组合,即信号的稀疏表示,其中d1,d2…dp为字典中的原子。过完备基的意思是其中的原子数大大的超过原始信号的维数。在表达式中:X=Da,X称为原始信号,D为字典,a为X的稀疏表示。其实该表达式中间的=是理想...转载 2019-06-26 10:52:21 · 1687 阅读 · 0 评论 -
机器学习中的数学(九):主成分分析(PCA)
引言主成分分析(PCA)是一种能够极大提升无监督特征学习速度的数据降维算法。更重要的是,理解 PCA 算法,对实现白化算法有很大的帮助,很多算法都先用白化算法作预处理步骤。假设你使用图像来训练算法,因为图像中相邻的像素高度相关,输入数据是有一定冗余的。具体来说,假如我们正在训练的 16x16 灰度值图像,记为一个 256维向量,其中特征值对应每个像素的亮度值。由于相邻像素间的相关性,PCA ...原创 2019-07-09 09:57:31 · 1483 阅读 · 0 评论 -
机器学习中的数学(十):白化(whitening)
引言我们已经了解了如何使用 PCA 降低数据维度(见上一个博客机器学习中的数学(九):主成分分析(PCA))。在一些算法中还需要一个与之相关的预处理步骤,这个预处理过程称为 白化(一些文献中也叫 sphering)。举例来说,假设训练数据是图像,由于图像中相邻像素之间具有很强的相关性,所以用于训练时输入是冗余的。白化的目的就是降低输入的冗余性;更正式的说,我们希望通过白化过程使得学习算法的输入...原创 2019-07-09 10:51:27 · 3530 阅读 · 0 评论 -
浅谈白化(Whitening) 、PCA白化、ZCA白化
白化本节讨论白化(Whitening),以及白化与 PCA(Principal Component Analysis) 和 ZCA(Zero-phase Component Analysis) 的关系。备注:这是一篇对白化新的理解,可以和之前写过的一篇白化博客对照看机器学习中的数学(十):白化(whitening)对数据做白化处理后相比于原始数据有两个特点: 数据的不同维度去相关...原创 2019-07-09 14:42:29 · 5688 阅读 · 2 评论 -
算法中的P问题、NP问题、NP完全问题和NP难问题
在讨论算法的时候,常常会说到这个问题的求解是个P类问题,或者是NP难问题等等,于是我特地搜了这方面的资料,自己总结了下,估计研究算法的大家应该都知道,要是我总结的哪里不对,欢迎一起探讨~在讲P类问题之前先介绍两个个概念:多项式,时间复杂度。(知道这两概念的可以自动跳过这部分)1、多项式:axn-bxn-1+c恩....就是长这个样子的,叫x最高次为n的多项式....咳咳,别嫌...转载 2019-08-27 09:32:50 · 307 阅读 · 0 评论 -
机器学习中的数学(八):矩阵奇异值分解(SVD)
SVD分解SVD分解是LSA的数学基础,本文是我的LSA学习笔记的一部分,之所以单独拿出来,是因为SVD可以说是LSA的基础,要理解LSA必须了解SVD,因此将LSA笔记的SVD一节单独作为一篇文章。本节讨论SVD分解相关数学问题,一个分为3个部分,第一部分讨论线性代数中的一些基础知识,第二部分讨论SVD矩阵分解,第三部分讨论低阶近似。本节讨论的矩阵都是实数矩阵。基础知识1. 矩阵的秩...原创 2019-06-14 22:23:43 · 883 阅读 · 0 评论 -
浅谈因子分析(Factor Analysis)
问题 之前我们考虑的训练数据中样例的个数m都远远大于其特征个数n,这样不管是进行回归、聚类等都没有太大的问题。然而当训练样例个数m太小,甚至m<<n的时候,使用梯度下降法进行回归时,如果初值不同,得到的参数结果会有很大偏差(因为方程数小于参数个数)。另外,如果使用多元高斯分布(Multivariate Gaussian distribution)对数据进行拟合时,也会有问题...原创 2019-06-13 22:32:32 · 1978 阅读 · 0 评论 -
特征提取之线性方法:主成分分析PCA、独立成分分析ICA、线性判别分析LDA
(一)维数灾难(二)特征提取——线性方法1. 主成分分析PCA2. 独立成分分析ICA3. 线性判别分析LDA机器学习 —— 基础整理(四)特征提取之线性方法:主成分分析PCA、独立成分分析ICA、线性判别分析LDA...原创 2019-05-02 20:16:40 · 1413 阅读 · 0 评论 -
机器学习中的数学(一):L0、L1与L2范数
前言 监督机器学习问题无非就是“minimizeyour error while regularizing your parameters”,也就是在规则化参数的同时最小化误差。最小化误差是为了让我们的模型拟合我们的训练数据,而规则化参数是防止我们的模型过分拟合我们的训练数据。因为参数太多,会导致我们的模型复杂度上升,容易过拟合,也就是我们的训练误差会很小。但训练误差小并不是我们的...原创 2019-06-12 19:42:06 · 813 阅读 · 1 评论 -
机器学习中的数学(二):核范数与规则项参数选择
一、核范数核范数||W||*是指矩阵奇异值的和,英文称呼叫Nuclear Norm。这个相对于上面火热的L1和L2来说,可能大家就会陌生点。那它是干嘛用的呢?霸气登场:约束Low-Rank(低秩)。OK,OK,那我们得知道Low-Rank是啥?用来干啥的?我们先来回忆下线性代数里面“秩”到底是啥?举个简单的例子吧:对上面的线性方程组,第一个...原创 2019-06-12 19:50:50 · 1208 阅读 · 0 评论 -
机器学习中的数学(三):回归(regression)、梯度下降(gradient descent)
前言:想要学好机器学习,首先得去理解其中的数学意义,不一定要到能够轻松自如的推导中间的公式,不过至少得认识这些式子吧,不然看一些相关的论文可就看不懂了。回归与梯度下降: 回归在数学上来说是给定一个点集,能够用一条曲线去拟合之,如果这个曲线是一条直线,那就被称为线性回归,如果曲线是一条二次曲线,就被称为二次回归,回归还有很多的变种,如locally weighted回归,logist...原创 2019-06-12 19:57:41 · 446 阅读 · 0 评论 -
机器学习中的数学(四):线性回归,偏差、方差权衡
前言机器学习绝对不是一个一个孤立的算法堆砌起来的,想要像看《算法导论》这样看机器学习是个不可取的方法,机器学习里面有几个东西一直贯穿全书,比如说数据的分布、最大似然(以及求极值的几个方法,不过这个比较数学了),偏差、方差的权衡,还有特征选择,模型选择,混合模型等等知识,这些知识像砖头、水泥一样构成了机器学习里面的一个个的算法。想要真正学好这些算法,一定要静下心来将这些基础知识弄清楚,才能够真正...原创 2019-06-12 20:02:38 · 1875 阅读 · 0 评论 -
机器学习中的数学(五):模型组合(Model Combining)之Boosting与Gradient Boosting
前言 将简单的模型组合起来,效果比单个更复杂的模型好。组合的方式很多,随机化(比如random forest),Boosting(比如GBDT)都是其中典型的方法,今天主要谈谈Gradient Boosting方法(这个与传统的Boosting还有一些不同)的一些数学基础,有了这个数学基础,上面的应用可以看Freidman的Gradient Boosting Machine。要求...原创 2019-06-12 20:08:58 · 3374 阅读 · 0 评论 -
一维(多维)高斯模型(One(Multi)-dimensional Gaussian Model) 高斯混合模型GMM(Gaussian Mixture Model)
一维高斯模型(One-dimensional Gaussian Model)若随机变量X服从一个数学期望为,标准方差为的高斯分布,记为:x~N(,)。则概率密度函数为:高斯分布的期望值决定了其位置,标准方差决定了其幅度。 高斯分布的概率分布函数高斯分布标准差在概率分布的数据意义高斯分布重要量的性质密度函数关于平均值对称 平均值是...原创 2019-06-12 22:54:03 · 10348 阅读 · 0 评论 -
机器学习中的数学(六):线性判别分析(LDA), 主成分分析(PCA)
前言 如果学习分类算法,最好从线性的入手,线性分类器最简单的就是LDA,它可以看做是简化版的SVM,如果想理解SVM这种分类器,那理解LDA就是很有必要的了。谈到LDA,就不得不谈谈PCA,PCA是一个和LDA非常相关的算法,从推导、求解、到算法最终的结果,都有着相当的相似。 本次的内容主要是以推导数学公式为主,都是从算法的物理意义出发,然后一步一步最...原创 2019-06-13 09:52:21 · 2172 阅读 · 0 评论 -
机器学习中的数学(七):独立成分分析(ICA)以及FastICA算法
独立成分分析(ICA)问题 1、上节提到的PCA是一种数据降维的方法,但是只对符合高斯分布的样本点比较有效,那么对于其他分布的样本,有没有主元分解的方法呢? 2、经典的鸡尾酒宴会问题(cocktail party problem)。假设在party中有n个人,他们可以同时说话,我们也在房间中一些角落里共放置了n个声音接收器(Microphone)用来记录声音。宴会过后,...原创 2019-06-13 21:51:54 · 4219 阅读 · 0 评论 -
机器学习的评估指标:ROC/AUC
机器学习:ROC/AUC作为机器学习的评估指标非常重要,也是面试中经常出现的问题(80%都会问到)。其实,理解它并不是非常难,但是好多朋友都遇到了一个相同的问题,那就是:每次看书的时候都很明白,但回过头就忘了,经常容易将概念弄混。还有的朋友面试之前背下来了,但是一紧张大脑一片空白全忘了,导致回答的很差。我在之前的面试过程中也遇到过类似的问题,我的面试经验是:一般笔试题遇到选择题基本都会考这个率...转载 2019-03-18 22:21:57 · 949 阅读 · 0 评论