非线性方程 我们为什么要使用激励函数? 用简单的语句来概括. 就是因为, 现实并没有我们想象的那么美好, 它是残酷多变的. 开个玩笑, 不过激励函数也就是为了解决我们日常生活中 不能用线性方程所概括的问题. 好了,我知道你的问题来了. 什么是线性方程 (linear function)? 我们可以把 Read More
普通数据标准化 Batch Normalization, 批标准化, 和普通的数据标准化类似, 是将分散的数据统一的一种做法, 也是优化 神经网络的一种方法. 具有统一规格的数据, 能让机器学习更容易学习到数据之中的规律. 每层都做标准化 在神经网络中, 数据分布对训练会产生影响. 比如某个神经元 Read More
什么是不均衡数据 不均衡数据的形式很简单. 这里有苹果和梨, 当你发现你手中的数据对你说, 几乎全世界的人都只吃梨, 如果随便抓一个路人甲, 让你猜他吃苹果还是梨, 正常人都会猜测梨. 不均衡的数据预测起来很简单. 永远都猜多的那一方面准没错. 特别是红色多的那一方占了90%. 只需要每一次 预测的 Read More
过于自负 在细说之前, 我们先用实际生活中的一个例子来比喻一下过拟合现象. 说白了, 就是机器学习模型于自信. 已经到了自负的阶段了.那自负的坏处, 大家也知道, 就是在自己的小圈子里表现非凡, 不过在现实的大圈子里却往往处处碰壁. 所以在这个简介里, 我们把自负和过拟合画上等号. 回归分类的过拟合 Read More
怎样加速神经网络的训练过程: 1.SGD 2.Momentum 3.AdaGrad 4.RMSProp 5.Adam 1.Stochastic Gradient Descent (SGD) 所以, 最基础的方法就是 SGD 啦, 想像红色方块是我们要训练的 data, 如果用普通的训练方法, 就需要 Read More
S.join(iterable) S:需要的分隔符 iterable:被分割对象 . 注意括号里必须只能有一个成员,比如 ','.join('a','b') 这种写法是行不通的 实例:'-'.join('abc') 上面代码的含义是“将字符串abc中的每个成员以字符'-'分隔开再拼接成一个字符串”, Read More
两个基本的形态学操作是腐蚀和膨胀。他们的变化构成了开运算,闭运算,梯度等。下面以这张图为例 1.腐蚀 这个操作会把前景物体的边界腐蚀掉。 1 import cv2 2 import numpy as np 3 4 img = cv2.imread('D:/Test/j.png',0) 5 kerne Read More
OpenCV可以用来绘制不同的集合图形,包括直线,矩形,圆,椭圆,多边形以及在图片上添加文字。用到的绘图函数包括 cv2.line(),cv2.circle(),cv2.rectangle() ,cv2.putText() 等等。 这些绘图函数需要设置参数如: • img:你想要绘制图形的那幅图像。 Read More
1. 图像的BGR格式说明 OpenCV中图像读入的数据格式是numpy的ndarray数据格式。是BGR格式,取值范围是[0,255]. 如下图所示,分为三个维度: 第一维度:Height 高度,对应图片的 nRow 行数 第二维度:Width 宽度,对应图片的 nCol 列数 第三维度:Valu Read More
图像的读取,显示与保存 相关函数:cv2.imread()、cv2.imshow()、cv2.imwrite() 1.读入图像: 用cv2.imread()函数来读取图像,cv2.imread(路径,图像颜色空间)(其中颜色空间默认为BGR彩图) cv2.IMREAD_COLOR:读入一副彩色图像 Read More