08 2018 档案
摘要:1.2的幂 正确写法: 错误写法1: &符号的短路原则,如果&前面为false了就不会计算后面的了 错误写法2 ==符号的优先级比&高 2.4的幂 3.3的幂 https://blog.csdn.net/u014218090/article/details/80152446
阅读全文
摘要:Longest Increasing Subsequence 最长递增子序列 子序列不是数组中连续的数。 dp表达的意思是以i结尾的最长子序列,而不是前i个数字的最长子序列。 初始化是dp所有的都为1,最终的结果是求dp所有的数值的最大值。 674. Longest Continuous Incre
阅读全文
摘要:这个题是从左上角到右下角的路径和最小,实际就是一道dp题。 第一种写法是只初始化(0,0)位置,第二种写法则是把第一行、第一列都初始化了。个人更喜欢第二种写法,简单一点。 dp的右下角的值就为最终的值 第一种写法: 第二种写法:
阅读全文
摘要:class Solution { public: bool isValid(string s) { stack result; for(char c:s){ if(c == '(' || c == '[' || c == '{') result.push(c); else{...
阅读全文
摘要:1.合并两个排序数组 合并k个有序数组 2.并查集 https://blog.csdn.net/deepseazbw/article/details/79321047 3.https://www.cnblogs.com/upcwanghaibo/p/6628240.html 二分查找总结 4.3的幂
阅读全文
摘要:121. Best Time to Buy and Sell Stock 题目的要求是只买卖一次,买的价格越低,卖的价格越高,肯定收益就越大 遍历整个数组,维护一个当前位置之前最低的买入价格,然后每次计算当前位置价格与之前最低价格的差值,获得最大差值即为结果 122.Best Time to Buy
阅读全文
摘要:这种题要分两步,第一步是“插空儿”,第二步是“筛” 1.rand7生成rand10 只要是10的倍数就好 概率计算: https://blog.csdn.net/excellentlizhensbfhw/article/details/81174138 再将这49个数分为两部分, {0, 1, 2,
阅读全文
摘要:算法题:1.rand2生成rand7 2.leetcode121 3.n皇后 4.https://www.jianshu.com/p/2c7eca036628 给出一个m行n列的矩阵,由元素0和1组成,元素0表示当前位置可以走,元素1表示当前位置是围墙不能走。找出从(x0, y0)到(x1, y1)
阅读全文
摘要:1.two sum 用hash来存储数值和对应的位置索引,通过target-当前值来获得需要的值,然后再hash中寻找 错误代码1: Input:[3,2,4]6Output:[0,0]Expected:[1,2] 同一个数字不能重复使用,但这个代码没排除这个问题 错误代码2: Input:[3,3
阅读全文
摘要:这是剑指offer数组中重复的数字那个题,直接使用的swap函数 字符串的全排列也用到了swap
阅读全文
摘要:1.&在此不是求地址运算,而是起标识作用 2.传递引用给函数与传递指针的效果是一样的。这时,被调函数的形参就成为原来主调函数中的实参变量或对象的一个别名来使用,所以在被调函数中对形参变量的操作就是对其相应的目标对象(在主调函数中)的操作。 3.使用引用传递函数的参数,在内存中并没有产生实参的副本,它
阅读全文
摘要:1.这个通过partition实现topk,时间复杂度是o(logn*logn),也就是0(n),但需要修改原数组的顺序 下面这个代码本身有一些错误,并且throw excption会在牛客上报错 正确代码 2.用大根堆的做法的时间复杂度是o(nlogk)
阅读全文
摘要:1. xgboost在目标函数中加入了正则化项,当正则化项为0时与传统的GDBT的目标函数相同2. xgboost在迭代优化的时候使用了目标函数的泰勒展开的二阶近似,paper中说能加快优化的过程!!xgboost可自定义目标函数,但是目标函数必须二阶可导也是因为这个。GDBT中只用了一阶导数。3.
阅读全文
摘要:欧式距离: l2范数: l2正则化: l2-loss(也叫平方损失函数): http://openaccess.thecvf.com/content_cvpr_2017/papers/Li_Mimicking_Very_Efficient_CVPR_2017_paper.pdf 总结:l2范数和欧式
阅读全文
摘要:1)Bagging + 决策树 = 随机森林 2)AdaBoost + 决策树 = 提升树 3)Gradient Boosting + 决策树 = GBDT
阅读全文
摘要:boosting 是一种将弱分类器转化为强分类器的方法统称,而adaboost是其中的一种,或者说AdaBoost是Boosting算法框架中的一种实现 https://www.zhihu.com/question/37683881 gdbt(Gradient Boosting Decision T
阅读全文
摘要:https://zhuanlan.zhihu.com/p/32230623 首先定义:待优化参数: ,目标函数: ,初始学习率 。 而后,开始进行迭代优化。在每个epoch : sgd: 先来看SGD。SGD没有动量的概念,也就是说: 代入步骤3,可以看到下降梯度就是最简单的 SGD缺点:下降速度慢
阅读全文
摘要:反向传播:https://zhuanlan.zhihu.com/p/22473137 https://blog.csdn.net/cppjava_/article/details/68941436 2.解决梯度爆炸问题的方法 通常会使用一种叫”clip gradients “的方法. 它能有效地权重
阅读全文
摘要:作者:魏秀参链接:https://www.zhihu.com/question/38102762/answer/85238569来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 1. What is BN?规范化!即在每次SGD时,通过mini-batch来对相应的ac
阅读全文
摘要:过程: 1. 彩色图像转换为灰度图像 彩色转灰度图公式: gray = R * 0.299 + G * 0.587 + B * 0.114 2. 对图像进行高斯模糊 3. 计算图像梯度,根据梯度计算图像边缘幅值与角度(这里其实用到了微分边缘检测算子来计算梯度幅值方向) 求每个点x,y两个方向的梯度,
阅读全文
摘要:1.过采样,多次训练小数量的类别或者把小类别造数据,比如一些数据增强的方式 2.降采样,多的类别只选部分来寻来呢 3.每个batch里面类别尽量均衡 4.在loss里面加权重 5.ohem,因为可能类别比较多,训练网络久了,也许loss就小了 6.分治ensemble将大类中样本聚类到L个聚类中,然
阅读全文
摘要:衡量预测值与真实值的偏差程度的最常见的loss: 误差的L1范数和L2范数 因为L1范数在误差接近0的时候不平滑,所以比较少用到这个范数 L2范数的缺点是当存在离群点(outliers)的时候,这些点会占loss的主要组成部分。比如说真实值为1,预测10次,有一次预测值为1000,其余次的预测值为1
阅读全文
摘要:1.二叉平衡树:左子树和右子树的深度差小于等于1 2.二叉搜索树:左子树小于根节点的值,右子树大于根结点的值 3.队列:push(),pop(),front(),back(),empty(),size() 4.vecotr: clear(),push_back(),pop_back() vector
阅读全文
摘要:把下一个节点的值直接赋值给要删除的节点,然后删除下一个节点。当这样做会有两个bad case:被删除的链表结点的下一个结点为空指针,如果链表只有一个结点。其实链表只有一个结点应该属于下一个结点为空指针的大类,但处理方式不同。整个方案就是下一个结点是否是空指针
阅读全文
摘要:牛客网上的题目还有一个额外的要求,就是不改变数组原始的前后数据,这种可以用队列来存储,或者把前后比较变为相邻的元素比较。 这个题目,主要要考察扩展性,用func函数就实现了扩展性。只需要改func函数,就可以实现负数移动到非负数前面,被3整除的数移到不能被3整除的数的前面 这个题主要是将数组前后进行
阅读全文
摘要:1.阿里一面全程问项目,但个人感觉我对项目的熟悉程度和我的点并不够熟悉 2.阿里二面:1.梯度消失、梯度爆炸的解决办法 2.yolo1、2、3的演进 3.开放题:激光雷达怎么做检测 3点 4.机器人行走的一道动态规划
阅读全文
摘要:公式推导:https://github.com/zimenglan-sysu-512/paper-note/blob/master/focal_loss.pdf 使用的代码:https://github.com/zimenglan-sysu-512/Focal-Loss 在onestage的网络中,
阅读全文
摘要:很好的一个讲解卡尔曼滤波的文章:https://zhuanlan.zhihu.com/p/39912633 1.实践前提是这些数据满足高斯分布。 2.理论前提是一个高斯斑乘以另一个高斯斑可以得到第三个高斯斑,第三个高斯斑即为提取到相对精确的数据范围。 观测也有误差,所以需要将预测和观测相结合 将预测
阅读全文
摘要:使用kmeans的聚类算法选择数据集最可能的anchor size和ratio。K-means算法是很典型的基于距离的聚类算法,采用距离作为相似性的评价指标,即认为两个对象的距离越近,其相似度就越大。 kmeans缺点:kmeans中k代表k个种子点或者聚类中心,这个值必须先选定。kmeans对初始
阅读全文
摘要:idea:ROI pooling前都是卷积,是具备平移不变性的,但一旦插入ROI pooling之后,后面的网络结构就不再具备平移不变性了,就解决了分类和定位的矛盾,但因为引入roi-wise layer,会牺牲训练和测试的效率。因此,本文想提出来的position sensitive score
阅读全文
摘要:在region proposal阶段采用不同的iou。 第一幅图,不同颜色的线是用不同的region proposal的iou阈值,横坐标是region proposal生成的框与gt的原始iou,纵坐标是未经过训练的框经过bounding box regression后生成的新框与gt的iou,发
阅读全文
摘要:流程:1.detections和trackers用匈牙利算法进行匹配 2.把匹配中iou < 0.3的过滤成没匹配上的(1、2步共同返回匹配上的,没匹配上的trackers,没匹配上的detections) 3.更新匹配上的detections到trackers 4.把没匹配上的detections
阅读全文
摘要:1.理论上浅层是提取一些物体的一般特性,颜色、纹理、形状等 2.提出position sensitive score map还有个idea:随着网络深度的增加,网络对于位置(Position)的敏感度越来越低,也就是所谓的translation-invariance,但是在Detection的时候,
阅读全文
摘要:代办项: 把自己做的实验全部总结一次 1.浅层和深层concat和eltwise相加性能上有啥区别 把dssd和fpn做一个对比,既然没办法在fpga上用deconvolution,如果dssd效果好,那可以用dssd 统计数据的所有size大小,然后把anchor改了 2.把backbone从st
阅读全文
摘要:上图是2^x-1的曲线,取值范围在(-1,正无穷) 上面两个公式组成了隶属函数(membership)表示隶属度,隶属度就是衡量这个点同下边缘点是否属于同一个物体。实际上M函数就是2^x-1,但M函数的取值范围在(-1,1],且bottom点取到最大值1.小于0的点属于背景,大于0的点属于物体。 1
阅读全文
摘要:1.resnet的skip connection是通过eltwise相加的 2.resnet做detection的时候是在conv4_x的最后一层(也就是stage4的最后一层),因为这个地方stride为16 作者:灰灰链接:https://www.zhihu.com/question/64494
阅读全文
摘要:我们知道,在做数学题的时候,解未知数的方法,是给定自变量和函数,通过函数处理自变量,以获得解。而机器学习就相当于,给定自变量和函数的解,求函数。类似于:这样:function(x)=y 机器学习就是样本中有大量的x(特征量)和y(目标变量)然后求这个function。 求函数的方法,基于理论上来说,
阅读全文
摘要:总结:逻辑回归是在线性回归的基础上套用了一个逻辑函数。线性回归是进行回归预测,逻辑回归是用来分类,即离散。线性回归是在整个实数空间进行回归,逻辑回归把整个回归限定在实数范围0,1的回归,以某一阈值作为分类判别 逻辑回归中逻辑函数: 线性回归的模型是求出输出特征向量Y和输入样本矩阵X之间的线性关系系数
阅读全文
摘要:faster rcnn中这三层是单独生成的层,也是复现最复杂的层 anchor_target_layer作用:从众多的anchor中选取出正负样本供rpn网络学习(实际上就是把anchor和gt进行配对,配对后将这一对送给loss进行训练). 注意的点:从众多的anchor中随机选取128个正样本(
阅读全文
摘要:对于几进制,其实主要就是对进制取余和整除,取余的结果就是当前位的,整除的结果就是进位的。 67. Add Binary https://www.cnblogs.com/grandyang/p/4084971.html 从两个string的末尾开始转int型相加,注意carry的计算。 如果某一个数少
阅读全文
摘要:144. Binary Tree Preorder Traversal 前序的非递归遍历:用堆来实现 如果把这个代码改成先向堆存储左节点再存储右节点,就变成了每一行从右向左打印 如果用队列替代堆,并且先存储左节点,再存储右节点,就变成了逐行打印 94. Binary Tree Inorder Tra
阅读全文
摘要:第一题是输入数组的数值不相同,第二题是输入数组的数值有相同的值,第二题在第一题的基础上需要过滤掉那些相同的数值。 level代表的是需要进行选择的数值的位置。 78. Subsets 错误解法: 如果只看代码本身,不看继续的递归,整个for循环执行完成是同一层的所有节点。 level是同一层初始的开
阅读全文
摘要:53. Maximum Subarray 之前的值小于0就不加了。dp[i]表示以i结尾当前的最大和,所以需要用一个变量保存最大值。 动态规划的方法: 152. Maximum Product Subarray 最小值可能是负数,这个值可能变成最大值。 dp[i]表示以i结尾当前的最大乘积,所以需要
阅读全文
摘要:56. Merge Intervals是一个无序的,需要将整体合并;57. Insert Interval是一个本身有序的且已经合并好的,需要将新的插入进这个已经合并好的然后合并成新的。 56. Merge Intervals 思路:先根据start升序排序,然后合并 static作用:https:
阅读全文
摘要:1.欠拟合:模型没有充分学习到数据集的特征,导致在训练集和测试集性能都很差的情况 2.解决办法: 1.增加其他特征项,可以通过“组合”、“泛化”、“相关性”等的操作来添加特征项 2.添加多项式特征,这个在机器学习算法里面用的很普遍,例如将线性模型通过添加二次项或者三次项使模型泛化能力更强 3.减少正
阅读全文
摘要:1.全0初始化或者同一层的初始化为同一个值。 这样的初始化导致前向传播得到相同的值,反向传播也得到相同的梯度,这样就失去了神经元的不对称性 2. 3.xavier初始化 首先明确均匀分布:数学期望:E(x)=(a+b)/2 方差:D(x)=(b-a)²/12 https://zhuanlan.zhi
阅读全文
摘要:fc:1.起到分类器的作用。对前层的特征进行一个加权和,(卷积层是将数据输入映射到隐层特征空间)将特征空间通过线性变换映射到样本标记空间(也就是label) 2.1*1卷积等价于fc;跟原feature map一样大小的卷积也等价于fc,也就是输入是一个5*3*3的feature map,用一个3x
阅读全文
摘要:1.伯努利分布:伯努利分布亦称“零一分布”、“两点分布”。称随机变量X有伯努利分布, 参数为p(0<p<1),如果它分别以概率p和1-p取1和0为值。EX= p,DX=p(1-p)。 2. dropout其实也是一种正则化,因为也把参数变稀疏(l1,原论文)和变小(l2,caffe实际实现)。只有极
阅读全文
摘要:1.先弄清楚模型融合中的投票的概念 分为软投票和硬投票,硬投票就是几个模型预测的哪一类最多,最终模型就预测那一类,在投票相同的情况下,投票结果会按照分类器的排序选择排在第一个的分类器结果。但硬投票有个缺点就是不能预测概率。而软投票返回的结果是一组概率的加权平均数。 https://blog.csdn
阅读全文
摘要:单层时间复杂度: k是kenerl的尺寸,m是输出的下一层的feature map的尺寸 整个网络时间复杂度: 为什么时间复杂度只算了乘法操作而不算加法操作? 1.时间复杂度的理解 https://www.zhihu.com/question/21387264/answer/22046424 简单理
阅读全文
摘要:https://github.com/afantideng/R-FCN-PSROIAlign
阅读全文
摘要:1.pooling的反向传播: https://blog.csdn.net/qq_21190081/article/details/72871704 pooling反向传播的原则:pooling的值和上一层对应的区域的loss(或者梯度)之和保持不变 mean pooling:把梯度平均分给4个值.
阅读全文
摘要:1. 过拟合是什么? https://www.zhihu.com/question/264909622 那个英文回答就是说h1、h2属于同一个集合,实际情况是h2比h1错误率低,你用h1来训练,用h2来测试,但h1的准确率比h2却高 个人理解:网络过分学习了训练集的特征,把不是这个训练集本质的特征也
阅读全文
摘要:已投:1.拼多多 2.快手 3.头条 4.网易(未做笔试) 5.猿题库 6.爱奇艺 7.一点咨询(自己已经拒绝了他们) 8.京东(只是官网,没有走x事业部)9.海康 10.阿里 11.依图 12.飞步 13.roadstar 未投:1.百度 2.腾讯 3.京东 4.美团 5.滴滴 6.地平线 7.f
阅读全文
摘要:http://www.cnblogs.com/neopenx/default.html?page=1 这个博主很牛逼,写的东西也很好,多学学,无论是对框架,还是对自己学习c++帮助都非常大
阅读全文
摘要:下图是jiayangqing在知乎上的回答,其实过程就是把image转换成矩阵,然后进行矩阵运算 卷积的实现在conv_layer层,conv_layer层继承了base_conv_layer层,base_conv_layer层是卷积操作的基类,包含卷积和反卷积.conv_layer层的前向传播是通
阅读全文
摘要:https://hal.inria.fr/file/index/docid/112631/filename/p1038112283956.pdf caffe的卷积计算的优化来自这篇paper,实际上就是将卷积核矩阵和feature map矩阵(或者图像矩阵)转换为大的矩阵 jiayangqing自己
阅读全文
摘要:BLAS(Basic Linear Algebra Subprograms)库,是用Fortran语言实现的向量和矩阵运算库,是许多数值计算软件库的核心, 但也有一些其它的包装, 如cblas是C语言, 也有C++的包装, boost/ublas 是C++ template class的实现; 另外
阅读全文