- 博客(32)
- 资源 (1)
- 收藏
- 关注
原创 正则项
0范数,向量中非零元素的个数。1范数,为绝对值之和。2范数,就是通常意义上的模。L0和L1范数让W向量中项的个数最小化L2范数是指向量各元素的平方和然后求平方根。我们让L2范数的正则项||W||2最小,可以使得W的每个元素都很小,都接近于0(考虑稳定)但与L1范数不同,它不会让它等于0,而是接近于0。防止过拟合https://www.zhihu.com/question/20924039...
2018-04-02 09:56:35
901
原创 C++基础篇(4)
多态:是指相同的对象收到不同的消息或者不同的对象收到相同的消息时会产生不同的动作静态多态(早绑定):class Rec{ Rec(); recArae(int height); recArae(int height,int width);}int main(){ Rec rec; rec.recArae(10); rec.recAr...
2018-03-26 15:16:49
316
原创 C++基础篇(3)
派生类可以赋值给基类,反之不可重载函数的特性: (1)相同的范围(在同一个类中); (2)函数名字相同; (3)参数不同; (4)virtual关键字可有可无。 因为函数参数不同,可以简单的理解为:两个重载函数是不同的函数,调用者能够明确的根据不同的参数来调用不同的函数。那么如果存在这样两个函数,编译器怎么处理呢?class A{public: void Fu...
2018-03-26 11:35:37
252
原创 C++基础篇(2)
a 从栈中实例化 TV tv; TV tv[20]; b 从堆中实例化 TV *p = new TV(); TV *q = new TV[]; delete p; delete []q; c对象成员的访问 tv.type = 0; tv.changeVol(); || p->type = 0; p->changeVol();从栈实例化对象:自动分配释放内存。 从堆实例化对象:手动分配释...
2018-03-26 10:08:37
230
原创 C++基础篇(1)
1. 使用命名空间定义的两种方法:A.using namespace 名字;B.命名空间的名字::变量(函数); 2.这两种方法分别在什么情况使用呢?A,方法在多次用到命名空间定义好的函数或变量; B.方法在一次或二次用到命名空间定义好的函数或变量。使用namespace定义命名空间,命名空间是不可以重复的 通过命名空间可以区分具有相同名字的变量 通过命名空间可以区分具有相同名字的函数2. 由于单...
2018-03-26 09:42:06
1385
原创 生成模型和判别模型
监督学习的任务就是学习一个模型,应用这一模型,对给定的输入预测相应的输出,这一模型的一般形式为决策函数Y=f(x)或者条件概率分布P(Y|X)监督学习方法有可以分为生成方法和判别方法,所学到的模型分别称为生成模型和判别模型生成方法由数据学习联合分布概率P(X,Y),然后求出条件概率分布P(Y|X)作为预测的模型:P(Y|X) = P(X,Y)/P(X)典型的生成模型:朴素贝叶斯方法、隐马尔可夫模型...
2018-03-24 21:19:31
197
原创 LR和SVM、线性回归的联系与区别
LR和SVM的联系:都是监督的分类算法都是线性分类方法 (不考虑核函数时)都是判别模型 判别模型和生成模型是两个相对应的模型。 判别模型是直接生成一个表示P(Y|X)P(Y|X)或者Y=f(X)Y=f(X)的判别函数(或预测模型) 生成模型是先计算联合概率分布P(Y,X)P(Y,X)然后通过贝叶斯公式转化为条件概率。 SVM和LR,KNN,决策树都是判别模型,而朴素贝叶斯,隐马尔可夫模型是生成模型...
2018-03-24 20:45:16
10561
原创 过拟合的解决方法
随着训练过程的进行,模型复杂度增加,在training data上的error渐渐减小,但是在验证集上的error却反而渐渐增大——因为训练出来的网络过拟合了训练集, 对训练集外的数据却不work, 这称之为泛化(generalization)性能不好。泛化性能是训练的效果评价中的首要目标,没有良好的泛化,就等于南辕北辙, 一切都是无用功。发生overfitting 的主要原因是:(1)使用过于复...
2018-03-24 19:46:25
713
原创 C++基础问题
C++内存管理机制:· 栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等,其操作方式类似于数据结构中的栈。· 堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收,注意它与数据结构中的堆是两回事,分配方式类似于链表。· 全局区(静态区)(static)—全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域, 未初...
2018-03-15 16:37:06
313
原创 网易编程题
题目描述有 n 个学生站成一排,每个学生有一个能力值,牛牛想从这 n 个学生中按照顺序选取 k 名学生,要求相邻两个学生的位置编号的差不超过 d,使得这 k 个学生的能力值的乘积最大,你能返回最大的乘积吗?输入描述:每个输入包含 1 个测试用例。每个测试数据的第一行包含一个整数 n (1 <= n <= 50),表示学生的个数,接下来的一行,包含 n 个整数,按顺序表示每个学生的能力值...
2018-03-14 11:20:12
674
原创 华为编程题
老师想知道从某某同学当中,分数最高的是多少,现在请你编程模拟老师的询问。当然,老师有时候需要更新某位同学的成绩. 输入描述:输入包括多组测试数据。每组输入第一行是两个正整数N和M(0 < N <= 30000,0 < M < 5000),分别代表学生的数目和操作的数目。学生ID编号从1编到N。第二行包含N个整数,代表这N个学生的初始成绩,其中第i个数代表ID为i的学生...
2018-03-07 12:04:31
1035
原创 SVM
1.loss function红色这条线就是Square Loss的表现,与黑色的理想loss曲线比较,当x很大是,将会取得很大的值,这是不合理的,既然如此,我们再试一下Square Loss+cross entropy。蓝色这条线就是Sigmoid+Square loss,但是实际上,Square的performance并不好,用cross entropy更合理,就是绿色那条线,当横坐标趋近无穷...
2018-03-05 17:25:15
251
原创 梯度下降法
1.原理推导2.注意事项2.1 学习率的调整2.2 随机梯度下降法批量梯度下降法(Batch Gradient Descent,简称BGD)是梯度下降法最原始的形式,它的具体思路是在更新每一参数时都使用所有的样本来进行更新,也就是方程(1)中的m表示样本的所有个数。优点:全局最优解;易于并行实现;缺点:当样本数目很多时,训练过程会很慢。随机梯度下降法:它的具体思路是在更新每一参数时都使用一个样本来...
2018-03-05 10:54:43
232
原创 流形
嵌入在高维空间的低维流形流形:局部具有欧几里得空间性质的空间 1.较好的描述转载作者:暮暮迷了路链接:https://www.zhihu.com/question/24015486/answer/194284643来源:知乎流形学习的观点是认为,我们所能观察到的数据实际上是由一个低维流形映射到高维空间上的。由于数据内部特征的限制,一些高维中的数据会产生维度上的冗余,实际上只
2018-01-07 21:24:38
11098
原创 深度学习之损失函数
1.tf.nn.l2_losstf.nn.l2_loss(t, name=None)L2 Loss.Computes halfthe L2 normofa tensorwithoutthesqrt:这个函数的作用是利用 L2 范数来计算张量的误差值,但是没有开方并且只取 L2 范数的值的一半output =sum(t **2) /2A
2018-01-04 10:27:01
6364
原创 深度学习之参数优化方法
优化问题:给定目标函数f(x),我们需要找到一组参数x,使得f(x)的值最小1.Vanilla updatex += - learning_rate * dx对于训练数据集,我们首先将其分成n个batch,每个batch包含m个样本。我们每次更新都利用一个batch的数据,而非整个训练集。即:好处在于:当训练数据太多时,利用整个数据集更新往往时间上不显示。batch
2018-01-03 20:37:50
12511
2
原创 归一化
1、归一化为什么能提高梯度下降法求解最优解的速度?函数z=f(x,y)在点p(x,y)的梯度的方向与过点p的等高线f(x,y)=c在这点的法线一个方向相同。梯度的方向与等高线切线方向垂直。梯度是函数值变化最快的方向。梯度下降法找到的方向对所在的那个点来说,这个方向是下降最快的蓝色的圈圈图代表的是两个特征的等高线。其中左图两个特征X1和X2的区
2018-01-02 21:23:04
3297
原创 欧几里得距离和曼哈顿距离
在k-means或kNN,我们常用欧氏距离来计算最近的邻居之间的距离,有时也用曼哈顿距离,请对比下这两种距离的差别。欧式距离曼哈顿距离可以定义曼哈顿距离的正式意义为L1-距离或城市区块距离,也就是在欧几里德空间的固定直角坐标系上两点所形成的线段对轴产生的投影的距离总和图中红线代表曼哈顿距离,绿色代表欧氏距离,也就是直线距离,而蓝色和黄色代表等价的曼哈顿距离
2017-12-21 11:38:50
11808
原创 简要介绍下tensorflow的计算图
1.请简要介绍下tensorflow的计算图,深度学习 DL框架 中@寒小阳&AntZ:Tensorflow是一个通过计算图的形式来表述计算的编程系统,计算图也叫数据流图,可以把计算图看做是一种有向图,Tensorflow中的每一个节点都是计算图上的一个Tensor, 也就是张量,而节点之间的边描述了计算之间的依赖关系(定义时)和数学操作(运算时)。
2017-12-21 09:51:24
5331
1
原创 典型CNN神经网络结构
LeNet-5,用来识别数字的卷积网络 C1层是一个卷积层,由6个特征图Feature Map构成。特征图中每个神经元与输入为5*5的邻域相连。特征图的大小为28*28,这样能防止输入的连接掉到边界之外(32-5+1=28)。C1有156个可训练参数(每个滤波器5*5=25个unit参数和一个bias参数,一共6个滤波器,共(5*5+1)*6=156个参数),共156*(28*
2017-12-19 16:42:39
2474
原创 深度学习之卷积网络的层级结构
数据输入层/ Input layer有3种常见的图像数据处理方式去均值 把输入数据各个维度都中心化到0归一化 幅度归一化到同样的范围PCA/白化 用PCA 降维 白化是对数据每个特征轴上的幅度归一化卷积计算层/ CONV layer局部关联。每个神经元看做一个filter。窗口(rec
2017-12-19 13:21:05
3258
原创 LSA和PLSA
1.词袋模型 词袋模型(BOW, Bag-of-Words) 模型是NLP领域中的一个基本假设,一个文档(document)被表示为一组单词(word/term)的无序组合,而忽略了语法或者词序的部分,存在缺陷: 稀疏性: 对于大词典,尤其是包括了生僻字的词典,文档稀疏性不可避免; 多义词: BOW模型只统计单词出现的次数,而忽略了一个词可能存在多种含义,一词多义; 同义
2017-12-11 11:17:14
4636
3
原创 集成学习
一.集成学习的概念 通过构建并结合多个学习器来完成学习任务,先产生一组"个体学习器",再用某种策略将它们结合起来,个体学习器通常由一个现有的算法从训练数据中产生,例如C4.5决策树算法、BP神经网络算法等,此时集成中只包含同种类型的个体学习器,例如"决策树集成"中全是决策树,“神经网络集成”中全是神经网络,这样的集成是同质的,其中的个体学习器亦称基学习器;集成也可以包含不同类型的个体学习器,例...
2017-12-08 20:56:50
1395
原创 决策树如何防止过拟合
一.什么是过度拟合数据? 过度拟合(overfitting)的标准定义:给定一个假设空间H,一个假设h属于H,如果存在其他的假设h’属于H,使得在训练样例上h的错误率比h’小,但在整个实例分布上h’比h的错误率小,那么就说假设h过度拟合训练数据。 overfittingt是这样一种现象:一个假设在训练数据上能够获得比其他假设更好的拟合,但是在训练数据外的数据集上却不能很好的拟
2017-12-06 20:02:33
23629
1
原创 随机森林模型的泛化能力为什么好
决策树是广泛应用的一种分类算法,它是一种树状分类器,在每个内部节点选择最优的分裂属性进行分类,每个叶节点是具有同一个类别的数据。当输入待分类样本时,决策树确定一条由根节点到叶节点的唯一路径,该路径的叶节点的类别就是待分类样本的所属类别。决策树是一种简单且快速的非参数分类方法,一般情况下,还具有很好的准确率,然而当数据复杂或者存在噪声时,决策树容易出现过拟合问题,使得分类精度下降。 随机
2017-12-06 11:30:24
12965
原创 有监督学习和无监督学习的区别
1.监督学习 对具有概念标记(分类)的训练样本进行学习,以尽可能对训练样本集外的数据进行标记(分类)预测。这里,所有的标记(分类)是已知的。因此,训练样本的岐义性低。 监督学习是训练神经网络和决策树的最常见技术。这两种技术(神经网络和决策树)高度依赖于事先确定的分类系统给出的信息。 分类、回归都是监督学习的内容。
2017-12-05 13:27:57
2746
原创 C++对内存的使用管理
C++编译器将计算机内存分为代码区和数据区,很显然,代码区就是存放程序代码,而数据区则是存放程序编译和执行过程出现的变量和常量。数据区又分为静态数据区、动态数据区以及常量区,动态数据区包括堆区和栈区。 以下是各个区的作用: (1)代码区:存放程序代码; (2)数据区 a.静态数据区: 在编译器进行编译的时候就为该变量分配的内存,即全局变量和静态变量(用static声明
2017-12-05 11:15:45
502
原创 C++四种类型转换的关键字及其特点
static_cast reinterpret_castdynamic_castconst_cast1.static_cast------运算符完成相关类型之间的转换使用场景:如在同一类层次结构中的一个指针类型到另一个指针类型,整型到枚举类型,或者浮点型到整型等。class Base {};class Derived : publi
2017-12-04 10:15:35
375
原创 求链表的倒数第k个节点
#includeusing namespace std;struct ListNode{int m_value;ListNode *m_pNext;ListNode(int k) :m_value(k), m_pNext(NULL){};};/*(1)第一个指针从链表的头指针开始遍历向前走k-1,第二个指针保持不动;(2)从第k步开始
2017-11-28 22:55:39
152
原创 improved GAN Part1
1.F-divergence:衡量P和Q有多不一样内容有函数f要满足的条件:为什么可以满足f(1)=0、为什么可以满足Df的最小值是0(f是凸函数的条件)举例,有哪些函数可以作为F-divergenceKL divergence就是一种F-divergence2.Fenchel Conjugate每一个f都有一个和它配对的f*f*到底是在做什么
2017-11-28 11:02:49
896
原创 字符串转整数 C++编程
//首先考虑空的字符串指针//正负号//非数字字符串//考虑溢出#include#includeusing namespace std;int sting_to_int(const string &str)throw(bad_cast){int value = 0;int sign = -1;if (str.empty()){cout ret
2017-11-24 11:45:24
313
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人