自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

欢迎来到我的酒馆

人工智能基本人工

  • 博客(97)
  • 收藏
  • 关注

原创 相机与世界(一)

齐次坐标系引入齐次坐标可以让级联的仿射变换变成矩阵连乘。n+1维齐次坐标是对n维奇卡尔坐标的扩展。[xy]=[xy1]=[2x2y2]=[wxwyw]\begin{bmatrix}x\\y\end{bmatrix}=\begin{bmatrix}x\\y\\1\end{bmatrix}=\begin{bmatrix}2x\\2y\\2\end{bmatrix}=\begin...

2020-02-29 17:33:19 292

原创 再学动态规划之 完全背包

LeetCode: https://leetcode.com/problems/coin-change/description/暴力搜索考虑当前index 拿1张,2张,…时候,从index+1开始的最小张数。相加即可:import sysclass Solution(object): def get_small_number(self, coins, index, amoun...

2018-10-16 20:42:07 252

原创 再学动态规划之 01背包

leetcode: https://leetcode.com/problems/partition-equal-subset-sum/description/写了之后,发现这题跟01背包还有点区别。但是写看这个吧。暴力搜索的方法。就是每个取或者不去。class Solution(object): def getS(self, arr, index, target): if...

2018-10-15 17:43:23 388

原创 再学动态规划之 上楼梯

leetcode: https://leetcode.com/problems/climbing-stairs/description/一道经典的动态规划题。听了左程云大神的课之后,重新审视一边动态规划。我们先假设不知道动态规划方法,我们这样思考:f(n)=f(n−1)+f(n−2)f(n) = f(n-1)+f(n-2)f(n)=f(n−1)+f(n−2)然后就很自然的写出下面的递归解法...

2018-10-14 19:51:29 308

原创 论文笔记:Dual Path Networks

首先分析了 ResNet 和 DenseNet。 借鉴RNN的表达方式。k: 当前处于哪个步t:第t步ht: 第t步的隐藏状态:在第k步中,提取第t状态特征的函数gk:第k步,转换聚合特征的函数 如果 , 那么可以写成:简化成:其中,。 如果, 那就是RNN。 如果不共享,就是ResNet。 如果  不满足,就是DenseNet ...

2018-09-04 20:08:47 633

原创 论文笔记:Densely Connected Convolutional Networks

Dense Block: 每一层只增加 k = 4 个feature map 然后跟前面的所有concat,再 BN-->ReLU-->Conv   (一般k = 12) 整体结构: Dense Block之间是Conv和Pooling Bottleneck layers:尽管每次只增加k个,但是到后来还是很大,所以,采用Bottleneck,即BN-ReL...

2018-09-04 20:07:03 351

转载 python中逗号的三种用途

1.逗号在参数传递中的使用: 这种情况不多说 没有什么不解的地方 就是形参或者实参传递的时候参数之间的逗号 例如def abc(a,b)或者abc(1,2)2.逗号在类型转化中的使用 主要是元组的转换 例如: a=11 b=(a) b 11 b=(a,) b ...

2018-07-23 10:47:26 5409

原创 线性回归

《动手学深度学习》上的例子手动搭建一个能学线性回归的函数(神经网络)def data_generate(): '''产生真实数据,这里维度为2,个数1000。同时我们增加了扰动(测量误差)''' number_inputs = 2 #dimension of input num_examples = 1000 true_w = [2, -3.4] ...

2018-07-20 14:56:45 295

原创 NDArray的一些性质

运算的内存开销前⾯例⼦⾥我们对每个操作新开内存来储存它的结果。例如即使是 y = x + y 我们也会新创建 内存,然后再将 y 指向新内存。为了展⽰这⼀点,我们可以使⽤ Python ⾃带的 id 函数:如果两 个实例的 ID ⼀致,那么它们所对应的内存地址相同;反之则不同。In [24]: before = id(y) y = y + x i...

2018-07-20 12:21:05 353

原创 MXNet入门

按照官网60分钟入门 Gluon 来学的。ndarray定义手打普通数组: nd.array(((1,2,3),(5,6,7)))自动填充: nd.ones((2,3))随机填充: nd.random.uniform(-1,1,(2,3))指定数组填充: nd.full((2,3),2.0)ndarray也有属性: In: (X.shape, X.size...

2018-07-17 14:46:58 1480

原创 正确率计算

def acc(output, label):     # output: (batch, num_output) float32 ndarray     # label: (batch, ) int32 ndarray   &

2018-07-17 13:35:23 2156

原创 caffe 同步与异步

主要是这两个遇到的问题,记录一下。cpu_data与gpu_data首先看到SyncedMemory的私有成员,有两个指针 cpu_ptr_cpu_ptr_cpu\_ptr\_ 和 gpu_ptr_gpu_ptr_gpu\_ptr\_ 。以及同步函数to_cpu()to_cpu()to\_cpu() to_gpu()to_gpu()to\_gpu() cpu_data与gpu_d...

2018-04-12 15:34:07 542

原创 中心极限定理

中心极限定理中心极限定理指的是给定一个任意分布的总体。我每次从这些总体中随机抽取 n 个抽样,一共抽 m 次。 然后把这 m 组抽样分别求出平均值。 这些平均值的分布接近正态分布。实验验证写了代码 做实验 发现真的是这样。。 这里简单的用了均匀分布import numpy as npimport matplotlib.pyplot as pltrandom_data = n...

2018-03-06 17:00:43 1307

原创 偏差

摘自 《deep learning》

2018-03-05 22:06:06 287

原创 特殊类型的矩阵和向量

网络电子版 《深度学习》

2018-03-05 22:05:14 940

原创 期望、方差和协方差

摘自 网络电子版 《深度学习》

2018-03-01 15:41:24 416

原创 特征分解

摘自 网络电子版 《深度学习》

2018-03-01 10:31:32 574

原创 线性相关和生成子空间

摘自 网络电子版 《深度学习》 Ax=bAx=bAx=b

2018-02-28 16:51:08 1030

原创 主流卷积神经网络

DenseNet 就没写了

2018-02-25 21:52:35 410

原创 max pooling in caffe

我们来看max pooling 在caffe 中怎么实现的吧reshape首先 reshap的时候: // If max pooling, we will initialize the vector index part. if (this->layer_param_.pooling_param().pool() == PoolingParameter_PoolMethod_MAX

2017-11-21 09:17:02 1901

原创 Convolution in Caffe

首先要知道,caffe里的卷积都是用的扩展之后的矩阵,“教学用”卷积方式,慢呀。具体就是im2col,思想如下: 也就是说,把feature map和kernel都拼成一个大的矩阵。 注意 此图有问题,有下面代码可以看出是其实是图中两个转置的相乘template <typename Dtype>void BaseConvolutionLayer<Dtype>::forward_cpu_g

2017-11-20 11:35:43 452

原创 代码阅读:R-FCN

国际惯例:https://github.com/daijifeng001/R-FCN 这个matlab版本的代码,RPN是弄好的只是训练position-senstive RoI pooling那一块。我们也主要看着一块prototxt#--------------position sensitive RoI pooling--------------layer { bottom: "r

2017-10-30 10:25:07 1051

原创 论文笔记:Training Region-based Object Detectors with Online Hard Example Mining

论文地址:https://arxiv.org/abs/1604.03540v1问题:正负样本不均衡,总是训练好训练的样本。已有解决办法:Bootstrapping 应该就是机器学习里常用的Boosting算法吧,有名就有AdaBoosting,就是每次训练完成后,把训练错误的样本的权重增加,多次训练得到多个分类器,最后多个分类器联合做决策。但是在现在神经网络中不好用,因为咱训练的时间太长了,不能等

2017-10-27 16:35:53 360

原创 C++ 函数参数传递

值 传递当初始化一个非引用类型的变量时,初始值被拷贝给变量。此时,对变量的改动不会影响初始值:int n = 0;int i = n;u = 42; //i的值改变,n的值不会变函数传值参数的机理完全一样。函数对形参做的所有操作都不会影响到实参。指针 传递拷贝的是指针的值,拷贝之后,两个指针是不同的指针。void reset(int *ip){ *ip = 0; //改变了指针ip所指

2017-10-07 13:56:27 351

原创 C++中static和const

static静态全局变量在全局变量前,加上关键字static,该变量就被定义成为一个静态全局变量。全局变量整个工程可见,而加上static则变成文件内可见。更改生存期void fun(){ static int count = 0; cout << count++<<endl;}类中静态成员static修饰的成员表明成员属于类,而不是对象。默认初始化因为全局变量和static变量都

2017-09-04 17:22:35 275

原创 Swap Nodes in Pairs

本来没啥。但是有个哥们在discuss区写的看不懂。。琢磨了一下,发现哥们竟然直接修改节点里的next值!!! 代码:ListNode* swapPairs(ListNode* head) { ListNode **pp = &head, *a, *b; while ((a = *pp) && (b = a->next)) { a->next = b->next;

2017-09-04 15:49:40 312

原创 CNN 卷积之后 map大小的计算

上图13×1313\times13的map经过3×33\times3的卷积核 stride为2的卷积之后 map变成了 6×66\times6 观察右下角,可以总结出计算过程: 13-3 = 10 10/2 = 5 5 + 1 = 6也就是 (map-size)/stride + 1

2017-09-01 11:25:03 3661

原创 吹气球 Burst Balloons

lintcode-168

2017-08-18 10:00:46 519

原创 丑数、丑数 II

丑数感觉人都变丑了 - -||| 不能叫漂亮数码 简单版的很简单,不停的除二,除三,除五就行了。class Solution {public: /** * @param num an integer * @return true if num is an ugly number or false */ bool isUgly(int num) {

2017-08-14 20:57:03 629

转载 Matlab中数组元素引用——三种方法

1.Matlab中数组元素引用有三种方法1231.下标法(subscripts)2.索引法(index)3.布尔法(Boolean) 注意:在使用这三种方法之前,大家头脑一定要清晰的记住,Matlab中数组元素是按列存储(与Fortran一样),比如说下面的二维数组

2017-08-11 22:05:57 23926 1

转载 白化whitening

白化whitening原文地址:http://blog.csdn.net/hjimce/article/details/50864602作者:hjimce一、相关理论    白化这个词,可能在深度学习领域比较常遇到,挺起来就是高大上的名词,然而其实白化是一个比PCA稍微高级一点的算法而已,所以如果熟悉PCA,那么其实会发现这是一个非常简单的算法。    白化

2017-08-11 09:12:15 419

原创 矩阵的之字型遍历

lintcode.185

2017-08-10 14:34:49 470

原创 插入区间

lintcode-30

2017-08-07 11:19:37 375

原创 计算机视觉----Harris 角点检测

角点局部窗口沿各方向移动,均产生明显变化的点图像局部曲线曲率突变的点 Harris 角点检测Harris角点检测的思想完全是根据定义来的 数学表达为: E(u,v)=∑x,yw(x,y)[I(x+u,y+v)−I(x,y)]2E(u,v)=\sum_{x,y}w(x,y)[I(x+u,y+v)-I(x,y)]^2 其中w为窗口函数I(x+u,y+v)I(x+u,y+v)是平移后的图像灰

2017-07-28 20:58:46 820

转载 计算机视觉----图像底层特征提取之边缘提取(二) Canny算法

图象的边缘是指图象局部区域亮度变化显著的部分,该区域的灰度剖面一般可以看作是一个阶跃,既从一个灰度值在很小的缓冲区域内急剧变化到另一个灰度相差较大的灰度值。图象的边缘部分集中了图象的大部分信息,图象边缘的确定与提取对于整个图象场景的识别与理解是非常重要的,同时也是图象分割所依赖的重要特征,边缘检测主要是图象的灰度变化的度量、检测和定位,自从1959提出边缘检测以来,经过五十多年的发展,已有许多中不

2017-07-28 17:58:40 5771

原创 计算机视觉----图像底层特征提取之边缘提取(一)

图像底层特征提取是计算机视觉的基本步骤 1:边缘和轮廓能反映图像内容; 2:如果能对边缘和关键点可靠提取的话,很多视觉问题就基本上得到了解决边缘的定义“边缘是图像中亮度突然变化的区域。”“图像灰度构成的曲面上的陡峭区域。”“像素灰度存在阶跃变化或屋脊状变化的像素的集合。”灰度图像中的边缘类型 边缘的提取灰度图象边缘提取,主要的思想: - 抑制噪声(低通滤波、平滑、去噪、模糊) -

2017-07-27 18:37:05 6433

转载 机器学习中的损失函数

损失函数(loss function)是用来估量你模型的预测值f(x)与真实值Y的不一致程度,它是一个非负实值函数,通常使用L(Y, f(x))来表示,损失函数越小,模型的鲁棒性就越好。损失函数是经验风险函数的核心部分,也是结构风险函数重要组成部分。模型的结构风险函数包括了经验风险项和正则项,通常可以表示成如下式子:其中,前面的均值函数表示的是经验风险函数,L代表的是损失函数,后面

2017-07-21 09:01:55 458

原创 深度神经网络中梯度消失的原因及解决

我们总听到说梯度消失梯度消失,究竟是什么原因呢。梯度消失 上图是我们的简单3隐层神经网络,我们采取sigmod函数作为每个神经元的激活函数。即,每层输入为: zi=ωioi−1+b1z_i=\omega_io_{i-1}+b_1 输出为: oi=σ(zi)o_i=\sigma(z_i) 则根据求导的链式法则有: ∂C∂b1=∂C∂o4∂o4∂b1=∂C∂o4∂o4∂z4∂z4∂b1=∂C

2017-07-18 17:08:24 3094

原创 logistic regression 和 softmax regression的损失函数

我们有logistic regression可以将实数域的输入映射为0到1的概率输出,能够有很好的意义。但是如果用平常的MSE(最小均方误差)就会有问题。我们来剖析这个问题:logistic与MSE现在有一个目标:输入0,输出1。 为了方便起见,我们现在只考虑有一个神经元 我们给定初始的权重w=0.6,b=0.9来看学习趋势,这里学习率 η=0.15,初始预测值为0.82 可以看到Co

2017-07-17 21:52:55 1877

转载 马氏距离+协方差公式+无偏估计

以下资源均来自互联网马氏距离与其推导马氏距离就是用于度量两个坐标点之间的距离关系,表示数据的协方差距离。与尺度无关的(scale-invariant),即独立于测量尺度。基本思想(intuition)如下图的过程(以两个维度作为例子),此例的数据重心为原点,P1,P2到原点的欧氏距离相同,但点P2在y轴上相对原点有较大的变异,而点P1在x轴上相对原点有较小的变异。所以P1点距原点的直观距离是比P2点

2017-07-12 22:08:50 11053 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除