自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(247)
  • 收藏
  • 关注

原创 VGG

tools-封装器 封装常用函数全连接层需要拉直softmax label需要进行one hot 重新编码 再输入文件做

2017-11-17 16:19:59 253

原创 NOTEBOOK随笔

kernel-filter 卷积核=过滤器 滤波器卷积运算 nxn * fxf = (n-f+1)x(n-f+1) 卷积运算结果取决于kernel在原图中有几个位置 缺点 1.每做一次卷积运算,你的image会变小,最终可能变成1x1 2.角落或者边缘区的像素点在输出中采用较少导致信息丢失 弥补:Padding 用像素点填充边缘Valid convolution:no Padding

2017-11-15 13:56:06 294

原创 网易云深度学习第二课Notebook3

1.超参数调试处理在机器学习领域,超参数比较少的情况下,我们之前利用设置网格点的方式来调试超参数; 但在深度学习领域,超参数较多的情况下,不是设置规则的网格点,而是随机选择点进行调试。这样做是因为在我们处理问题的时候,是无法知道哪个超参数是更重要的,所以随机的方式去测试超参数点的性能,更为合理,这样可以探究更超参数的潜在价值。 如果在某一区域找到一个效果好的点,将关注点放到点附近的小区域内继续寻

2017-11-05 22:06:47 282

原创 网易云深度学习第二课NoteBook2

优化算法1.Mini-batch梯度下降法对整个训练集进行梯度下降法的时候,我们必须处理整个训练数据集,然后才能进行一步梯度下降,即每一步梯度下降需要对整个训练集进行一次处理,如果训练数据很大时,处理速度就会非常慢。 但是如果每次处理训练数据的一部分进行梯度下降法,则算法的执行速度会变快。而处理的这一小部分训练子集即为Mini-batch. 对于普通的梯度下降法,一个epoch只能进行一次梯

2017-11-05 16:29:08 341

原创 网易云深度学习第二课notebook1

改善深层神经网络:超参数调试、正则化以及优化1.训练、验证、测试 对于一个dataset,我们通常将其划分为训练集、验证集、测试集 训练集(train set):用训练集对算法或者模型进行训练 验证集(development set):利用验证集或者成为交叉验证集进行交叉验证,选择出最好的模型。 测试集(test set):训练好模型后,通过测试集进行测试。2.偏差、方差 从图中我们可

2017-11-04 22:05:29 373

原创 网易云深度学习第一课第三周编程作业

具有一个隐藏层的平面数据分类 第三周的编程任务: 构建一个含有一层隐藏层的神经网络,你将会发现这和使用逻辑回归有很大的不同。 首先先导入在这个任务中你需要的所有的包。 -numpy是Python中与科学计算相关的基础包 -sklearn提供简单高效的数据挖掘和数据分析 -matplotlib是Python中的绘制图形库 -testCase提供了一些测试的例子来评估你的函数的正确性 -

2017-10-25 17:17:14 5274 5

原创 string

string基本操作

2017-10-19 21:35:41 207

转载 new和malloc的区别

1.申请的内存所在位置 new操作符从自由存储区(free store)上为对象动态分配内存空间,而malloc函数从堆上动态分配空间。自由存储区是C++基于new操作符的一个抽象概念,凡是通过new操作符进行内存申请,该内存即为自由存储区。而堆是操作系统中的术语,是操作系统所维护的一块特殊内存,用于程序内存的动态分配,C语言使用malloc从堆上分配内存,使用free释放已分配的对应内存。 那

2017-10-19 21:34:40 183

转载 typedef struct和struct区别

分三块来讲述: 1 首先: 在C中定义一个结构体类型要用typedef: typedef struct Student { int a; }Stu; 于是在声明变量的时候就可:Stu stu1; 如果没有typedef就必须用struct Student stu1;来声明 这里的Stu实际上就是st

2017-10-19 20:35:13 269

原创 网易云深度学习第一课第二周编程作业

Part 2: Logistic Regression with a Neural Network mindset你将学到: -建立学习算法的一般架构 -初始化参数 -计算损失函数和它的梯度 -使用优化算法(梯度下降) -按正确的顺序将上述三个函数集合到一个主模块函数中1 - PackagesFirst, let’s run the cell below to import all the

2017-10-02 21:35:31 1726 2

原创 np.linalg

(1)np.linalg.inv():矩阵求逆 (2)np.linalg.det():矩阵求行列式(标量) np.linalg.norm 顾名思义,linalg=linear+algebra,norm则表示范数,首先需要注意的是范数是对向量(或者矩阵)的度量,是一个标量(scalar): norm(x, ord=None, axis=None, keepdims=False) 范数理论

2017-09-30 16:29:19 974

原创 网易云深度学习第一课第一周编程作业

1.1Python Basics with Numpy (optional assignment)Welcome to your first assignment. This exercise gives you a brief introduction to Python. Even if you’ve used Python before, this will help familiarize

2017-09-30 16:26:15 2355

原创 numpy巩固

基础 NumPy 的主要对象是同种元素的多维数组。这是一个所有的元素都是一种类 型、通过一个正整数元组索引的元素表格(通常是元素是数字)。在 NumPy 中维 度(dimensions)叫做轴(axes),轴的个数叫做秩(rank)。 例如,在 3D 空间一个点的坐标 [1, 2, 3] 是一个秩为 1 的数组,因为它只 有一个轴。那个轴长度为 3.又例如,在以下例子中,数组的秩为 2(它

2017-09-27 17:55:23 212

原创 DirectX_11_游戏编程入门_1

第一个DirectX程序 1.创建工程 2.建立窗口程序 3.初始化DirectX 4.怎样清除屏幕 5.怎样显示场景一、创建工程 1.创建工程:C++建立项目 2.添加窗体代码:main函数 在工程中创建好main函数后,我们就能够添加Win32的具体实现代码来创建空窗体,进入主函数入口之后,我们将创建初始化D3D11并且使用D3D渲染窗体画布。主函数入口点 在main.cpp中

2017-09-25 21:31:41 1002

原创 多边形的扫描转换与区域填充

多边形的扫描转换和区域填充是怎么样在离散的像素集上表示一个连续的二维图形 多边形有两种重要的表示方法:顶点法和点阵法 顶点表示是用多边形的顶点序列构成。 优点:这种表示直观、几何意义强、占内存少、易于几何变换。 缺点:它没有明确指出哪些像素在多边形内,故不能直接用于面着色点阵表示是用位于多边形内的像素集合来刻画多边形。这种表示丢失了许多几何信息,但是它是光栅显示系统显示的表示形式。问题: 1

2017-09-23 20:39:12 4679

原创 直线扫描转换算法

数学上,直线的点有无穷多个,但是在计算机光栅显示器屏幕上表示直线时需要做一些处理。 用有限的像素去逼近直线上无限的点。 为了在光栅显示器上用有限的离散的像素点去逼近这条直线,我们需要知道像素点的x、y坐标。 求出过p0、p1的直线段方程:(斜截式) y=kx+b k=(y1-y0)/(x1-x0) (x1≠x0) 假设x一直,即从x的起点x0开始,沿x方向向前前进一个像素(步长=1)可以

2017-09-23 14:02:28 5718

原创 计算机系统概论

(一)计算机发展历程 (二)计算机系统层次结构 1.计算机系统的基本组成 2.计算机硬件的基本组成 3.计算机软件的基本组成 4.计算机系统的工作过程 (三)计算机性能指标 —吞吐量、响应时间; —CPU 时钟周期、主频、CPI、CPU执行时间 —MIPS、MFLOPS、GFLOPS、TFLOPS、PFLOPS1.1计算机发展历程 1.第一代电子管

2017-09-20 14:21:27 2318

原创 深度学习和神经网络——第二周笔记

逻辑回归的损失函数: J(θ)=-(ylogy^+(1-y)log(1-y^)) ,(这里省略了连加求和,事实上这是loss function) 当y=1时,J(θ)=-logy^,为了使得J(θ)更接近0,我们需要使得y^更接近于1,由于y^是在sigmoid函数作用之后得来的,它最大不会超过1,所以我们需要使y^尽可能的大。 同理,y=0时,J(θ)=-log(1-y^),所以为了使得J

2017-09-18 20:24:47 1269 1

原创 CS229——NODE1part2

局部线性回归(LWR): 原始版本的线性回归是: 1.使用参数θ进行拟合,让数据集中的值与拟合算出的值的差值平方(最小二乘法的思想) 2.输出θTX 相应的在LWR局部加权线性回归中: 1.使用参数θ进行拟合,让加权距离 w(i)(y(i) − θT x(i))^2最小; 2.输出 θTX。 上面式子中的w(i)是非负的权值,直观点说就是,如果对应某个 i 的权值w(i)特别大,那么在

2017-09-01 14:30:33 295

原创 CS229——NODE1part1

线代矩阵迹相关知识: 线性回归解决连续性回归问题 线性回归假设特征和结果满足线性关系。其实线性关系的表达能力非常强大,每个特征对结果的影响强弱可以有前面的参数体现,而且每个特征变量可以首先映射到一个函数,然后在参与线性计算。这样就可以表达特征与结果之间的非线性关系。 θ在这里称为参数,意思是调整feature中每个特征的影响力,这里我们令X0=1则 此时,我们需要一个机制去评估我

2017-08-31 20:47:57 227

原创 机器学习——对三种模式的看法

“从样例学习” (1)监督学习 1.分类 2.回归 (2)非监督学习 1.聚类 “从样例学习”:(归纳学习) 归纳(induction)从特殊到一般,和演绎(deduction)从一般到特殊,是科学的两大基本推理手段。归纳是从特殊到一般的“泛化”(generalization)过程,演绎是从一般到特殊的“特化”(specialization)过程。 “从样例中学习

2017-08-31 15:40:24 1828

原创 CS229——线性回归

Supervised learning 监督学习Lets start by talking about a few examples of supervised learning problesms. Suppose we have a dataset giving the living area and prices pf 47 houses from Portland,Oregon: 让我

2017-08-14 19:01:25 454

原创 日期处理——日期差值

题目描述 有两个日期,求两个日期之间的天数,如果两个日期是连续的我们规定他们之间的天数为两天。输入 有多组数据,每组数据有两行,分别表示两个日期,形式为YYYYMMDD输出 每组数据输出一行,即日期差值样例输入 20130101 20130105 样例输出 5

2017-08-13 17:15:17 358

原创 图形输出——奥巴马

/*总统奥巴马不仅呼吁所有人都学习编程,甚至以身作则编写代码,成为美国历史上首位编写计算机代码的总统。2014年底,为庆祝“计算机科学教育周”正式启动, 奥巴马编写了很简单的计算机代码:在屏幕上画一个正方形。现在你也跟他一起画吧!输入格式:输入在一行中给出正方形边长N(3 <= N <= 20)和组成正方形边的某种字符C,间隔一个空格。输出格式:输出由给定字符C画出的正方形。但是注意到行间距比列间

2017-08-03 21:34:06 388

原创 查找元素——找x

题目描述 输入一个数n,然后输入n个数值各不相同,再输入一个值x,输出这个值在这个数组中的下标(从0开始,若不在数组中则输出-1)。输入 测试数据有多组,输入n(1<=n<=200),接着输入n个数,然后输入x。输出 对于每组输入,请输出结果。样例输入 4 1 2 3 4 3 样例输出 2

2017-08-03 16:16:52 284

原创 简单模拟——挖掘机

为了用事实说明挖掘机技术到底哪家强,PAT组织了一场挖掘机技能大赛。现请你根据比赛结果统计出技术最强的那个学校。输入格式:输入在第1行给出不超过105的正整数N,即参赛人数。随后N行,每行给出一位参赛者的信息和成绩,包括其所代表的学校的编号(从1开始连续编号)、及其比赛成绩(百分制),中间以空格分隔。输出格式:在一行中给出总得分最高的学校的编号、及其总分,中间以空格分隔。题目保证答案唯一,没有并列。

2017-08-03 15:26:47 312

原创 PAT——简单模拟

卡拉兹(Callatz)猜想:对任何一个自然数n,如果它是偶数,那么把它砍掉一半;如果它是奇数,那么把(3n+1)砍掉一半。这样一直反复砍下去,最后一定在某一步得到n=1。卡拉兹在1950年的世界数学家大会上公布了这个猜想,传说当时耶鲁大学师生齐动员,拼命想证明这个貌似很傻很天真的命题,结果闹得学生们无心学业,一心只证(3n+1),以至于有人说这是一个阴谋,卡拉兹是在蓄意延缓美国数学界教学与科研的进

2017-08-03 15:03:59 390

原创 冒泡排序

排序是指将一个无序序列按某个规则进行有序排序,而冒泡排序是排序算法中最基础的一种。现给一个序列a,其中元素个数为n,要求它们从小到大的顺序排序 冒泡排序的本质在于交换,即每次通过交换的方式把当前剩余元素的最大值移动到一端,而当剩余元素减少到0时,排序结束。includeusing namespace std; int main() { int a[5] = { 4,3,5,2,1 }

2017-08-03 14:25:59 174

原创 项目结题报告

项目结题报告:Python基础和相关库的学习: 一:Python基础与科学计算库numpy 1.Python语言基础 2.Python数据结构(列表,字典,元组) 3.科学计算库Numpy基础 4.Numpy数组操作 5.Numpy矩阵基本操作 6.Numpy矩阵初始化与创建 7.Numpy排序与索引二:数据分析处理Pandas库 1.Pandas数据读取与现实 2.Pan

2017-08-02 20:19:42 2410

原创 训练自己的数据

1.Generate lists for images and labels 2.Make an input queue 生成一个队列 3.Need one Tensorflow reader 需要一个读取器去读取数据 4.Need one Tensorlfow decoder 需要一个解码器去把数据解码 5.Generate batch 生成相同大

2017-07-29 01:59:39 231

原创 MNIST数据集处理

MNIST数据集是NIST数据集的一个子集,它包括60000张图片作为训练数据,10000张图片作为测试数据。在MNIST数据集的每一张图片都代表了0-9中的其中一个数字。图片大小为28×28,且数字都会出现在图片的正中间。下图就是MNIST的一张数字图片和它对应的像素矩阵: 虽然MNIST数据集只提供了训练和测试数据,但是为了验证模型训练的效果,一般会从训练数据划分除一部分作为验证(valida

2017-07-23 19:07:44 1099

原创 深层神经网络——总结

设计神经网络的两个总体原则:非线性结构和多层结构 设计损失函数,神经网络是一个优化问题,而损失函数就是刻画了神经网络需要优化的目标。分类问题和回归问题的常用损失函数。 优化神经网络最常用反向传播算法和梯度下降算法。 指数衰减方法设置学习率,加快训练速度,训练后期又不会出现损失函数在极小值周围徘徊往返情况。 正则化解决过拟合问题。

2017-07-20 18:25:34 314

原创 深层神经网络——滑动平均模型

在采用随机梯度下降算法训练神经网络时,使用滑动平均模型在很多应用中都可以在一定程度上提高最终模型在测试数据上的表笑。 在Tensorflow中提供了tf.train.ExponentialMovingAverage来实现滑动平均模型。在初始化ExponentialMovingAverage 时,需要提供一个衰减率(decay)。这个衰减率会用于控制模型的更新速度。ExponentialMovin

2017-07-20 17:33:20 5996 4

原创 深层神经网络——过拟合问题

损失函数是用于优化训练数据。然而真实的应用中想要的并不是让模型尽量模拟训练数据的行为,而是希望通过训练出来的模型对未知的数据给予判断。模型在训练数据上的表现并不一定代表了它在未知数据上的表现。 过拟合就是导致这个差距的重要因素,所谓过拟合就是当一个模型郭伟复杂之后,它可以很好的“记忆”每一个训练数据中随机噪音的部分而忘记了要去“学习”训练数据中的通用趋势。 比较极端的例子就是,当模型中的参数比训

2017-07-20 16:49:11 18555 1

翻译 C++小技巧汇总

// “d:\录取i.txt”改成”d:\录取‘’+i +“.txt” string filename = “d:\录取”; char index = i + ‘0’;//数字i转换成字符i filename = filename + index + “.txt”; ofile.open(filename.c_str());int转string int n = 0; std::strin

2017-07-19 22:07:04 303

原创 神经网络优化——学习率

训练神经网络的时候需要设置学习率(learning rate)控制参数更新速度。学习率决定了参数每次更新的幅度。如果幅度过大,可能导致参数在最优值的两侧来回移动。 从上图可知,无论进行多少次迭代,参数将在5和-5之间摇摆,而不会收敛到一个极小值。相反学习率过小时,虽然能保证收敛性,但是会大大降低优化速度。 Tensorflow提供了一种灵活的学习率设置方法——指数衰减法。 tf.train

2017-07-19 14:54:31 1160

原创 神经网络优化算法

反向传播算法(backpropagation)和梯度下降算法(gradient decent)调整神经网络中参数的取值。梯度下贱算法主要用于优化单个参数的取值,而反向传播算法给出了一个高效的方式在所有参数上使用梯度下降算法,从而使神经网络模型在训练数据上的损失函数尽可能的小。反向传播算法是训练神经网络的核心算法,它可以根据定义好的损失函数优化神经网络中的参数的取值,从而使神经网络模型在训练数据集上的

2017-07-18 20:39:19 3656

原创 深层神经网络——分类、回归的损失函数

神经网络模型的效果以及优化目标是通过损失函数(loss function)来定义的。分类问题和回归问题有很多经典的损失函数。 分类问题和回归问题是监督学习的两大种类。 分类问题希望解决的是将不同的样本分到事先定义好的类别中。再这种问题下,需要将样本二分类(多分类)。手写字体识别就是一个十分类的问题。 再判断二分类问题的时候,可以定义一个有单个输出节点的神经网络,当这个节点输出越接近1(或者设定

2017-07-18 14:02:57 25505 1

原创 深层神经网络——多层网络解决异或运算

异或(xor)是一个数学运算符。它应用于逻辑运算。异或的数学符号为“⊕”,计算机符号为“xor”。其运算法则为: a⊕b = (¬a ∧ b) ∨ (a ∧¬b) 如果a、b两个值不相同,则异或结果为1。如果a、b两个值相同,异或结果为0。 异或也叫半加运算,其运算法则相当于不带进位的二进制加法:二进制下用1表示真,0表示假,则异或的运算法则为:0⊕0=0,1⊕0=1,0⊕1=1,1⊕1=0(

2017-07-18 11:32:06 2762

原创 深层神经网络——激活函数去线性化

当神经元结构的输出为所有输入的加权和,那么神经网络是一个线性模型。如果将每一个神经元(神经网络节点),的输出通过一个非线性函数,那么整个神经网络的模型也就不再是线性的了。这个非线性函数就是激活函数。 下图为加入了激活函数和偏置项后的神经元结构: 神经网络结构加上激活函数和偏置项后的前向传播算法的数学定义为: 相比于传统的神经网络主要有两个改变: 第一是增加了偏置项(bias),偏置项

2017-07-17 22:17:46 3551 1

空空如也

空空如也

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

TA关注的人

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