- 博客(15)
- 资源 (6)
- 收藏
- 关注
原创 回溯
在回溯中,递归调用的一个重要特征是要返回。回溯法是暴力解法的一个主要实现手段。在回溯法中通过剪枝,不用到达所有的叶子节点,从而提升算法的效率。1.17. Letter Combinations of a Phone NumberGiven a string containing digits from 2-9 inclusive, return all possible le...
2018-07-30 22:19:59 321
原创 [深度学习]语义分割、分类定位与目标检测
语义分割定义:输入图像,并对图像中的每个像素做分类。以第一幅图像为例,图像中是一只可爱的猫在草地上散步。输出结果应该是,对于每个像素,确定它属于猫、草地或者天空,或者背景亦或其他分类。语义分割并不区分同类目标。也就是说,不会区分第二幅图的这两头牛,这是语义分割的缺点。语义分割的方法:滑动窗口:从图像中提取各个图像块,并且分类。缺点:计算繁琐,效率低。全卷积神经网络:...
2018-07-30 11:13:28 22906 2
原创 [深度学习]循环神经网络:RNN,LSTM,GRU,Attention机制,沿时间的截断反向传导算法
RNN(Recurrent Neural Network,循环神经网络) 每个RNN都有一个循环核心单元。它把x作为输入,将其传入RNN。RNN有一个内部隐藏态(internal hidden state)。这个隐藏态会在RNN每次读取新的输入时更新,然后隐藏态会将结果返回至模型。ht = fw (ht-1, xt)其中,xt为t时刻的输入,ht为t时刻的内部隐藏态。R...
2018-07-29 22:39:17 9341
原创 [深度学习]卷积神经网络:卷积、池化、常见分类网络
卷积全连接层:将卷积层所有的像素展开,例如得到一个3072维的向量,然后在向量上进行操作。卷积层:可以保全空间结构,不是展开成一个长的向量。卷积操作:将卷积核从图像(或者上一层的feature map)的左上方的边角处开始,遍历卷积核覆盖的所有像素点。在每一个位置,我们都进行点积运算,每一次运算都会在我们输出的激活映射中产生一个值。之后根据stride值,继续滑动卷积核。例如strid...
2018-07-29 22:27:09 5468 1
原创 [深度学习]数据预处理(归一化方法)、Batch Normalization、超参数搜索 与 神经网络权重的初始化
归一化方法1.线性比例变换法 y = x / max(x)2.极差变换法y = (x - min(x)) / (max(x) - min(x))缺点:当有新数据加入时,会导致min(x) 与 max(x) 的变化,需要重新定义。3.0均值标准化y = (x - mean(x)) / alpha对数据进行归一化的本质:使得数据分布的均值为0,方差为1。图像中的归一...
2018-07-23 21:54:40 4771
原创 [深度学习]模型泛化性能的度量标准
过拟合与欠拟合1.概念过拟合:当模型过度地学习训练样本中的细节与噪音,把训练样本自身的一些特点当做了所有潜在样本都会具有的一般性质,这样就会导致泛化性能的下降,以至于模型在新的数据上表现很差。欠拟合:对训练样本的一般性质尚未学好。2.原因出现过拟合的原因:训练集与测试集的特征分布不一致 / 模型太过复杂,而样本量不足出现欠拟合的原因:模型比较简单 / 模型本身性能不佳 / ...
2018-07-23 21:16:40 3522
原创 字符串
1.请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。思路:类似数组的双索引。class Solution {public: void replaceSpace(char *str,int length) { int oldstringLen = 0; ...
2018-07-21 16:22:12 186
原创 使用opencv从图片中裁剪出任意形状的四边形
写在前面:之前是先得到任意四边形的最小外接矩形,再使用opencv进行裁剪,但是这样会引入噪声。所以在此记录下,如何直接裁剪原任意四边形区域。思路:1.计算要裁剪区域四边形的相对水平方向的旋转角度;2.将原图旋转该角度,以使得要裁剪的区域旋转到水平方向;3.将要裁剪区域的坐标做相应的转换,转换为旋转后的坐标;4.对该区域进行裁剪。# -*- coding:utf-8 -*...
2018-07-18 20:42:38 14056 5
原创 [深度学习]梯度下降算法、优化方法(SGD,Adagrad,Adam...)
求解神经网络,也就是求解 y =f(wx + b) 中的w 和 b。那么如何找到正确的权重值 w 和 b 呢?随机搜索。需要很多权重值,随机采样,然后把它们输入损失函数,再看它们效果如何。(stupid) 梯度下降算法。首先,初始化 w 和 b, 然后,使用梯度下降算法,对 w 和 b 进行更新。下面,就对梯度下降算法,及其优化变体进行解释。 梯度下降算法形象化解释:...
2018-07-17 23:01:14 9214 2
原创 递归
1、求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)class Solution {public: int Sum_Solution(int n) { int ans = n; n && (ans += Sum_Solution(n-1)); ...
2018-07-10 22:25:22 146
原创 [深度学习]神经网络的激活函数
为什么要引入非线性激活函数如果不使用非线性激活函数,激活函数本质上相当于f(x)=ax+b。在这种情况下,神经网络每一层的输出都是上层输入的线性函数。此时,不管神经网络有多少层,输出与输入都是线性关系,与没有隐层是一样的。也就相当于最原始的感知机,连最基本的异或问题都无法解决,更别说其他更复杂的非线性问题。 常见的激活函数sigmoid函数sigmoid函数的数学形式为,导数为...
2018-07-10 21:18:13 2892
原创 数组2
剑指offer数组题1.在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。class Solution {public: bool Find(int target, vector<vector<int> > array) { ...
2018-07-09 17:48:58 426 1
原创 [深度学习]回归模型
回归问题的条件/前提:1) 收集的数据2) 假设的模型,即一个函数,这个函数里含有未知的参数,通过学习,可以估计出参数。然后利用这个模型去预测/分类新的数据。 1. 线性回归假设 特征 和 结果 都满足线性。即不大于一次方。这个是针对 收集的数据而言。收集的数据中,每一个分量,就可以看做一个特征数据。每个特征至少对应一个未知的参数。这样就形成了一个线性模型函数,向量表示形式:...
2018-07-07 20:09:55 8873 1
原创 队列、栈
1、用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。class Solution{public: void push(int node) { stack1.push(node); } int pop() { if(stack2.empty()){ while(!stack1.em...
2018-07-07 16:43:19 175
原创 c++常见Built-in总结
1、判断是否为数字或字母isalpha:如果是字母,返回一个非零数;否则,返回0;isdigit:如果是数字(0-9),返回一个非零数;否则,返回0;isalnum:如果是字母或数字,返回一个非零数;否则,返回0;更新ing......
2018-07-07 10:14:15 1287
WindowsPhone8的新浪微博接口SDK c#新浪微博接口SDK 有样例 有Demo
2014-03-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人