- 博客(38)
- 资源 (1)
- 收藏
- 关注
原创 机器学习入门回归的数学理解
回归一.主要内容1.回归样本(X,Y) X为特征向量,Y为标签。若Y是连续的则是回归问题(线性回归),若Y是离散的则是分类问题(logistic回归)。回归和分类也是机器学习中的两个大类别。2.线性回归高斯分布最大似然估计最小二乘法的本质3.Logistic回归(二分类)分类问题的首选算法4.多分类(softmax回归)目标函数5.技术点梯度下降...
2019-10-16 14:00:15
483
原创 回归的简单理解
逻辑回归是用来做二分类的,它的误差符合概率的二项分布。线性回归是用来做拟合的,它的误差是符合高斯分布的假定样本独立。然后通过w的似然函数求解,求解出最大似然估计。...
2019-09-24 17:32:03
2640
原创 矩阵的旋转平移投影线性变换的原理
矩阵的投影 旋转和平移都可以通过矩阵乘法得到矩阵投影Y维度是m * 1 A是m *n的矩阵,X维度是n * 1通过Y=A * X可以实现从n维空间的点到m维空间点的线性变换当m=n时,则可实现同维度空间的矩阵旋转和平移旋转将矩阵XAX_AXA旋转角度a到矩阵XBX_BXBM=(cosa−sinasinacosa)M=(\begin{matrix} cosa&...
2019-09-13 19:54:42
1351
原创 SVD奇异值分解源码处理图片
简介用svd将图片转变为多个特征的线性加和源码def restore1(sigma,u,v,k):#奇异值,左特征向量,右特征向量 print k m=len(u) n=len(v[0]) a=np.zeros((m,n)) for k in range(k+1): for i in range(m): a[i]+=sigma[k]*u[i][k]*v[k] b=a.a...
2019-09-11 16:23:24
1016
原创 PCA的理解与公式推导
PCA的理解与公式推导简介pca 又称主成分分析,多用来做降维处理。如在二维坐标中,找一个方向向量Z,将样本数据,投影到方向向量中。原本的(x1,x2)就变成了(y1),(x1,x2)的坐标基是 X1和X2轴,而(y1)的坐标基是寻找的方向向量Z。如何寻找这个方向向量呢?从图中可以看到,我们只需要寻找一个方向向量Z使得样本在Z投影后的距离之和最小(图中蓝色的线段距离之和最小)。则Z就是...
2019-09-10 16:15:36
1815
原创 贝叶斯定理,先验概率,后验概率简单的理解
通俗的讲,先验概率就是事情尚未发生前,我们对该事发生概率的估计,例如全概率公式中P(B)就是先验概率,求解方法有很多种,全概率公式是一种,也可以根据经验等,例如抛一枚硬币头向上的概率为0.5。后验概率则是表示在事情已经发生的条件下,要求该事发生原因是有某个因素引起的可能性的大小。先验概率是在缺乏某个事实的情况下描述一个变量;而后验概率(Probability of outcomes of ...
2019-08-26 16:24:26
1275
原创 决策树和其中划分选择的学习和源码理解
决策树决策树是基于树结构进行决策的,这是人类在面临决策问题时一种很自然的处理机制。以二分类为例,我们希望从给定训练数据集中学得一个模型用于对新的样例进行分类。决策树是一种直观的分而治之的策略决策树包含一个根结点,若干个内部结点和若干个叶结点。叶结点:对应于决策结果其他结点:对应于一个属性测试每个结点包含的样本集合根据属性测试的结果划分到子结点中,根结点包含样本全集,从根结点到每个叶结点...
2019-08-13 16:52:14
210
原创 faster rcnn 原理解读
简介Faster R-CNN 第一步是采用基于分类任务(如,ImageNet)的 CNN 模型作为特征提取器. 听起来是比较简单的,重要的是理解其如何工作和为什么会有效,并可视化中间层,查看其输出形式.网络结构很难说哪种是最好的. Faster R-CNN 最早是采用在 ImageNet 训练的 ZF 和 VGG,其后出现了很多其它权重不同的网络. 如,MobileNet 是一种小型效率高的网...
2019-05-26 23:38:44
1015
原创 caffe 因为opencv版本混淆,报错:id_release/lib/libcaffe.so: cv::imread(cv::String const&, int)未定义’
编译caffe时报错ild_release/lib/libcaffe.so: undefined reference to cv::imread(cv::String const&, int)报错原因:caffe默认使用opencv2.X版本,但是我的机器上安装的是opencv 3.2.0,这个3.2.0,也是默认装的,如果你按照教材,重新装最新的4.0以上的。这里也会出这个问题。这...
2019-05-19 16:20:10
823
原创 mtcnn算法实现基于ncnn版本原码讲解 附源码
mtcnn算法实现基于ncnn版本原码讲解原理PnetRnetOnetLnet其他函数各网络的损失函数原理MTCNN由3个网络结构组成(P-Net,R-Net,O-Net)。Proposal Network (P-Net):该网络结构主要获得了人脸区域的候选窗口和边界框的回归向量。并用该边界框做回归,对候选窗口进行校准,然后通过非极大值抑制(NMS)来合并高度重叠的候选框。Refine N...
2019-05-18 03:01:55
2405
1
原创 MTCNN中 Pnet候选框生成算法
MTCNN中 Pnet候选框生成算法简介在mtcnn算法中的Pnet是为了得到一批人脸框。过程如下针对金字塔中每张图,网络forward计算后都得到了人脸得分以及人脸框回归的结果。人脸分类得分是两个通道的三维矩阵mm2,其实对应在网络输入图片上mm个1212的滑框,结合当前图片在金字塔图片中的缩放scale,可以推算出每个滑框在原始图像中的具体坐标。首先要根据得分进行筛选,得分低于阈值的滑...
2019-05-18 00:21:26
3164
3
原创 目标检测中的候选框的回归修正c++版
简介源码typedef struct FaceInfo { float score;//置信度 int x[2]; int y[2];//框左上和右下的坐标点 float area;//框的面积 float regreCoord[4];//4个坐标的修正信息,返回的是框的比例 int landmark[10];//人脸的5个特征点} FaceI...
2019-05-17 17:56:06
1013
原创 深度学习入门笔记手稿(十二)学习率衰减
学习率衰减加快学习算法的一个办法就是随机慢慢减少学习率在使用mini batch梯度下降算法时,最后会在一点附近摆动,并不会真正收敛,因为学习率为固定值,不同的mini batch中有噪音但是慢慢减少学习率,在初期学习率还比较大,但是随着学习率变小,学习不长也变慢,最后会在最小值一小块区域摆动1.可以将学习率设置为 1/(1+decay_rate*epoch_num)decay_rate...
2019-05-15 12:47:16
213
原创 深度学习入门笔记手稿(十一)Momentum,RMS,Adam梯度下降法
Momentum梯度下降法运行速度快于标准梯度下降算法基本思路: 计算梯度的指数加权平均数,利用该梯度更新你的权重红线为batch梯度下降法的梯度下降情况,同momentum梯度下降法可以让梯度在纵向上更平缓,更直接,因为加权平均指数更平缓如铅笔图上面再两个超参数学习率和加权指数平均的超参数B,后者最常用的值为0.9B控制指数加权平均数,关于偏差修正 Vdw/1-Bt 一般不这么做。...
2019-05-15 12:25:28
940
原创 深度学习入门笔记手稿(九)mini-batch梯度下降
mini-batch梯度下降数据特别大时在,在全部处理完全部数据之前,先让梯度下降处理一部分,算法速度会加快。把训练集分割为小一点的子训练集,这些子集取名为mini batch#一代 只是一次遍历训练集例子 500万数据X=[x(1),x(2),…x(1000)] 【x(1001),…x(2000)】…[…x(m)]X=x{1},x{2}…x{5000}Y=[y(1),y(2)…y(1...
2019-05-15 00:21:03
530
原创 深度学习入门笔记手稿(八)梯度检验
深度学习入门笔记手稿(八)梯度检验梯度检验梯度检验在实施backprop时有一个测试叫做梯度检验。是用来检查梯度是否约等于使用双边误差来逼近的导数。具体过程如下:1.首先不要在训练中使用梯度检验,它只用于调试,为了实施梯度下降,必须使用backprop计算导数。2.如果检验失败,要检查所有项。要确定出问题的导数3在检验时,如果使用了正则化,则导数也一定包含正则项4,梯度检验不能与dr...
2019-05-14 22:41:35
321
原创 深度学习入门笔记手稿(七)梯度消失与梯度爆炸和神经网络权重初始化
梯度消失与梯度爆炸训练神经网络会面临导数或梯度变得非常大,或者非常小,这加大了训练难度,而明智的选择随机初始化权重可避免这一问题。下图是梯度消失和梯度爆炸产生的原因:神经网络的权重初始化针对梯度消失和梯度爆炸的问题z=w1x1+w2x2+…xnwn为了预防z值过大或过小,则n越大则希望wi越小 则设置wi=1/nw[l]=np.random,randn(shape)*np.sqrt...
2019-05-14 22:29:14
442
原创 深度学习入门笔记手稿(六)正则化输入
正则化输入训练神经网络其中一个加速训练方法就是归一化输入假设训练集有两个输入特征x={x1,x2} 是一个二维的归一化输入需两步,第一步零均值化 第二步 归一化方差(对x1方差比x2方差大很多的情况特别有效)具体如图中所示。完成后,的均值和方差分别为0和1.如果用归一化来调整训练数据,再用相同的归一化中的超参数归一化测试集,而不是在训练集和测试集上分别预估归一化中的超参数。归一化中的超...
2019-05-14 21:48:31
314
原创 深度学习入门笔记手稿(五)其他正则化方法
深度学习入门(五)其他正则化方法其他正则化方法机器学习过程步骤其他正则化方法除了L2正则化和随机失活(dropout)正则化,还有几种方法可以减少神经网络中的过拟合.1.假设正在拟合猫咪图片分类器,由于扩增训练数据代价高,有时通过水平翻转图片,这样会让训练集有冗余,效果虽然不如心搜集图片好,但是节省了收集图片的时间成本,还可以通过放大,旋转,裁剪。2。另外一种方法叫做,earlystop...
2019-05-14 21:17:48
279
原创 深度学习入门笔记手稿(四)dropout随机失活
dropout随机失活dropout会遍历网络的每一层,设置消除神经网络中节点的概率每一层保留节点的概率都可单独设置,这样可以得到一个精简的网络。代码实现:d3=np.random.rand(a3.shape[0],a3.shape[1])<keepproba3=np.multply(a3,d3)#a3d3a3/=keepprob #为了不影响下一层的期望值a4=a3w4+b...
2019-05-14 20:51:29
581
原创 深度学习入门笔记手稿(二)偏差与方差
偏差与方差通过判断网络系统中训练集误差和验证集误差来判断情况:图中给出了两种划分方式,线为决策边界。一种欠拟合 高偏差,一种过拟合高方差两种情况。如何判断是高偏差还是高方差,下面给出在一个分类网络系统中出现的4种情况A:训练集误差 1%,验证集误差11%B:训练集误差 15%,验证集误差16%C:训练集误差 15%,验证集误差30%D:训练集误差 0.5%,验证集误差1%A中:训...
2019-05-14 15:45:08
392
原创 深度学习入门笔记手稿(一)数据集的划分
简介神经网络学习的过程,很多人都看成是一个黑箱的过程,对于其中超参数的调试,正则化,以及优化,都理解的不清楚,很多同学都是知道怎样去使用,但是不懂为什么会有那样的效果。通过学习吴恩达老师的课程,我想跟大家分享一下自己对于这里的理解,应该对大家的学习会很有帮助。训练/验证/测试集搭建合理的训练验证集和测试集能加速网络的形成,也更有效的衡量算法偏差和方差。在配置训练,验证,测试数据集过程中做出...
2019-05-14 15:19:01
1820
原创 深度学习入门线性函数拟合前后传播过程
深度学习入门线性函数拟合前后传播过程 C++版本c++源码代码里面包涵了前向传播和反向传播的基本过程,对这一块的理解很有帮助,可以自己设置样本,通过观察成本,调整学习率和迭代次数。#include <iostream>using namespace std;//y=3x+2//a学习率,dw db为梯度,int x[10]={0,1,2,3,4,5,6,7,8,9};i...
2019-05-12 17:41:04
467
原创 android 无线蓝牙模块自定义
android 无线蓝牙模块自定义蓝牙板块初始化蓝牙板块初始化public class showDatasMapActivity extends GosBaseActivity { private MapView mMapView; private BaiduMap mBaiduMap; ImageView requestLocButton; private S...
2019-05-09 14:50:19
759
原创 双系统win10和ubuntu18.04安装遇到的问题及解决方法
双系统win10和ubuntu18.04安装遇到的问题及解决方法问题描述和解决方法ubuntu18.04分区ubuntu——grub修复1 boot-repair修复2 命令配置3 小结windows-----EasyUEFI&Easybcd问题描述和解决方法大家都安装过双系统了,但是通常会遇到很多问题吧,有时候装了ubuntu后,就进不了win10了,启动的引导项就没了。一般的修复方...
2019-05-07 16:56:29
2517
原创 外部c++工程和python调用caffe 接口遇到的几个问题及解决办法
外部c++工程和python调用caffe 接口遇到的几个问题及解决办法缺少caffe.pb.h和caffe.pb.ccCUDA_cublas_device_LIBRARY问题流程python调用caffe缺少caffe.pb.h和caffe.pb.cc进入路径/home/jesse/caffe/src/caffe/proto 用caffe.proto生成caffe.pb.h和caffe.pb...
2019-04-24 17:24:07
345
原创 【用java进行百度地图二次开发之一】任意角度画扇形,添加覆盖层
【用java进行百度地图二次开发之一】任意角度画扇形,添加覆盖层给定方向和角度。以该方向为扇形中心,2倍的角度为扇形的角度。代码中每一步的注释很清楚思想很简单,具体实现如下: //绘出扇形 List<Polygon>Polygonlist=new ArrayList<>(); //以画多边形区域的方法画扇形区域 画出以point2点为圆心,半径为radi...
2019-04-17 11:11:46
785
原创 【CNN从零开始系列之三】网络的训练
【CNN从零开始系列之三】网络的训练训练模型项目demo训练模型前面一章中已经定义好了网络模型,我们就用定义好的模型和数据集开始训练。具体实现如下:avg_loss = -1base_lr = 0.01for i in range(10000): learning_rate = base_lr * (1 + 0.0001 * i) ** (-0.75) if i % 10...
2019-04-17 01:31:43
594
原创 【CNN从零开始系列之二】网络的搭建
【CNN从零开始系列之二】网络的搭建初始化网络结构卷积层池化层扁平化激活函数初始化网络结构前面一篇文章讲解了数据集的准备,其实它也是网络的第一层输入层,主要是将数据格式转化为下一层网络可处理的形式。我们先看看整体网络结构,定义如下:conv1 = Convolution(data, kernel_size = 5, num_output = 20)#卷积层pool1 = Max_pooli...
2019-04-17 01:29:10
688
原创 【CNN从零开始系列之一】Mnist手写字体识别底层实现
【CNN从零开始系列之一】Mnist手写字体识别底层实现源码简介读取数据网络的初始化训练源码demo简介Mnist是深度学习界的"Hello World! ",是深度学习中很好的入门范例,Mnist数据集主要是由手写数字的图片和标签组成,图片一共有10类,由0-9组成。本文会以Mnist数据库为基础,通过卷积神经网络(cnn)建立一个手写字体识别模型。在过程中能帮助大家更好的学习理解cnn...
2019-04-17 01:25:25
1025
1
原创 简单的asp.net模拟邮箱系统基础实现(二 (4)具体版块功能的实现及关键代码之收件和写信)
写信界面@ Page Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="SendPage.aspx.cs" Inherits="email.SendPage" %> asp:Content ID="Content1" ContentPlaceHolderID="Conte
2017-03-08 14:04:34
1037
原创 简单的asp.net模拟邮箱系统基础实现(二 (3)具体版块功能的实现及关键代码之母版页和写信界面)
母版页@ Master Language="C#" AutoEventWireup="true" CodeBehind="Site.master.cs" Inherits="email.SiteMaster" %> DOCTYPE html> html xmlns="http://www.w3.org/1999/xhtml">head runat="server">me
2017-03-08 13:36:43
1604
原创 简单的asp.net模拟邮箱系统基础实现(二 (2)具体版块功能的实现及关键代码之登陆页面)
登陆界面: 前台代码比较简单就不贴了 c# 要要引入using System.Data.SqlClient;using System.Data; namespace email{ public partial class LoginPage : System.Web.UI.Page { protected void
2017-03-08 13:18:37
623
原创 简单的asp.net模拟邮箱系统基础实现(二 (1)具体版块功能的实现及关键代码之注册页面)
注册页面: body style="background:url(image/back.jpg)"> form id="form1" runat="server"> h1 style="color:red">请输入个人详细信息h1> asp:Label ID="image" runat="server" Visible="false" Fore
2017-03-08 12:35:04
1266
原创 简单的asp.net模拟邮箱系统基础实现(一 总体功能版块的设计,与简单数据库的设计)
一、设计内容用ASP.NET技术开发一个模拟邮件系统,界面自定,要求具有如下功能:1、 首用户能够注册2、 用户登录后l 查看用户注册信息l 可以发信给其它用户l 查看来信,对来信进行回复可增加的功能:邮件文件夹分类(收件箱、发件箱等),将邮件分类存放 (本篇利用Jmail组件实现关键功能,请先下载Jmail,并添加到项目引用之中)二、系统总体设计注册页面的
2017-03-08 00:22:27
2474
opencv依赖包protobuf-cpp-3.1.0_Vgg_genAnd_ippicvAndbosst.zip
2019-10-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人