机器学习
文章平均质量分 75
Lefenger
我的结局与世界的结局
展开
-
机器学习笔记
机器学习:为了解决一些难以用人工写逻辑来解决的问题。非监督学习与监督学习的区别:监督学习需要有正确的数据来引导,而非监督学习是单纯从数据中寻找规律。学习的目的是不断减少预测值与实际值的偏差,具体表现在参数的矫正。梯度下降算法:在n维坐标系中任意取一个点,沿着下降最快的一条路线找到最低点(不同的起点可能有不同的局部最低点),每一次下降都将对所有数据进行迭代。随机梯度下降算法:为了应对大量数据,此算法在原创 2016-08-14 18:19:45 · 752 阅读 · 0 评论 -
权值的初始化—-xavier
对网络中的权值进行合理的初始化是为了保证在训练之前使网络的输出值与目标值的差距不是太大,比如输入(2,3)目标值为4,但网络的输出值为500,那么loss就太大了,训练也就很难进行。因此为了使得网络中信息更好的流动,每一层输出的方差应该尽量相等(在一篇博客上看到的,下面有链接)。因此就采用xavier来对权重进行初始化,本文只讨论如何使用,不讨论其中原理。caffe中xavier初始化有三原创 2018-01-23 11:54:46 · 1475 阅读 · 0 评论 -
对神经网络的思考与总结
1.为什么通过使用过滤器对图像进行卷积操作能够达到识别特征的功能?答:在神经网络中,数值的高低代表了激活程度的高低,而在卷积操作中,卷积核的数值分布决定了图像像素应该具有怎样的数值分布才能得到高的卷积结果,因此,不同的卷积核都代表着对不同的特征的识别。有个有意思的地方是,以前的传统图像识别是人工选择卷积核来对图片进行特征提取,而现在是神经网络通过训练来决定卷积核。并且随着网络的深入,卷原创 2018-01-23 10:33:17 · 492 阅读 · 0 评论 -
Batch Normalization层
Batch Normalization层我们可以通过标准化输入来避免网络中局部数据十分大或十分小(不在同一个数值范围),同时我们也需要标准化激活函数的输出来保证网络的稳定。所有网络中都应该使用BN层,他能使网络块10倍,因为学习率可以调大了,且由于不会出现某个值十分大或十分小的情况,曾经许多不能的网络也都可以训练了,BN能够很好的预防过拟合,因此可以减少Dropout的原创 2018-01-23 10:31:18 · 547 阅读 · 0 评论 -
Tricks
1.避免过拟合的方法使用dropout。增大训练数据集在损失函数中添加正则项数据增广即对图片进行旋转、拉伸等操作来倍增样本数量。Batch Normalization层在每个卷积层或全连接层后面加入Batch Normalization层。2.提升最终准确率的普遍方法将多个模型的结果求平均值,作为最后的结果我们可能为了更好的结果不断更改模型,但我们可以对这些原创 2018-01-23 10:30:05 · 347 阅读 · 0 评论 -
循环神经网络
循环神经网络(简称RNN),他有自己的状态,并可以实时根据自己得到的信息改变自己的状态。 ht=fw(h(t-1),xt) 这个函数表示,输入为上一状态与当前处理得出的向量x,fw是一个函数,它有权值w,在每个时间步长都会执行这个fw函数,并且都使用相同的w,这个函数会判断下一步将转换为什么状态。其中一个fw的简单例子为tanh(W(hh)h(t-1)+W(xh)xt) 如上图所示,在原创 2017-07-22 20:43:27 · 729 阅读 · 0 评论 -
CS231n 学习笔记
一、人大脑处理图像的第一步是对边界和形状的识别,图像分类到图像识别。二、K-近邻算法:1 .监督学习,是一种即时分类非参数算法,对测试集中的每一张图片,遍历训练集,计算两张图片的相似度,相似度的计算方法为计算每个对应像素之间的距离(所谓的距离可能使用欧氏距离或曼哈顿距离),然后相加,最终得到相似度最小的K张图片,从而根据标签占比得到最终标签(即分类)。2.该算法同样可用于回归,例如根据k个近似数据原创 2016-12-17 17:09:33 · 1952 阅读 · 0 评论 -
faster-rcnn-demo
原文地址:lefenger.com运行github上的python版本的faster-rcnn demo的过程为:克隆github的项目到本地 git clone --recursive https://github.com/rbgirshick/py-faster-rcnn.git 在caffe-fast-rcnn文件夹中执行 cp Makefile.config.example Makefi原创 2017-07-30 11:50:04 · 681 阅读 · 0 评论 -
Caffe 问题记录
原文地址:lefenger.comCaffe使用所遇到的问题。一当 caffe为训练模式时,dropout不执行。二layer{ bottom: "a" bottom: "b" name: "conv1_1" param { propagate_down : 0 //a不会得到梯度传播 propagate_down : 0原创 2017-07-30 11:47:47 · 347 阅读 · 0 评论 -
finetune的意义及用法
finetune 就是微调的意思,那为什么要微调呢,为什么不能自己重新训练一个网络呢?因为我们没呢么多样本,没那么高超的技术使神经网络合理且有用,因此我在训练好的模型的基础上只训练其中一个或几个层,而把其他层的参数都冻结起来。一个正确的训练好的神经网络应该是什么样的呢?如果将神经网络中的所有过滤器都可视化的话,可以发现,由低到高实际上是不断组合,不断得到更高层次抽象的过程,例如一开始只原创 2018-01-23 11:57:18 · 4319 阅读 · 0 评论