- 博客(43)
- 收藏
- 关注

原创 剑指offer题解 带讲解 python版 第一部分
目录1、二维数组查找2、替换空格3、从尾到头打印链表3、重建二叉树4、两个栈实现队列5、旋转数组最小数字6.斐波那契数列7、跳台阶8 变态跳台阶9、矩形覆盖10、二进制中1的个数11、整数次方13、o(1)时间内删除链表节点14、调整数组奇数位于偶数前面,并保证相对位置15、链表倒数第k个节点16、链表反转17、合并两个有序链表18、树的子结构19、求二叉树的镜像20、螺旋打印矩阵21、包含min...
2019-08-07 20:35:51
1482

原创 “Learning Blind Video Temporal Consistency”视频去闪烁(anti banding、flicker)论文解读
项目官网:http://vllab.ucmerced.edu/wlai24/video_consistency/当对视频进行操作时,若不考虑帧与帧之间的关系,只对单张图像进行例如风格迁移、上色、超分辨率处理等等,会造成视频结果的不连贯,出现闪烁,这个论文提出了一种方法,可以无视图像处理的方法,直接解决视频不连续问题。论文亮点:1.用卷积LSTM有效的去除了视频中的闪烁,并且在测试的时候不需要...
2019-06-19 19:34:05
4641
4

翻译 超全opencv常见图像处理操作总结及效果展示(附python代码)
###################################### ~~1.存读图像~~ ###########主要包含图像的读取、存储、图片模式的转换、格式的转换。#导入cv模块import cv2 as cv读取一张400x600分辨率的图像color_img = cv.imread(‘img/src_1000x1000.jpg’)直接读取单通道灰度图gray_img ...
2019-04-06 14:42:14
4863

原创 批量梯度下降(BGD)、小批量梯度下降(mini-BGD)、随机梯度下降(SGD)优缺点比较
1. 批量梯度下降(Batch Gradient Descent,BGD)优点:1)一次迭代是对所有样本进行计算,此时利用矩阵进行操作,实现了并行。2)由全数据集确定的方向能够更好地代表样本总体,从而更准确地朝向极值所在的方向。当目标函数为凸函数时,BGD一定能够得到全局最优。缺点:1)当样本数目 m 很大时,每迭代一步都需要对所有样本计算,训练过程会很慢。(有些样本被重复计算,浪费资源...
2019-03-06 16:28:32
5056

原创 Xgboost通俗理解和总结
目标函数:其中的误差函数可以自定义(满足二阶可导),正则项可以L1或L2gi = 前t-1棵树的预测与真实值的损失函数在y(t-1)处的导数q(x)就是 输入在叶子节点上的映射,w(qx) 就是映射对应的打分就是对将要生成的树的打分的惩罚项将样本数换算为每个节点上的样本数j,总共T个节点,每个节点的得分w是一样的w衡量打多少分是最好,L就是衡量一个树有多好正则化:...
2019-03-03 12:51:30
1205

原创 手推RNN BPTT(back propagation through time)反向传播
不亲自推一遍总是记不住细节对v的偏导数比较好求,因为V直接输出了,不会传递给下一个h。以下以三层为例子,其他以此类推:1.对v的偏导数:2.对U和W求偏导数:...
2019-03-01 14:24:33
679

原创 通俗理解激活函数作用和常见激活函数总结:sigmoid、tanh、relu、Leaky-relu、P-relu、R-Relu、elu
激活函数的作用可以想象,如果没有激活函数,下一层的输入总是上一层的输出,无论多少层网络,都是线性函数,线性函数的逼近能力是非常有限的,无法拟合现实中这些没有规律的非线性复杂函数。举个例子:个人理解为把有规律线性函数用激活函数扭曲,层数越深扭曲次数越多,经过深层网络的扭曲之后,鬼知道是个什么函数,剩下的交给反向传播自己训练去把。各种激活函数1.Sigmoid激活函数:2.tan...
2019-03-01 13:35:13
7605
1

原创 从Q-learning到PPO大全 深度强化学习总结和理解
强化学习总结和理解,都是自己最近学习的总结 ,如果有不对的地方还请指出这一周一直在学强化学习,总结了常见经典算法,强化学习的资源很少,2015年alphago的成功才火起来。不知道未来会不会继续有突破,学完感觉比深度学习难了很多,资源也非常少,对数学要求极高,还需要提高数学和实践能力,以下为自己看了几十遍算法总结的心得。强化学习分为在线学习和离线学习Off-policy:q-learning...
2019-02-28 11:38:32
5218
2
转载 逻辑回归深挖细节
看似简单,包含很多细节见链接https://blog.youkuaiyun.com/dzysunshine/article/details/88825051
2019-09-07 15:15:52
234
原创 衡量神经网络的三个指标,参数量,multi-add,flop计算力
1.深度学习框架FLOPs的概念FLOPS:注意全大写floating point operations per second的缩写,意指每秒浮点运算次数,理解为计算速度。是一个衡量硬件性能的指标。FLOPsFloating point operations 浮点运算数量,就是计算量主要由卷积组成,BN,relu pool占比较少Image大小为 5x5卷积核大小为 3x3那么一...
2019-09-04 16:42:06
5507
1
原创 树的非递归前中后序遍历
1.树的非递归前序遍历前序遍历结果:ABDECF2.树的非递归中序遍历中序遍历结果:DBEAFC3.树的非递归后序遍历后序遍历结果:DEBFCA后序遍历的遍历顺序是左孩子,右孩子,最后才是根节点。这里采用相反的方式,先访问根节点,再来是右孩子,最后左孩子。这样遍历完之后返回遍历结果的倒序,即是最终的结果。所以把前序遍历程序的左右互换顺序就行了...
2019-08-30 11:15:16
236
原创 leetcode经典题 刷题题解 python版
10.判断数字是不是回文串(不能申请额外,也不能转为字符串)例如:121 :return True1213: return False方法;将整数分成左右两部分,右边那部分需要转置,然后判断这两部分是否相等。2.统计二进制字符串中连续 1 和连续 0 数量相同的子字符串个数Input: “00110011”Output: 6There are 6 substrings that ...
2019-08-28 17:38:54
867
原创 adboost,随机森林,gbdt,xgboost,lightgbm区别
Xgboost和gbdt区别:1)在使用CART作为基分类器时,XGBoost显式地加入了正则项来控制模型的复杂度,有利于防止过拟合,从而提高模型的泛化能力。2)GBDT在模型训练时只使用了代价函数的一阶导数信息,XGBoost对代价函数进行二阶泰勒展开,可以同时使用一阶和二阶导数。3)传统的GBDT采用CART作为基分类器,XGBoost支持多种类型的基分类器,比如线性分类器。4)传统的...
2019-08-15 14:42:58
486
原创 LeNet,AlexNet,Inceptionv1,2,3,4,vgg,resnet,DenseNet,网络图解对比
1.LeNet2.AlexNet特点:1.加入relu2.加入dropout3.用最大池化替代之前网络用的平均池化,避免模糊3.VGG16反复堆叠33的小型卷积核和22的最大池化层,4.Inception网络 -googlenet对上图做以下说明:1 . 采用不同大小的卷积核意味着不同大小的感受野,最后拼接意味着不同尺度特征的融合;2 . 之所以卷积核大小采用11...
2019-08-15 10:53:55
648
原创 6大常见排序算法 python实现
1.最快的排序算法:快速排序(不稳定)每次找基准(一般选第一个),将数组分为大于基准和小于基准两块,然后对每一块递归,直到只剩一个元素,然后返回 左+中+右2.归并排序3.冒泡排序最简单的 o(n2)复杂度,稳定的,、两两比较,不对就交换4.堆排序 (不稳定)讲的比较好https://www.bilibili.com/video/av18980178?from=searc...
2019-08-13 17:43:39
195
原创 编译型语言和解释性语言,c++和python
解释是读一行解释一行,然后再执行,执行完后,再读下一行,然后再解释一下再执行。python下次再执行时还要解释。编译的话就是只要编译一次,下次再执行是就不用再解释了,相对来说速度较快。c++...
2019-08-13 11:39:12
426
转载 pooling层如何反向传播? 很简单
见链接,就不写了https://blog.youkuaiyun.com/Jason_yyz/article/details/80003271
2019-08-13 11:26:08
631
转载 inceptionv 1-4
总结的很好我就不总结了,甩链接https://blog.youkuaiyun.com/liukai2918/article/details/80378163
2019-08-13 11:02:38
156
原创 剑指offer题解 带讲解 python版 第二部分
53、找出数组中重复的数用o(n)的方法解决:题目里写了数组里数字的范围保证在0 ~ n-1 之间,所以可以利用现有数组设置标志,当一个数字被访问过后,可以设置对应位上的数 + n,之后再遇到相同的数时,会发现对应位上的数已经大于等于n了,那么直接返回这个数即可。54、构建成绩数组,不能用除法对输入的数组,算出来一个正向的累乘的同样长度的数组。在算一个逆向的累乘数组,逆向的只乘到数组...
2019-08-09 11:16:04
181
转载 协方差的意义 理解
转载讲的不错https://blog.youkuaiyun.com/wuhzossibility/article/details/8087863
2019-07-18 15:56:59
197
转载 2018leetcode算法面试题汇总部分解答
见链接https://blog.youkuaiyun.com/qq_36185831/article/details/88748237
2019-07-09 17:49:52
358
原创 提升精度或者训练损失不继续下降办法汇总,(进一步提升效果)
1.找出总被分错的图片,如果真的是太难分辨,考虑删掉。或者用adaboost方法训练多个弱分类器2.考虑多模型融合,最简单方法可以是不同时刻的训练结果融合,不过可能差距不大,好处是节省时间3.降低学习率,如果是已经是衰减学习率了,可以考虑换种衰减方式4.检查数据集有没有错误的样本,严重影响5.首层网络可视化,看特征图区分度是否可以6.改网络模型,改其他参数等等 待补充其他...
2019-07-09 15:28:24
3167
转载 BatchNormalization、LayerNormalization、InstanceNorm、GroupNorm、SwitchableNorm总结
https://blog.youkuaiyun.com/liuxiao214/article/details/81037416
2019-06-10 11:14:03
280
原创 机器学习平衡正负样本方法
https://www.zhihu.com/question/56662976按照周志华老师《机器学习》中所说,假如反例998个,正例2个,那么只要学习方法学习一个永远将样本预测为反例的学习器,那么精度就能达到99.8%,这样的学习器是没有价值的。关于正负样本不均衡的问题,最常见的方法就是过采样(如SMOTE)、欠采样(如EasyEnsemble)了,而像lr这样直接用概率做分类的,本来分类阈...
2019-05-11 15:21:29
1742
原创 几种常见机器学习距离公式
1.欧氏距离2.曼哈顿距离图中红线代表曼哈顿距离,绿色代表欧氏距离,曼哈顿距离的命名原因是从规划为方型建筑区块的城市(如曼哈顿)间,最短的行车路径而来3.切比雪夫距离国际象棋棋盘上二个位置间的切比雪夫距离是指王要从一个位子移至另一个位子需要走的步数。由于王可以往斜前或斜后方向移动一格,因此可以较有效率的到达目的的格子。4.皮尔斯相关系数5.KL散度...
2019-05-11 14:52:47
532
原创 牛顿法、拟牛顿法、hession矩阵
先看hession矩阵:牛顿法的优缺点总结:优点:二阶收敛,收敛速度快;缺点:牛顿法是一种迭代算法,每一步都需要求解目标函数的Hessian矩阵的逆矩阵,计算比较复杂。 关于牛顿法和梯度下降法的效率对比:从本质上去看,牛顿法是二阶收敛,梯度下降是一阶收敛,所以牛顿法就更快。如果更通俗地说的话,比如你想找一条最短的路径走到一个盆地的最底部,梯度下降法每次只从你当前所处位置选一个...
2019-04-26 12:22:30
454
原创 解释为什么用梯度下降而不是直接求导数为0的解?
问题:在计算线性回归最大似然估计的解的时候,最后的推导结果是为什么不直接求出θ?而是一步步迭代求出θ?原因因此,梯度下降可以节省大量的计算时间。此外,它的完成方式允许一个简单的并行化,即在多个处理器或机器上分配计算。此外,当您只将一部分数据保留在内存中时,会出现梯度下降的版本,从而降低了对计算机内存的要求。总的来说,对于特大问题,它比线性代数解决方案更有效。当您有数千个变量(如机器...
2019-04-21 12:51:58
6557
1
转载 L1、L2正则化区别和数学原理,以及什么是Elastic Net(弹性网络)正则项
先说结论:L1正则化使得模型更加稀疏,L2使得模型参数更趋近于0再说原因:1.Lasso2.Ridge regression
2019-04-21 12:17:10
1296
原创 通俗了解神经网络如何避免陷入局部最优
1.以不同的参数值初始化多个神经网络,取最小的作为结果就好比企业轮岗, 多试试从不同的岗位做起,能避免陷入只认为当前职位最合适2.使用“模拟退火”技术就好比 当前虽然觉得自己过的挺好了,但是也试着跳出舒适区出去看看,万一有更舒服的地方呢,但是,随着年龄(迭代次数)增加,这种冒险行(跳出舒适区)为的概率越来越小。使用“模拟退火”技术,“模拟退火”在每一步都会以一定的概率接受比当前更差的结果,...
2019-04-20 22:23:01
16043
原创 SVM原理,及和逻辑回归区别
由逻辑回归引入SVM损失函数为:SVM简化一下逻辑回归的损失函数,如蓝色折现所示:绿色是蓝色是.由于的限制 θ不会太大,若P也不够大,就很难实现所以促使分类器向下面这样演化:核函数 kernellandmark怎么选?参考链接:https://www.jianshu.com/p/b9e3fd894770https://blog.csdn...
2019-04-20 18:26:34
3330
3
转载 PCA主成分分析
参考链接:http://www.360doc.com/content/18/0913/19/17157244_786423114.shtml
2019-03-10 17:48:16
177
转载 momentum、Adagrad、RMSProp、Adam梯度下降总结
MomentumSGD方法中的高方差振荡使得网络很难稳定收敛,所以有研究者提出了一种称为动量(Momentum)的技术,通过优化相关方向的训练和弱化无关方向的振荡,来加速SGD训练。换句话说,这种新方法将上个步骤中更新向量的分量’γ’添加到当前更新向量。V(t)=γV(t−1)+η∇(θ).J(θ)通过θ=θ−V(t)来更新参数。动量项γ通常设定为0.9,或相近的某个值。这里的动量与经...
2019-03-10 15:31:29
1037
原创 一文通俗理解最大似然估计· 看不懂你打我,无公式
最近恶补理论知识,发现似然估计一直都是会用,但是意义掌握的不好,梳理一下思路意义直白点就是:已知一个结果已经发生了,推测最有可能导致结果发生的一个“原因”(参数)举个别人博客的例子:假如有一个罐子,里面有黑白两种颜色的球,数目多少不知,两种颜色的比例也不知。我 们想知道罐中白球和黑球的比例,但我们不能把罐中的球全部拿出来数。现在我们可以每次任意从已经摇匀的罐中拿一个球出来,记录球的颜色,然后...
2019-03-06 10:33:17
1519
翻译 神经网络权重初始化
深度学习中的weight initialization对模型收敛速度和模型质量有重要影响!在ReLU 中推荐使用Xavier Initialization的变种,暂且称之为He Initialization:使用Batch Normalization Layer可以有效降低深度网络对weight初始化的依赖:初始化为0的可行性?答案是不可行。 为什么将所有W初始化为0是错误的呢?是因为...
2019-03-05 12:18:51
358
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人