
机器学习
文章平均质量分 89
tostq
邮箱:tostq216@163.com
展开
-
MultiHeadAttention多头注意力机制的原理
MultiHeadAttention多头注意力作为Transformer的核心组件,其主要由多组自注意力组合构成,Attention Is All You Need,self-attention。原创 2023-04-17 18:08:02 · 26230 阅读 · 0 评论 -
常见损失函数Loss Function的选择(regression problem)
回归损失函数Loss Function,regression problem,A General and Adaptive Robust Loss Function,huber loss,MSE,MAE,Quantile loss,Log-cosh loss,𝜖-insensitive原创 2023-02-28 12:42:08 · 1866 阅读 · 0 评论 -
常见激活函数Activation Function的选择
激活函数、ReLU、PReLU、Maxout、Swish、sigmoid、tanh、Tanhshrink、softshrink、hardshrink、ELU、Leaky ReLU、softsign、softplus、机器学习原创 2023-02-24 12:39:50 · 2303 阅读 · 0 评论 -
Batch Normalization原理介绍
Batch Normalization(BN)主要用于解决Internal Covariate Shift。由于训练过程中,网络各层数据x分布会发生变化(偏移),这个偏移可能是受不同batch间(或者训练集和测试集)的数据本身分布不同,或者是在训练过程,由于梯度回传,导致不同batch间各层数据分布前后不一致。原创 2023-02-22 21:14:32 · 710 阅读 · 0 评论 -
强化学习笔记-03有限马尔可夫决策过程MDP
强化学习,Reinforcement Learning- An introduction,有限马尔可夫决策过程MDP,Bellman equation,Markov Decision Processes原创 2023-02-13 17:06:28 · 506 阅读 · 0 评论 -
带约束进化算法问题分析Constrained Evolutionary Algorithms
带约束进化算法问题,Constrained Evolutionary Algorithms,进化学习,Evolutionary Algorithms for Constrained Parameter Optimization Problems,惩罚函数penalty functions原创 2023-01-31 12:04:13 · 688 阅读 · 0 评论 -
强化学习笔记-02多臂老虎机问题
Reinforcement Learning- An introduction的阅读笔记,强化学习,多臂老虎机,Thompson sampling,Gradient algorithms,UCB(Upper-Confidence-Bound),ε-greedy原创 2023-01-29 19:02:29 · 1226 阅读 · 0 评论 -
强化学习笔记-01强化学习介绍
Reinforcement Learning- An introduction阅读笔记,强化学习介绍,机器学习,进化学习。原创 2023-01-28 20:00:06 · 460 阅读 · 0 评论 -
因果诊断原理
因果诊断,因果分析,DML,前门路径,后门路径,backdoor,frootdoor,Double Machine Learning,do算子,causal machine learning,CATE,ATE,混杂因子原创 2023-01-23 21:19:35 · 2020 阅读 · 0 评论 -
【用Python学习Caffe】0. 前言及介绍
0.前言及介绍老实说现在的Caffe已经不够流行了(说到这里,我有点无力了,近年来深度学习发展实在是太快了,完全跟不上学习脚步了,刚刚Caffe有点了解后,马上就要跟不上时代了=_=||)。如果对于现在的我来说,我更愿意推荐去学习Tensorflow或者是Pytorch,甚至是Caffe2。因为这些框架都有大公司参与开发,相关的学习资料更全,前段时间刚上手Tensorflow,个人感觉开发起来要比C原创 2017-06-22 21:50:15 · 10230 阅读 · 2 评论 -
【用Python学习Caffe】8. 网络结构的权重共享量化
8. 网络结构的权重共享量化网络权重共享量化也是一类重要的网络压缩方法,其本质在于先通过聚类方法得到该层权重的聚类中心,然后通过聚类中心值来表示原权重值。因此权重值并不是由32位的浮点数来表示,而是由其对应的聚类中心的序号表示,如果聚类级别为8位,此时权重值只需要用8位就能表示。对于网络权重量化也有三个问题:量化级别的确定,同修剪率一样,可以通过试错的试验的方法来确定量化后网络重新训练问题量化原创 2017-06-22 22:28:01 · 5867 阅读 · 5 评论 -
【用Python学习Caffe】7. 网络结构的修剪
7. 网络结构的修剪网络结构的压缩是近年来研究热点,接下来的两节,我们将介绍Deep Compression的两个策略网络修剪和网络权重共享量化的实现方法,我们通过mnist的LeNet5作为例子,而其他网络的实现也是类似的。关于Deep Compression的原理,可以参见其论文:Han S, Mao H, Dally W J. Deep compression: Compressing dee原创 2017-06-22 22:23:06 · 7366 阅读 · 8 评论 -
【用Python学习Caffe】6. 权重预设、预训练及微调
6. 权重预设、预训练及微调通过上一节,我们将得到solver文件,得到该文件后,进行网络的训练及测试将变得非常简单。 在通过solver = caffe.SGDSolver(solver_proto)初始化解决器后,训练一般有两种方式,一是通过solver.solve()直接进行训练,二是通过solver.step(1)进行单步训练。6.1 solver直接训练及单步训练 if i原创 2017-06-22 22:19:16 · 4921 阅读 · 0 评论 -
【用Python学习Caffe】5. 生成solver文件
5. 生成solver文件网络训练一般是通过solver来进行的。对于caffe来说,其是通过solver文件来生成solver训练器进行网络训练及测试的,该solver文件中包含了训练及测试网络的配置文件的地址,及相关训练方法及一些训练的超参数,该文件一般不是很大,可以直接在一些solver.prototxt文件上更改。也可以通过Python结合caffe_pb2.SolverParameter(原创 2017-06-22 22:17:28 · 3375 阅读 · 0 评论 -
【用Python学习Caffe】4. 设计自己的网络结构
4. 设计自己的网络结构通过前文的例子,我们都知道了Caffe的网络都是一个prototxt的网络结构配置文件定义的,该文件可以用文本工具打开,打开后,我们可以看到如下结构: layer { name: "data" type: "Data" top: "data" top: "label" transform_param {原创 2017-06-22 22:15:50 · 4309 阅读 · 0 评论 -
【用Python学习Caffe】3. 图像训练测试数据集LMDB的生成
3. 图像训练测试数据集LMDB的生成Caffe深度学习网络在训练和测试中所使用的的数据集,并不是一张张的图像,而将图像集打包成LMDB或者LevelDB的数据库形式,这样做好处是能提高读取图像的时间。而本节的目的在于介绍如何将图像数据生成可用于测试和训练LMDB格式的数据集。3.1 原始图像的采集可以通过爬虫等方法从互联网中获得许多张图像(图像格式不限,JPG或者PNG都是可以的) 然后将所有图原创 2017-06-22 22:12:38 · 6346 阅读 · 0 评论 -
【用Python学习Caffe】2. 使用Caffe完成图像目标检测
2. 使用Caffe完成图像目标检测本节将以一个快速的图像目标检测网络SSD作为例子,通过Python Caffe来进行图像目标检测。 必须安装windows-ssd版本的Caffe,或者自行在caffe项目中添加SSD的新增相关源代码.图像目标检测网络同图像分类网络的大体原理及结构很相似,不过原始图像再经过深度网络后,并不是得到一组反映不同分类种类下概率的向量,而得到若干组位置信息,其反映不原创 2017-06-22 22:08:21 · 8740 阅读 · 1 评论 -
【机器学习算法笔记】0. 机器学习算法分类
【机器学习算法笔记】0. 机器学习算法分类0.1 凸优化问题凸优化是指一种比较特殊的优化,是指求取最小值的目标函数为凸函数的一类优化问题。其中,目标函数为凸函数且定义域为凸集的优化问题称为无约束凸优化问题。而目标函数和不等式约束函数均为凸函数,且定义域为凸集的优化问题为约束优化问题。 凸优化问题的特性:1、凸问题的局部最优解就是全局最优解。2、许多非凸问题通过一定的手段可以化归为凸问题。3、原创 2017-03-28 18:42:20 · 3700 阅读 · 0 评论 -
【机器学习算法笔记】1. 回归器模型
【机器学习算法笔记】1. 回归器模型回归算法是试图采用对误差的衡量来探索变量之间的关系的一类算法。回归算法是统计机器学习的利器。常见的回归算法包括:最小二乘法(线性回归),逻辑回归,逐步式回归,多元自适应回归样条等。1.1 线性回归器所谓线性回归:对于一组输入值X=[x1,x2,…,xn],存在输出y,为了代表输入与输出的函数关系,假定输出估计 线性回归器所要求的问题: 一元线性回归原创 2017-03-28 19:15:52 · 8304 阅读 · 0 评论 -
【机器学习算法笔记】2. 学习算法与最小均方算法(LMS)
【机器学习算法笔记】2. 学习算法与最小均方算法(LMS)最小均方算法是一个非常流行的在线学习算法。其是建立在自适应滤波和自适应调整权重上的。2.1 迭代下降思想三种以迭代下降思想为基础的无约束最优化方法:2.1.1 最速下降法:在最速下降法中,对权值向量的调整是在最速下降的方向进行的,即它是与梯度向量方向相反的,梯度向量记为: 最速下降法一般表示为: 其原理是根据一阶泰勒展开式:原创 2017-03-28 19:36:42 · 2780 阅读 · 0 评论 -
【机器学习算法笔记】3. 核方法和径向基(RBF网络)
【机器学习算法笔记】3. 核方法和径向基(RBF网络)在涉及非线性可分模式分类中,多层感知器是通过神经元的非线性来达到的,这个非线性主要是通过使用Sigmoid函数来获得的。 这一节介绍另一种通过混合方式来解决非线性可分模式问题: 1、将给定非线性集合转换为线性集合 2、通过最小二乘估计来解决线性分类问题。 这个两段方法被称为核方法。3.1 核方法核方法的原理(模式可分性的Cover定理):原创 2017-03-28 19:49:37 · 2027 阅读 · 0 评论 -
【机器学习算法笔记】4. 支持向量机(SVM)
【机器学习算法笔记】4. 支持向量机(SVM)给定训练样本,支持向量机建立一个超平面作为决策曲面,使得正例和反例之间的隔离边缘最大化4.1 线性模型考虑到用于分离超平面的决策曲面: x到超平面的距离: 现在我们考虑到要寻找一个超平面,使得全体x到超平面的距离都大于1:(这里d=1或-1) (这里可以看出,d取1或-1和d取2或-2是一样,在是用于分割超平面的两半) 并且满足原创 2017-03-29 10:01:17 · 1845 阅读 · 0 评论 -
【机器学习算法笔记】5. 自组织映射SOM
【机器学习算法笔记】5. 自组织映射SOM自组织映射是一类非监督学习算法 自组织原则:1、自增强:如果两个神经元是同时激活的,则突触强度会选择性地增强;如果是异步激活的,突触强度会减弱2、竞争原则:可用资源的局限使得最强健增长的突触是以其他神经元作为代价的3、协作:在神经元级别中,对突触权值的修改趋于互相合作。4、结构化信息:在一个输入信号中存在的潜在次序和结构代表了冗余信息,其通过自组织原创 2017-03-29 10:14:38 · 4992 阅读 · 1 评论 -
【机器学习算法笔记】6. 降维与主分量分析(PCA)
【机器学习算法笔记】6. 降维与主分量分析(PCA)6.1 PCA算法特征选择问题是指将数据空间变换到特征空间,我们希望设计一种变换使得数据集由维数较少的有效特征来表示。 PCA是最常用的线性降维方法,它的目标是通过某种线性投影,将高维的数据映射到低维的空间中表示,并期望在所投影的维度上数据的方差最大,以此使用较少的数据维度,同时保留住较多的原数据点的特性。 通俗的理解,如果把所有的点都映射到一原创 2017-03-29 10:35:43 · 3696 阅读 · 0 评论 -
【机器学习算法笔记】7. 基于信息论的网络
【机器学习算法笔记】7. 基于信息论的网络根据最大互信息原则作为网络的最优化目标函数。7.1 最大互信息原则(相关) (a) (b) (c) (d)7.2 信息论相关定义7.2.1 信息量7.2.2 熵(微分熵) 最大熵原则:当根据不完整的信息作为依据进行推断时,应该由满足分布限制条件的具有最大熵的概率分布推得。 7.2.3 互信息 上面分别表示X,Y的联原创 2017-03-29 17:55:22 · 2031 阅读 · 0 评论 -
【深度剖析HMM(附Python代码)】1.前言及隐马尔科夫链HMM的背景
1. 前言隐马尔科夫HMM模型是一类重要的机器学习方法,其主要用于序列数据的分析,广泛应用于语音识别、文本翻译、序列预测、中文分词等多个领域。虽然近年来,由于RNN等深度学习方法的发展,HMM模型逐渐变得不怎么流行了,但并不意味着完全退出应用领域,甚至在一些轻量级的任务中仍有应用。本系列博客将详细剖析隐马尔科夫链HMM模型,同以往网络上绝大多数教程不同,本系列博客将更深入地分析HMM,不仅包括原创 2017-04-27 12:24:50 · 56946 阅读 · 12 评论 -
【深度剖析HMM(附Python代码)】2.隐马尔科夫链HMM的EM训练过程
隐马尔科夫链HMM的参数θ的EM训练过程现在回到前一节最后提出的参数θ的最大似然函数上来,先对其做个对数变换,做对数变换是考虑到序列X的概率计算公式中包含了连乘,为了方便计算同时避免序列X的概率过小,因此对其做了对数变换。的期望计算中,对于序列X是已知的,而的概率是由旧参数值 所估计的,因此上式可以表示为:为了方便表示,以下定义:而可以表示为:原创 2017-04-27 13:28:43 · 9432 阅读 · 6 评论 -
【深度剖析HMM(附Python代码)】3.隐马尔科夫链所解决的问题
通过隐马尔科夫链,有以下几方面功能:1. 解码问题 已知某一序列,找到最可能的隐藏状态序列(即所谓的解码问题,利用维比特算法来解决)解码过程的相关python代码 def decode(self, X, istrain=True): """ 利用维特比算法,已知序列求其隐藏状态值 :param X原创 2017-04-27 13:51:53 · 5487 阅读 · 1 评论 -
【深度剖析HMM(附Python代码)】4.HMM代码测试及hmmlearn介绍
相信经过上几节的说明,大家对于HMM应该有比较好的了解,也许大家已经自己试着运行代码了。这一节主要介绍下另一个著名的HMM的Python库——hmmlearn,这个库提供了三个HMM模型(高斯HMM、离散HMM及高斯混合HMM),比我的代码速度更快,而且更有稳定,而且其还提供了相应的教程和API函数说明:http://hmmlearn.readthedocs.io/en/latest/inde原创 2017-04-27 14:35:54 · 15537 阅读 · 1 评论 -
【用Python学习Caffe】1. 使用Caffe完成图像分类
1. 使用Caffe完成图像分类本节将以著名的图像分类深度学习网络AlexNet为例子,通过Python Caffe来进行图像分类。虽然不同的网络的结构是不样的,但其大体的过程都是一致的,因此大家可以通过这个例子,熟悉如何利用Caffe进行图像分类。关于AlexNet的原理,可以参见其论文:Krizhevsky A, Sutskever I, Hinton G E. Imagenet classif原创 2017-06-22 22:01:47 · 8895 阅读 · 5 评论 -
核方法和径向基函数(网络)
线性可分模式的分类问题相对容易解决(如最小二乘法),然而一旦涉及到模式的非线性可分问题,却比较麻烦。常见的方法是利用多层感知神经网络的反向传播算法来实现,这种递归方法在统计学中通常被称为随机逼近。(1)核方法不同随机逼近,其将非线性可分的模式分类过程分为两个部分:非线性可分集合通过核函数转换为线性可分集合、对线性可分模式集合进行分类。(2)径向基函数(径向基网络RBF)就是在原来二层感知器原创 2016-02-23 11:03:40 · 3532 阅读 · 0 评论