自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(65)
  • 收藏
  • 关注

原创 经验风险,期望风险,结构风险

在机器学习中,通常会遇到期望风险、经验风险和结构风险这三个概念,一直不知道这三个概念之间的具体区别和联系,今天来梳理一下:要区分这三个概念,首先要引入一个损失函数的概念。损失函数是期望风险、经验风险和结构风险的基础。损失函数是针对单个具体的样本而言的。表示的是模型预测的值与样本真实值之间的差距。比如对于某个样本,其真实的值为Yi,而我们的模型选择决策函数为f,那么通过模型预测的值为f(Xi

2017-07-21 11:26:54 304

原创 resNet50 Vgg16 图像分类

Kera的应用模块Application提供了带有预训练权重的Keras模型,这些模型可以用来进行预测、特征提取和finetune模型的预训练权重将下载到~/.keras/models/并在载入模型时自动载入图片分类模型的示例利用ResNet50网络进行ImageNet分类from keras.applications.resnet50 import ResNe

2017-04-06 22:29:27 5340

原创 numpy+mkl,scipy

win10下使用keras。编译用的Anaconda2.7,里面集成了很多科学计算工具包,numpy, scipy等。但在实际运行中会有报错。解决如下:1.卸载numpy,scipy。如在使用过程中,需退出,再卸载。2.下载numpy_mkl.whl 和 scipy.whl文件(http://www.lfd.uci.edu/~gohlke/pythonlibs/#scipy)

2017-03-17 19:57:14 2298

原创 如何使用网络的bottleneck特征提升准确率

使用预训练网络的bottleneck特征一个稍微讲究一点的办法是,利用在大规模数据集上预训练好的网络。这样的网络在多数的计算机视觉问题上都能取得不错的特征,利用这样的特征可以让我们获得更高的准确率。我们将使用vgg-16网络,该网络在ImageNet数据集上进行训练,这个模型我们之前提到过了。因为ImageNet数据集包含多种“猫”类和多种“狗”类,这个模型已经能够学习与我们这个数

2017-03-16 12:08:00 831

原创 如何使用网络的bottleneck特征提升准确率

使用预训练网络的bottleneck特征一个稍微讲究一点的办法是,利用在大规模数据集上预训练好的网络。这样的网络在多数的计算机视觉问题上都能取得不错的特征,利用这样的特征可以让我们获得更高的准确率。我们将使用vgg-16网络,该网络在ImageNet数据集上进行训练,这个模型我们之前提到过了。因为ImageNet数据集包含多种“猫”类和多种“狗”类,这个模型已经能够学习与我们这个数

2017-03-16 12:05:52 669

原创 ImageNet和CNN可以帮助医学图像的识别吗?

从ImageNet和CNN说起图像的分类和识别一直是计算机视觉的热门研究领域,在医学图像领域,很多方法也都是从计算机视觉领域借鉴过来的,而计算机视觉的许多方法又离不开机器学习和人工智能的基础。在典型的图像分类和识别问题中,通常有两个重要的步骤,一个是特征提取,常见的有GLCM, HOG, LBP, Haar Wavelet, 一个是分类器, 例如SVM, Random Forest

2017-01-04 21:01:42 589

原创 深度学习资料

1, Michael Nielsen写的在线教程 http://neuralnetworksanddeeplearning.com/介绍了神经网络的基本结构,有例子展示为何神经网络可以学习任何函数,为什么传统的深度学习很慢等。还提供了基于Theano的用于MNIST手写数字的识别的例子代码。2, 斯坦福大学的深度学习课程 http://cs231n.github.io/这是

2017-01-04 21:00:40 297

转载 深层学习为何要“Deep”(上)

作者:YJango链接:https://zhuanlan.zhihu.com/p/22888385来源:知乎深层学习开启了人工智能的新时代。不论任何行业都害怕错过这一时代浪潮,因而大批资金和人才争相涌入。但深层学习却以“黑箱”而闻名,不仅调参难,训练难,“新型”网络结构的论文又如雨后春笋般地涌现,使得对所有结构的掌握变成了不现实。我们缺少一个对深层学习合理的认识。本文就是通

2017-01-04 14:11:12 553

原创 PASCAL VOC数据集分析

PASCAL VOC数据集分析PASCAL VOC为图像识别和分类提供了一整套标准化的优秀的数据集,从2005年到2012年每年都会举行一场图像识别challenge。本文主要分析PASCAL VOC数据集中和图像中物体识别相关的内容。在这里采用PASCAL VOC2012作为例子。下载地址为:点击打开链接。(本文中的系统环境为ubuntu14.04)下载完之后解压,可以在

2017-01-01 23:16:06 2957 1

原创 实现自己的卷积神经网络

一、卷积神经网络(CNN)卷积神经网络(ConvolutionalNeural Network,CNN)是人工神经网络的一种。当前已经成为图像和语音识别领域有十分广泛的应用,特别是在识别位移、缩放及其他形式扭曲不变性的二维图形方面有十分优异的表现,已经成为一个十分重要的研究方向。关于CNN的详细解释可以看这里:http://blog.youkuaiyun.com/zouxy09/article

2016-12-30 22:26:08 1517

原创 池化层实现

池化层的推导池化层的输入一般来源于上一个卷积层,主要作用是提供了很强的鲁棒性(例如max-pooling是取一小块区域中的最大值,此时若此区域中的其他值略有变化,或者图像稍有平移,pooling后的结果仍不变),并且减少了参数的数量,防止过拟合现象的发生。池化层一般没有参数,所以反向传播的时候,只需对输入参数求导,不需要进行权值更新。池化层的前向计算

2016-12-30 22:19:52 1513

原创 卷积层的实现

卷积层的推导卷积层的前向计算如下图,卷积层的输入来源于输入层或者pooling层。每一层的多个卷积核大小相同,在这个网络中,我使用的卷积核均为5*5。如图输入为28*28的图像,经过5*5的卷积之后,得到一个(28-5+1)*(28-5+1) = 24*24、的map。卷积层2的每个map是不同卷积核在前一层每个map上进行卷积,并将每个对应位置上的值相

2016-12-30 22:18:47 1060

原创 卷积神经网络CNN

卷积神经网络(CNN)由输入层、卷积层、激活函数、池化层、全连接层组成,即INPUT-CONV-RELU-POOL-FC(1)卷积层:用它来进行特征提取,如下:输入图像是32*32*3,3是它的深度(即R、G、B),卷积层是一个5*5*3的filter(感受野),这里注意:感受野的深度必须和输入图像的深度相同。通过一个filter与输入图像的卷积可以得到一个28*28*1的

2016-12-30 21:56:29 702

原创 CNN中权值共享理解

第一步,针对一个神经元,一幅640*360图像,一个神经元要对应640*360个像素点,即一个神经元对应全局图像,全连接的话一个神经元就有640*360个参数;第二步,然而,图像的空间联系是局部的,就像人是通过一个局部的感受野去感受外界图像一样,每一个神经元都不需要对全局图像做感受,每个神经元只感受局部的图像区域,然后在更高层,将这些不同局部的神经元综合起来就可以得到全局信息。假如每个局部

2016-12-30 21:50:08 601

原创 TCP/IP三次握手与四次挥手过程状态详解

面试经常会被问到TCP/IP的问题,整理如下TCP(Transmission Control Protocol) 传输控制协议三次握手TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接:位码即tcp标志位,有6种标示:SYN(synchronous建立联机) ACK(acknowledgement 确认) PSH(push传送) F

2016-07-28 21:50:08 974

原创 TCP/IP三次握手与四次挥手过程状态详解

TCP(Transmission Control Protocol) 传输控制协议三次握手TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接:位码即tcp标志位,有6种标示:SYN(synchronous建立联机) ACK(acknowledgement 确认) PSH(push传送) FIN(finish结束) RST(reset重置)

2016-07-28 21:46:15 115

转载 Kinect开发教程——OpenNI的安装与开发环境的配置

原文链接:http://blog.youkuaiyun.com/chenxin_130/article/details/6693390关于OpenNI2.X版本的安装与开发环境配置,请参考《Kinect开发教程六:OpenNI2简介、安装与VS开发环境配置》Kinect作为新一代的体感设备,小斤就不多介绍咯,微软日前也发布了相应的官方SDK,用以开发Kinect在PC上的应用。但就目前的情

2016-06-30 10:24:37 877 3

原创 Eclipse下设置github开发环境

1.按照github上的指南配置(http://help.github.com/win-set-up-git/)基础的git环境。2.在github上创建一个Repository。3.在Eclipse中通过“Eclipse Marketplaces”,在Market Places里安装egit。4.在Eclipse中生public key, 并添加到GitHub Rep

2016-01-07 11:44:18 473

原创 图像处理之——膨胀、腐蚀算法详解

原理:在特殊领域运算形式——结构元素(Sturcture Element),在每个像素位置上与二值图像对应的区域进行特定的逻辑运算。运算结构是输出图像的相应像素。运算效果取决于结构元素大小内容以及逻辑运算性质。结构元素:膨胀和腐蚀操作的最基本组成部分,用于测试输出图像,通常要比待处理的图像小还很多。二维平面结构元素由一个数值为0或1的矩阵组成。结构元素的原点指定了图像中需要处理的像素范围,

2015-12-30 16:48:37 30284 7

原创 OpenCV视频写入详解_Python,视频保存0kb问题

问题:为何视频能读出来,而写入代码也没报错,但文件大小为0k,视频好似没有写入成功!原因:cv2.VideoWriter()第二个参数控制视频编码的格式,多数教程上是这样写的videoWriter = cv2.VideoWriter('out.mp4', cv2.cv.CV_FOURCC('M', 'J', 'P', 'G'), fps, size)或videoWriter = c

2015-12-19 21:11:51 3561 2

原创 基于OpenCV的摄像头脸部识别抓取及格式储存(Python)

刚接触OpenCV,参照OpenCV的sample例子做了一个视频头像抓取的小代码,顺便一起学习着用,先上视频抓取及存储代码:# -*- coding: cp936 -*-import cv2 capture=cv2.VideoCapture(0)#将capture保存为motion-jpeg,cv_fourcc为保存格式size = (int(capture.get(

2015-12-19 21:08:35 1857

原创 输入输出流读写文件

import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException;public class TextCopyByBuf {/** * 首先创建读取字符数据流对象关联所要复制

2015-11-18 19:01:22 392

原创 关于接口,总结如下

对于楼主这个问题,我之前也很纠结,感觉很烦躁.不过后来的开发中,我感觉到了接口的作用很棒.我对接口的理解就是拓展,便于拓展.这么来说吧.有一个财务系统,里面有计算员工工资的功能.当然,不同的岗位,不同的职位工资计算肯定不一样.比如说,实习员工肯定就只有一个基本工资,正式员工肯定包含了基本工资+业绩+奖金等等了.后面还有经理什么的等等了.面对这种情况,财务系统可以提供一个接口

2015-11-03 21:47:40 358

原创 Android View触摸屏事件派发机制详解与源码分析

1 背景 最近在简书和微博还有Q群看见很多人说Android自定义控件(View/ViewGroup)如何学习?为啥那么难?其实答案很简单:“基础不牢,地动山摇。” 不扯蛋了,进入正题。就算你不自定义控件,你也必须要了解Android控件的触摸屏事件传递机制(之所以说触摸屏是因为该系列以触摸屏的事件机制分析为主,对于类似TV设备等的物理事件机制的分析雷同但有区别。哈哈,谁让我之前是做Androi

2015-11-03 13:01:19 320

原创 android学习笔记2015-09-18

更新了sdk和adt插件后遇到几个错误,花了半天的时间在网上寻找解决方法,记录如下:一、启动eclipse后新建android project 后在项目文件夹下面会自动生成一个appcompat_v7的文件夹并且报错——“\android\appcompat_v7\res\values-v23\styles_base_text.xml:19: error: Error retrieving p

2015-09-18 13:07:00 326

原创 Android XML解析详解

XML在各种开发中都广泛应用,Android也不例外。作为承载数据的一个重要角色,如何读写XML成为Android开发中一项重要的技能。今天就由我向大家介绍一下在Android平台下几种常见的XML解析和创建的方法。在Android中,常见的XML解析器分别为SAX解析器、DOM解析器和PULL解析器,下面,我将一一向大家详细介绍。SAX解析器:SAX(Simple API

2015-04-17 20:40:23 510

原创 Android调用webservice示例教程

曾经,有一节讲到过:ksoap2读取WebService与Android通讯示例,本节,再接再历,为大伙提供更另一个Android调用webservice示例教程,希望您会喜欢:下载KSOAP包:ksoap2-android-assembly-2.5.2-jar-with-dependencies.jar包然后新建android项目:并把下载的KSOAP包放在android项目的l

2015-04-16 21:14:19 467

原创 详解Windows平台搭建Androiod开发环境

Android开发所需工具1)JDKAndroid应用主要采用Java语言开发,因为必须要安装JDK。开发Android需要安装JDK1.5以上的版本2)Android SDKAndroid SDK是Google提供的Android软件开发包。3)EclipseEclipse是开发Android的首选IDE(集成开发环境),也是Google官方所推荐的,建议使用Eclips

2015-04-16 21:12:43 413

原创 android ListView详解

在android开发中ListView是比较常用的组件,它以列表的形式展示具体内容,并且能够根据数据的长度自适应显示。抽空把对ListView的使用做了整理,并写了个小例子,如下图。 列表的显示需要三个元素:1.ListVeiw 用来展示列表的View。2.适配器 用来把数据映射到ListView上的中介。3.数据    具体的将被映射的字符串,图片,或者基

2015-04-01 08:14:28 188

原创 Android 面试题(答案最全)

1、 Android dvm的进程和Linux的进程, 应用程序的进程是否为同一个概念DVM指dalivk的虚拟机。每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。而每一个DVM都是在Linux 中的一个进程,所以说可以认为是同一个概念。2、sim卡的EF 文件有何作用sim卡的文件系统有自己规范,主要是为了和手机通讯,sim本 身可以有自己

2015-03-30 18:36:20 646

原创 malloc函数详解

一、原型:extern void *malloc(unsigned int num_bytes);头文件:#include 或 #include (注意:alloc.h 与 malloc.h 的内容是完全一致的。)功能:分配长度为num_bytes字节的内存块说明:如果分配成功则返回指向被分配内存的指针,否则返回空指针NULL。当内存不再使用时,应使用free(

2015-03-26 08:41:31 260

原创 strlen和str.length()的区别

两者都是求字符串的长度,但strlen( )的参数必须是char* ;而 str.length( )是string类对象str调用的成员函数,所以它们用在不同的地方;char* ch="asdfsafas";string str="adfadf";cout// coutcout// coutstrlen()的定义基本如下:int strlen( cons

2015-03-14 20:53:15 988

原创 tar命令详解

格式:  tar  选项  文件目录列表功能:  对文件目录进行打包备份选项:-c  建立新的归档文件-r  向归档文件末尾追加文件-x  从归档文件中解出文件-O  将文件解开到标准输出-v  处理过程中输出相关信息-f  对普通文件操作-z  调用gzip来压缩归档文件,与-x联用时调用gzip完成解压缩-Z  调用compress来压缩归档文件,与-x

2014-03-26 14:38:09 343

原创 选择排序算法(java实现)

一、简介:每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完。 选择排序是不稳定的排序方法。排序算法即解决以下问题的算法:输入:n个数的序列。输出:原序列的一个重排;,使得a1*二、思想排序算法有很多,包括插入排序,冒泡排序,堆排序,归并排序,选择排序,计数排序,基数排序,桶排序,快速排序等

2013-12-30 10:47:14 514

原创 android CTS Test

一、解压CTS工具从服务器上下载CTS工具:http://source.android.com/compatibility/downloads.html。二、运行CTS脚本脚本位于android-cts/tools/下,cd进入此目录,然后执行脚本./cts-tradefed 三.执行CTS测试CTS的case位于:Android_Source_Code/c

2013-12-30 09:59:06 433

原创 android uses-permission 配置详解

ACCESS_CHECKIN_PROPERTIES    允许在登入数据库的时候读写其中的属性表,并上传改变的值ACCESS_COARSE_LOCATION    允许应用访问范围(如WIFI)性的定位ACCESS_FINE_LOCATION    允许应用访问精确(如GPS)性的定位ACCESS_LOCATION_EXTRA_COMMANDS    允许应访问额外的提供定位的指令

2013-12-30 09:58:18 352

转载 Android通讯录开发之取得姓名首字母实现简拼搜索

原文2013年12月27日 开发日志目前小巫在实习的公司,负责一个项目的开发,虽说是接手过来的,不过经过前面的几位实习生哥们推敲之后,轮到我的手里,我只能说我很好运,捡到了一个几乎需要重构的项目,我接手开发一个月,已经提交了5、6个测试版本,问题一堆,我改代码改得我想吐。说起这个项目一个重要模块就是通讯录这一块,前面的几个大哥能把通讯录做得那么烂也是他们的本事,我几乎是在重做这一个

2013-12-27 16:58:45 1156

原创 Android汉字转拼音工具类

Android源码中通讯录自带一个将汉字转成拼音的工具类[java] view plaincopyHanziToPinyin.java,分享给有需要的朋友,可能在项目中用得到  代码如下:[java] view plaincopypackage com.android.whether.tools;    /*  * C

2013-12-25 14:19:19 1642

原创 repo的小结

repo只是google用Python脚本写的调用git的一个脚本,主要是用来下载、管理Android项目的软件仓库。1. 下载 repo 的地址: http://android.git.kernel.org/repo ,可以用 wget http://android.git.kernel.org/repo 或者 curl http://android.git.kernel.org/repo

2013-12-23 15:28:32 359

翻译 android widget的中文文档 (自译)

下文是我翻译于 App Widgets的文章,如果有不当之处请大家指出app widget是一种嵌入在其他应用(例如主屏幕)和并且能偶接受间接性更新的小应用,你可以自己提供app widget provider 来在用于界面上定义app widget,包含了app  widget的应用程序组件叫做app widget host.1.基础的工作AppWidgetProvi

2013-12-23 10:52:26 542

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除