先从最简单的例子开始,假设我们有一组样本(如下图的一个个黑色的圆点),只有一个特征,如下图,横轴是特征值,纵轴是label。比如横轴是房屋面积,纵轴是房屋价格. 现在我们要做什么呢?我们试图找到一条直线y=ax+b,可以尽量好的拟合这些点. 你可能要问了,为啥是直线,不是曲线,不是折线?因为我们的前提就是我们假设数据是有线性关系的啊!一方面,这种假设方便我们用数学知识推导出a,b. 另一方
这篇其实应该作为机器学习的第一篇笔记的,但是在刚开始学习的时候,我还没有用博客记录笔记的打算.所以也就想到哪写到哪了. 你在网上搜索机器学习系列文章的话,大部分都是以KNN(k nearest neighbors)作为第一篇入门的,因为这个算法实在是太简单了.简单到其实没啥可说的. 问题:已知正方形和三角形两种分类,现在来了个圆,问:应该归到正方形更合适还是三角形更合适? 算法的思想很朴
每一种机器学习算法都可以看做是一种看待数据的视角. 就像我们看待一个问题,一个观点一样.每一种视角必然有他合理的地方,也有他片面的地方.对机器学习而言,也是一样.所以为了提高我们对数据的了解程度,我们要尽可能地从多个视角考察我们的数据. 这样对新的test data,不管是分类还是回归,我们才可能有更高的预测准确率. 实际上上述过程,就是所谓的ensemble。 集成学习 机器学习中
系统不确定性的度量 先来看2个概念. 信息熵 基尼系数 二者都反映了信息的不确定性,是信息不确定性的不同评价标准. 关于信息熵,在数学之美中,有一段通俗易懂的例子. sklearn中使用决策树 在sklearn中使用decisiontree时,采用信息熵或者基尼系数,预测准确率并不会有很大差异. 1 2 3 4 from sklearn.tree impo
卷积神经网络,在图像识别和自然语言处理中有很大的作用,讲cnn的中文博客也不少,但是个人感觉说的脉络清晰清晰易懂的不多. 无意中看到这篇博客,写的很好,图文并茂.建议英文好的直接去看原文.英文不好的就直接看我这篇,算是读后总结吧.原文里对数学原理的着墨不多,在这篇文章里我会留着相关的标题,待日后慢慢补充这篇文章. 卷积神经网络 以上是一个cnn的典型结构.包含以下3种结构 卷积层 池化层 全
在准备数据集时,darknet并不要求我们预先对图片resize到固定的size. darknet自动帮我们做了图像的resize. darknet训练前处理 本文所指的darknet版本:https://github.com/AlexeyAB/darknet ./darknet detector train data/trafficlights.data yolov3-tiny_trafficl
torch实现yolov3(1)torch实现yolov3(2)torch实现yolov3(3)torch实现yolov3(4) 前面4篇已经实现了network的forward,并且将network的output已经转换成了易于操作的detection prediction格式.本篇把前面四篇实现的功能组织起来,实现端到端的推理过程. 整体流程如下 读取图片,对图片前处理,把图片调整到模型的i
首先明确几个概念,精确率,召回率,准确率 精确率precision 召回率recall 准确率accuracy 以一个实际例子入手,假设我们有100个肿瘤病人. 95个良性肿瘤病人,5个恶性肿瘤病人. 我们有一个检测系统,去检测一个肿瘤病人是否为恶性.那么,对我们的系统来说,有100个样本,5个正样本,95个负样本.假设分布为1,1,1,1,1,0,0,.......(即前5个人为恶性,后95
在上一篇里我们实现了forward函数.得到了prediction.此时预测出了特别多的box以及各种class probability,现在我们要从中过滤出我们最终的预测box.理解了yolov3的输出的格式及每一个位置的含义,并不难理解源码.我在阅读源码的过程中主要的困难在于对pytorch不熟悉,所以在这篇文章里,关于其中涉及的一些pytorch中的函数的用法我都已经用加粗标示了并且给出了相
配置文件 配置文件yolov3.cfg定义了网络的结构 .... [convolutional] batch_normalize=1 filters=64 size=3 stride=2 pad=1 activation=leaky [convolutional] batch_normalize=1 filters=32 size=1 stride=1 pad=1 activation=lea
理解一个算法最好的就是实现它,对深度学习也一样,准备跟着https://blog.paperspace.com/how-to-implement-a-yolo-object-detector-in-pytorch/一点点地实现yolov3.达到熟悉yolov3和pytorch的目的. 这篇作为第一篇,讲yolov3基本原理. 卷积后的输出 经过basenet(darknet-53)不断的卷积以后得
转自https://blog.csdn.net/watermelon1123/article/details/82083522 前些日子因工程需求,需要将yolov3从基于darknet转化为基于Caffe框架,过程中踩了一些坑,特在此记录一下。 1.Yolov3的网络结构 想要转化为Caffe框架,就要先了解yolov3的网络结构,如下图。 如果有运行过darknet应该会很熟悉,这是
小目标检测很难,为什么难.想象一下,两幅图片,尺寸一样,都是拍的红绿灯,但是一副图是离得很近的拍的,一幅图是离得很远的拍的,红绿灯在图片里只占了很小的一个角落,即便是对人眼而言,后者图片中的红绿灯也更难识别. 说回到cnn,不断地卷积以后,feature map的尺寸变小.这时候feature map所代表的语义信息已经很丰富了,如果绘图绘制出来,可能会看见代表的是某种形状,颜色,或更高级的更抽
yolov3在目标检测领域可以算得上是state-of-art级别的了,在实时性和准确性上都有很好的保证.yolo也不是一开始就达到了这么好的效果,本身也是经历了不断地演进的. yolov1 测试图片 yolov1有个基本的思想,就是将图片划分为S*S个小格grid,每个grid负责一个目标.上图里的黄色框就是grid.蓝色框就是预测的object.蓝色点是object的中心,位于黄色框内.
目标检测,即在一幅图里框出某个目标位置.有2个任务. 定位出目标的边界框 识别出边界框内的物体的类别 Sliding-window detectors 一种暴力的目标检测方法就是使用滑动窗口,从左到右,从上到下扫描图片,然后用分类器识别窗口中的目标.为了检测出不同的目标,或者同一目标但大小不同,必须使用不同大小,不同宽高比的滑动窗口. 把滑动窗口框出来的图片块resize(因为很多分类器只
yolov3 kmeans yolov3在做boundingbox预测的时候,用到了anchor boxes.这个anchors的含义即最有可能的object的width,height.事先通过聚类得到.比如某一个feature map cell,我想对这个feature map cell预测出一个object,围绕这个feature map cell,可以预测出无数种object的形状,并不是随
最近在做与目标检测模型相关的工作,很多都要求VOC格式的数据集. PASCAL VOC挑战赛 (The PASCAL Visual Object Classes )是一个世界级的计算机视觉挑战赛, PASCAL全称:Pattern Analysis, Statical Modeling and Computational Learning,是一个由欧盟资助的网络组织。很多模型都基于此数据集推出.比
积分
粉丝
勋章
TA还没有专栏噢
第三方账号登入
看不清?点击更换
第三方账号登入
QQ 微博 微信