
机器学习
文章平均质量分 83
天才狂想者
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
SSD主干网络(基于vgg16)
在这里我们来说一说,基于vgg16的ssd的整体网络结。 首先,先来说一遍vgg16。如图,在图中D列就是今天要说的vgg16结构。 如图,下图为vgg16的结构示意。 简单的来说一下, 第一个肯定是输入(图片),224*224*3指的是图片的分辨率是224*224,通道数是3。 到了block1处,卷积核为3*3*3,有64个这样子的卷积核。3*3*3是因为对一个通道有3*3...原创 2019-12-15 22:52:36 · 4174 阅读 · 1 评论 -
tensorflwo-SSD训练自己的数据集
环境python3.6.9 tensorflow1.14.0 cuda 9.0.176 cudnn 7.3.1,使用pycharm作为编辑器 1)下载ssd代码,地址:https://github.com/balancap/SSD-Tensorflow 解压缩,将自己的数据集放在VOC2007下 2)更改datasets下的pascalvoc_common.py代码,如...原创 2019-11-16 12:48:57 · 383 阅读 · 0 评论 -
目标检测 Two Stage方法
Two Stage流程如下: 整体流程介绍: 1).用主干网络(如vgg网络等),对原图片进行特征提取处理,对应流程图中的Input->Conv_Pooling以及图片中的conv layers立方体块(因为主干网络是多层的conv与Pooling层的结合),生成feature map特征图。 2).通过RPN网络,对主干网络处理生成的feature map进行处理,对应con...原创 2019-11-09 16:52:51 · 481 阅读 · 0 评论 -
LRN与BN
LRN是作用于卷积的一种优化,即局部响应归一化层。它的作用是减少过拟合的产生,一般用在卷积RULE激活函数之后的一层。 具体是实现如下: 公式看起来有一些麻烦,但我们不需要关心公式的组成,我们考虑其中的原理即可。为什么要在RELU后一层加上这个来改变当前层输出结果?他会对局部神经元创建对比,使得其中响应值较大的神经元变得更大,使得响应小的神经元变得更小,可以更加快速的训练模型,并且相比于不...原创 2019-08-31 18:54:54 · 2043 阅读 · 3 评论 -
SVM-大间隔划分超平面模型简单求解
我们知道通过求得的最小值来得到模型,但是要记住,求解是有约束条件的s.t.。 为了方便求解我们通过拉格朗日乘子法可以得到它的对偶问题,即将约束条件添加拉格朗日乘子, 则该函数就可以写作 我们对求w,b的零偏导,有以及,将带回原式中消去w,b 有对应的对偶问题 . s.t 求出后有最终结果 且要满足,,这三个条件 ...原创 2019-08-22 00:10:18 · 919 阅读 · 0 评论 -
决策树的优化-剪枝
为什么决策树需要剪枝?我们可以类比于神经网络的“过拟合”问题来进行思考。在神经网络之中,会出现过拟合问题,即出思安对特定的样本识别率升高,对其余样本的识别率降低。在决策树中也会出现类似的问题,会出现枝条过多的现象,是问题复杂化,准确率却得不到上升。 决策树的剪枝分为2种,一种是预剪枝,第二种是后剪枝。 预剪枝:在创建进行到某一个节点处,我们先计算当前节点的准确率,然后在按照该节点的属性进行分类...原创 2019-08-07 00:35:18 · 1512 阅读 · 0 评论 -
支持向量机(SVM)的简单介绍
SVM最基本的应用是分类,特别是对于非线性以及多维数据的解决有很大的作用,最常见的应用就是自然语言处理。 下面,我来简单的介绍一下最基本的SVM。 如图: 在图中,有两组类别的数据叉(×)和圈(○),我们的目的是将他们能够区别开来,如何去做?在这个例子中,我们可以看到叉和圈都可以被红色和黄色的线区别开来,但是我们的目的不仅仅是区分样本中的数据,为了能够更好的区别后续的数据,可以看出红色的...原创 2019-08-13 15:03:31 · 1239 阅读 · 0 评论 -
决策树的划分选择
定义信息熵: ,其中为第k个样本占比,D为样本集。 定义信息增益: ,其中V为分支节点,a为属性。 使用举例(书上的例子): 编号 色泽 根蒂 敲声 纹理 脐部 触感 好瓜 1 青绿 蜷缩 浊响 清晰 凹陷 硬滑 是 2 乌黑 蜡缩 沉闷 清晰 凹陷 硬滑 是 3 乌黑 蜡缩 1虫响 清晰 凹陷 硬滑 是 4 青绿 蜷缩 沉闷 清晰 凹陷 硬滑 是 5 浅白 蜷缩 浊响 清晰 ...原创 2019-08-01 11:11:50 · 794 阅读 · 0 评论 -
决策树
决策树是一种常见的机器学习,可以从给定的数据之中创建一个模型,模型创建后可以对新的样本进行判定和识别。 决策树的生成如下: 假设有训练集。 属性集。 我们基于此构造一个决策树(最基本的),大致思路如下: 生成node节点。然后开始根据属性进行判断,如果训练集的所有样本都属于属性集的一个属性,则node就作为类的叶节点。如果属性集为空或者剩下训练集的所有属性取值相同,那么将node设为叶节...原创 2019-07-25 13:24:25 · 200 阅读 · 0 评论 -
CNN理解(二)
前面说完了CNN前向传播,这里我就说一下CNN反向传播。 CNN有卷积层、池化层 前面说完了CNN前向传播,这里我就说一下CNN反向传播。 CNN有卷积层和池化层。首先我们要明白我们反向传播是为了谁。类比于DNN中,我们反向传播是为了神经元中的权重w和偏置b。而我们在CNN中就是为了卷积层中的卷积核。 已知池化层的,求前一层的。 这个比较简单,我们知道池化层的作用是将传入的参数降低规模传...原创 2019-06-12 11:54:51 · 214 阅读 · 0 评论 -
CNN理解(一)
之前说过了DNN,大家也对神经网络有了一个大概的了解,知道了什么叫做前向传播,什么叫做反向传播。我们可以类比的进行卷积(CNN)的学习。 首先,回想一下DNN全连接神经网络的前向传播。 可以看到,在DNN中,每一层的参数(输入层)或者计算结果(中间层)都会直接传给下一层的所有神经元,如此反复,直到最后一层的输出层得到结果。 而CNN呢? 他也是和DNN一样,每一层的参数(输入层)或者计...原创 2019-05-23 12:09:16 · 991 阅读 · 0 评论 -
DNN理解(四)
这次我们来说一说DNN的反向传播过程。 首先,我们要明白一点,反向传播的目的是什么?前向传播是为了计算出最后结果,将输入的变量进行一层一层的进行计算,直至最后的输出层。前向传播是为了得出最后结果,而后向传播是为了能够让前向传播得到正确的结果。 反向传播就是神经网络的训练过程,也就是利用梯度下降调整参数,得到正确结果的过程。所以说,研究反向传播的时候,得先弄明白前向传播的过程和具体计算过程。 ...原创 2019-04-30 17:20:31 · 753 阅读 · 0 评论 -
DNN理解(五)
代价函数的选择 在我们训练时可能会遇到学习缓慢的问题。学习缓慢问题可能时步长的问题,步长设置的太小导致每次权重的变化过慢,而另一个原因就可能是激活函数的问题了,我们可以通过选择不同的代价函数来规避这个问题。 如下图神经元所示: : 我们训练有一个参数的神经元,使其输入1,输出为0,激活函数为sigmoid的模型。初始w=0.6,b=0.9,训练情况如下 cost为代价函数 Epoch为训...原创 2019-05-08 20:35:21 · 628 阅读 · 0 评论 -
DNN理解(三)
这次我们来说一说梯度下降问题。 1.什么是梯度下降? 2.梯度下降用来干什么的? 3.如何使用梯度下降? 我们将围绕着三个问题进行说明。 首先我先来说一下梯度下降是什么。举一个例子:,这是一个一元二次函数。对于这个函数来说,就是它的梯度,也就是他的导数。这个很好理解,梯度可以看做一个使得函数变大变小的方向,角度,我们顺着这个梯度就可以使得这个函数变大或者变小,并且依次得到该函数极值点(不...原创 2019-04-24 19:21:16 · 673 阅读 · 0 评论 -
DNN理解(二)
书接上文,上面介绍的是DNN的基本结构和一些要用到的公式。 在这里我将要说一下DNN的前向传播,上图先: 我来解释一下这个图。layer1是输入层,layer2是隐藏层,layer3是输出层。当然层数不是固定的,每层的神经元个数也不是固定的。一般来说第一层是输入参数的,最后一层是输出层,中间的都叫做隐藏层。 在输入层,每一个参数对应一个神经元(可以这么理解),每一个参数都要传给下一层(隐...原创 2019-04-17 14:21:03 · 1355 阅读 · 0 评论 -
DNN理解(一)
再说DNN之前,我们先说一下什么是机器机器学习以及他们的关系。 首先说一下机器学习是什么,在这里我不会去将机器学习的定义列出来,当然目前对于机器学习也没有一个真正的的定义。我会将我理解的机器学习说出来,也许说的会有错误,大家只需参考即可。 在我看来,机器学习就是机器通过大量的样本进行所谓的学习,得到一个尽量逼近真实的模型,这个行为就叫做机器学习。机器学习中的学习说白了就是调整参数的过程。我们根...原创 2019-04-10 16:40:40 · 12403 阅读 · 0 评论