- 博客(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关注的人