自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

shiqi,bao的博客

关注算法,软件

  • 博客(215)
  • 资源 (1)
  • 收藏
  • 关注

转载 conda bad interpreter 问题解决

由于CentOS自带python,使用yum只会把mysqldb安装在系统默认的python环境中,修改yum中的python路径yum又会报错,下载源码编辑又会各种报错,后来终于找到一个简单安装方法,记载如下:使用anaconda自带conda命令安装: /opt/anaconda/bin/conda install mysql-python注:本人用以上命令安装时曾遇到以下报错, ...

2018-02-28 20:03:16 4860 1

翻译 core ml 文档说明

Apple原文链接Core ML集成机器学习模型到你的app里面概述结合Core ML, 你可以集成训练机器学习模型到你的app里面. 训练模型是将机器学习算法应用于一组训练数据的结果. 该模型基于新的输入数据进行预测. 例如, 根据某个地区的历史房价进行训练的模型, 可能能够在给予卧室和浴室的数量时预测房子的价格.Core ML是特定领域的基础框架和功能库. Core ML支持视觉图像分析, 基

2017-12-04 16:38:05 500

转载 Python yield 使用浅析

转载:https://www.ibm.com/developerworks/cn/opensource/os-cn-python-yield/您可能听说过,带有 yield 的函数在 Python 中被称之为 generator(生成器),何谓 generator ? 我们先抛开 generator,以一个常见的编程题目来展示 yield 的概念。 如何生成斐波那契數列 斐波那契(Fibona

2017-11-12 20:33:47 318

转载 c++转换static_cast 和 reinterpret_cast

转自http://blog.csdn.net/querw/article/details/7387594>作者: 阙荣文([email protected])C/C++是强类型语言,不同类型之间的相互转换是比较麻烦的.但是在编程实践中,不可避免的要用到类型转换.有2中类型转换:隐式类型转换和强制类型转换.1.隐式类型转换1.1 提升精度,此种是编译器自动完成的,安全的.所以编译的时

2017-08-24 21:11:32 797

原创 vim 自动补全功能

必备插件ctagsOmniCppCompletectags安装: jumbo 直接安装在project根目录产生tags ctags -R –c++-kinds=+p –fields=+iaS –extra=+q .tags用于函数和变量的定位查找OmniCppComplete安装 将下载到的文件解压到 Vim 安装目录: /home/username/.vimautolo

2017-08-23 16:54:53 820

原创 c++ 加锁和原子对比

记录访问10w次时,100个用户需要的耗时 1. 多线程不加锁访问#include <boost/thread/thread.hpp>#include <iostream>#include <time.h>using namespace std;//全局统计结果long total = 0;//点击10w次int count_num = 100000;//点击函数,对全局数据进行无锁

2017-08-15 17:22:39 2953

原创 mac下安装boost

1、安装MacPort https://www.macports.org/2、安装好后,打开终端 $sudo port install boost3、编译使用boost的cpp g++ -I /opt/local/include -L /opt/local/lib -lboost_system-mt -lboost_thread-mt

2017-08-15 16:35:38 355

原创 延迟补偿的异步随机梯度下降(ASGD with DC)

摘要随着深度学习快速发展,目前普遍使用大数据训练庞大神经网络。因为效率高,ASGD广泛使用,但是有梯度延迟的缺陷。这是因为当一个本地worker将梯度push到全局模型中时,可能这个全局模型已经被其他worker将梯度更新过了,这样本地worker push的梯度就是延迟的。因此本文提出补偿延迟的一个新技术,为了使ASGD更接近于SGD的优化效果。这是利用梯度函数的泰勒展开来有效逼近损耗函数的Hes

2017-07-18 20:46:12 10038 7

原创 卷积神经网络教程

在图像处理中,往往把图像表示为像素的向量,比如一个1000×1000的图像,可以表示为一个1000000的向量。在上一节中提到的神经网络中,如果隐含层数目与输入层一样,即也是1000000时,那么输入层到隐含层的参数数据为1000000×1000000=10^12,这样就太多了,基本没法训练。局部感知卷积神经网络有两种神器可以降低参数数目,第一种神器叫做局部感知野。一般认为人对外界的认知是从局部到全

2017-07-15 22:33:06 551

原创 DNN基础教程

一、原理前向传播: http://ufldl.stanford.edu/wiki/index.php/%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C 反向传播: http://blog.csdn.net/han_xiaoyang/article/details/50321873二、Python实现使用mn

2017-07-15 01:14:04 2865

原创 pycaffe预测非图片数据分类

1、 准备工作一. deploy.prototxt文件修改于train.prototxt,主要为3部分:(1) data层 修改为input层layer { name: "data" type: "Input" top: "data" input_param { shape: { dim: 1 dim: 7 dim: 1 dim: 1 } }(2)删掉layer 中关于weight和

2017-06-28 14:06:07 768

原创 caffe 迁移

在一个配置好pycaffe的服务器上,将caffe迁移到线上服务器的步骤保存动态共享库for i in `ldd ./build/tools/caffe.bin | grep -v "linux-vdso.so.1" | grep -v "openmpi" | awk -F '=>' '{print $2}' | awk -F ' ' '{print $1}'`; do echo $i; cp $i

2017-06-21 16:45:13 691

转载 caffe-python接口图片分类demo

文章转载自: http://wentaoma.com/2016/08/10/caffe-python-common-api-reference/图片分类加载Model数据net = caffe.Net( deploy_prototxt_path, # 用于分类的网络定义文件路径 caffe_model_path, # 训练好模型路径

2017-06-19 11:12:07 509

转载 Caffe-Python接口常用API参考

caffe python api

2017-06-16 17:56:18 449

原创 pycaffe 安装常见问题

lib中python是ucs2编译的,所以需要本地系统python也是ucs2才兼容,可以通过import sys if sys.maxunicode > 65535: print ‘UCS4 build’ else: print ‘UCS2 build’ 安装pthon的时候指定./configure –enable-unicode=ucs2pyconfig.h 找不到 find /

2017-06-16 13:26:01 3363

原创 caffe 通过model zoo 使用训练好的模型 finetune

caffe model zoo许多研究人员和工程师已经将Caffe模型用于各种架构和数据的不同任务: 这些模型被学习并应用于从简单回归到大规模视觉分类,到图像相似性的暹罗网络,语音和机器人应用的问题。 * 用于包装Caffe模型信息的标准格式。 * 从Github Gists上传/下载模型信息的工具,并下载受过训练的.caffemodel二进制文件。 * 用于分享模型信息的中心wiki页面Gi

2017-05-25 15:59:14 6020

转载 svd 理解

看了不少论文,总结起来用SVD做推荐主要有两种不同的方式。1 本质上是memory-based,只不过先用SVD对user-item的评分矩阵做降维,得到降维后的user特征和item特征,可以分别做userbased的协同过滤和itembased的协同过滤。2  本质上是model-based,跟传统数学意义的SVD没有太大关系,只不过借鉴了SVD分解R=U*S*V这个形式,通过最优化方

2017-05-05 11:47:41 984

转载 GDB调试加载执行程序后,提示 “not in executable format”

gdb调试注意用file查看下文件是不是可执行文件,而不是脚本GDB调试加载执行程序后,提示 “not in executable format”gdb const出现下面的提示信息:GNU gdb Red Hat Linux (5.5)Copyright 2008 Free Software Foundation, Inc.GDB is free software, covered by the

2017-05-03 19:28:28 22032 1

原创 tf 原理二

计算图反复执行多次,tensor不会持续保留,只是在计算图中过一遍。 variable是一类特殊的运算操作,可以将需要保留的tensor存储在内存或显存中,如weight实现原理tf的client通过session的接口与master和多个worker相连。其中每一个worker可以与多个硬件设备(device)相连,比如cpu和gpu,并负责管理这些硬件。而master则负责指导所有worker

2017-05-02 21:53:07 595

翻译 因式分解结合最近邻:多层面的协同过滤模型

摘要推荐系统为用户提供个性化的产品和服务。这些系统大部分都使用协同过滤,通过分析过去行为以建立用户和产品之间的联系。CF的2个比较成功的方法,其一是隐语义模型LFM,它直接描述用户和产品;另一是近邻模型,它分析用户或产品之间的相似度。在本文中,为这两种方法引入一些创新。因子模型和近邻模型可以顺利的融合,因此可以得到一个更准确的组合模型。通过扩展模型以利用用户的显式和隐式反馈来实现进一步的精度改进。本

2017-04-26 11:16:21 396

转载 tensorflow padding 解读

SAME means that the output feature map has the same spatial dimensions as the input feature map. Zero padding is introduced to make the shapes match as needed, equally on every side of the input map

2017-04-21 13:23:36 688

原创 tf-使用cnn深入mnist

实现高效运算为了用python 实现高效的数值运算,常常会使用如numpy类的函数库,会把类似矩阵乘法这样的复杂运算使用其他外部语言来实现。但从外部计算切回Python的每一个操作,仍然是一个很大的开销。tf为了避免这些开销,故不单独的运行单一的复杂运算,而是先用图来描述一系列计算操作,然后全部放在一起到外部运行。交叉熵mnist训练使用交叉熵表示成本(cost),定义为: Hytest(y)=−

2017-04-20 21:47:41 813

转载 收藏好文章

http://blog.csdn.net/mzpmzk/article/details/51488494转载于:http://blog.csdn.NET/jiangping_zhu/article/details/18044109作者:包心菜加糯米饭1、找到要转载的文章,用chrome浏览器打开,右键选择审查元素2、在chrome中下方的框里找到对应的内容,html脚本

2017-04-20 14:33:05 243

转载 dbscan算法以及其基于grid建立索引的改进方法

1. 什么是DBSCAN?DBSCAN全称Density-based spatial clustering of applications with noise,即带噪声的基于密度的空间聚类。主要思想就是把空间中密度较大,每个点之间有多个邻近点的部分聚为一类,而把密度较低的部分作为离群值(outlier)对待。1.1 几个概念DBSCAN需要设置两个参数,minPts和ϵ,这两个参数主

2017-04-20 14:19:01 2241 1

原创 tf基础操作

基本使用图(graph)表示计算任务会话(session)中执行图张量(tensor) 表示数据变量(variable)维护状态feed和fetch 为任意操作赋值或者获取值综述在tf中,图表示计算任务。图中节点被称为operation(简称op)。op接受tensor,执行计算,产生tensor。tensor是多维数组。 为了进行计算,图必须在会话里被启动。会话将图的op分发到cpu

2017-04-19 19:37:08 2141

原创 svm-支持向量机

目标函数推导点到超平面的距离公式: |ωTx+b|||ω||\frac {|\omega^Tx+b|} {|| \omega ||} 在分类过程中,f(x)=ωTx+bf(x) = \omega^Tx+b 预测出的符号应与类标记yy一致。故y(ωTx+b)y(\omega^Tx+b)的正负性可以表示分类的正确性。 函数间隔: Υ=yf(x)\Upsilon=y {f(x)} 几何间隔:

2017-04-17 14:25:32 460

转载 次梯度

次导数设f在实数域上是一个凸函数,定义在数轴上的开区间内。这种函数不一定是处处可导的,例如绝对值函数f(x)=|x|f(x) = |x| 。对于下图来说,对于定义域中的任何x0,我们总可以作出一条直线,它通过点(x0, f(x0)),并且要么接触f的图像,要么在它的下方。直线的斜率称为函数的次导数。次导数的集合称为函数f在x0处的次微分。定义对于所有x,我们可以证明在点x0x_0 的次导数的集合是一

2017-04-11 11:35:53 11381

翻译 svm随机次梯度下降算法-pegasos

基本思想使用随机梯度下降直接解SVM的原始问题。摘要本文研究和分析了基于随机梯度下降的SVM优化算法,简单且高效。(Ο是渐进上界,Ω是渐进下界)本文证明为获得一定准确率精度ϵ \epsilon所需的迭代次数满足O(1ϵ)O{(\frac1 \epsilon)},且每一次迭代都只使用一个训练样本。相比之下,以前分析的SVM随机梯度下降次数满足Ω(1ϵ2)\Omega{(\frac {1} {\epsi

2017-04-10 21:22:45 20751 4

原创 OC-SVM在ddos攻击中的应用

基于单类支持向量机的ddos检测应用层摘要分布式ddos攻击利用网络协议和服务的复杂性和多样性来进行攻击。这类攻击相比于其他ddos攻击更加难以防止。单类支持向量机只需要正例样本进行训练,适用于异常点检测场景。在这种检测策略下,从正常用户的session中先抽取7个特征,然后用OC SVM训练模型,最后用模型预测。通过仿真实现展示检测方法的数据结果。引言提出OC主要是解决不平衡分类问题,目的是找到包

2017-04-05 21:20:06 884

原创 判断子串

题目: 判断字符串s是否为字符串t的子串,子串的定义是从t中按顺序的抽出字符,”ace是”abcde”子串,但是 “aec” 不是。Example 1: s = “abc”, t = “ahbgdc”Return true.Example 2: s = “axc”, t = “ahbgdc”Return false.算法: 在t中遍历,如果当前是s中的字符,那么s游标向前,如果不是s游标不动

2016-09-12 10:36:27 501

原创 数字组合-dp

题目: 给定数组,找到所有加起来等于给定值得所有组合个数Example:nums = [1, 2, 3] target = 4The possible combination ways are: (1, 1, 1, 1) (1, 1, 2) (1, 2, 1) (1, 3) (2, 1, 1) (2, 2) (3, 1)Note that different sequences a

2016-09-12 10:20:40 615

原创 第k个数

题目描述有一些数的素因子只有3、5、7,请设计一个算法,找出其中的第k个数。 给定一个数int k,请返回第k个数。保证k小于等于100。 测试样例:算法: 使用3个队列分别保存着3的倍数,5的倍数,7的倍数。每次循环找到当前队头即最小值,这个值就是第n个所求数。 这个值出自哪个队列x,说明现在3个队列内的所有数的最小数是x的倍数,那么需要将所有队头继续扩大x倍,因为x倍的数最小了key:3

2016-08-07 12:19:13 299

原创 碰撞的蚂蚁

题目描述在n个顶点的多边形上有n只蚂蚁,这些蚂蚁同时开始沿着多边形的边爬行,请求出这些蚂蚁相撞的概率。(这里的相撞是指存在任意两只蚂蚁会相撞) 给定一个int n(3<=n<=10000),代表n边形和n只蚂蚁,请返回一个double,为相撞的概率。思路:每个蚂蚁爬行的方向都有两个,即围绕多边形顺时针爬和逆时针爬,因此n个蚂蚁爬行的方法有2^n种。 只有当所有的蚂蚁按照同一个方向爬行才能保证所有

2016-08-07 00:05:44 383

原创 二进制小数

十进制小数转其他进制小数:二进制对十进制小数乘2得到的整数部分和小数部分,整数部分既是相应的二进制数码,再用2乘小数部分(之前乘后得到新的小数部分),又得到整数和小数部分. 如此不断重复,直到小数部分为0或达到精度要求为止.第一次所得到为最高位,最后一次得到为最低位 如:0.25的二进制 0.25*2=0.5 取整是0 0.5*2=1.0 取整是1 即0.25的二进制为 0.01 (

2016-08-06 21:04:36 1065

原创 最近公共祖先

题目描述有一棵无穷大的满二叉树,其结点按根结点一层一层地从左往右依次编号,根结点编号为1。现在有两个结点a,b。请设计一个算法,求出a和b点的最近公共祖先的编号。 给定两个int a,b。为给定结点的编号。请返回a和b的最近公共祖先的编号。注意这里结点本身也可认为是其祖先。 测试样例: 2,3 返回:1算法: 因为是满二叉树,所以下标有规律可循:哪一个分支大,哪一个除2向上找父节点,直到相

2016-08-06 11:58:57 224

原创 输出树单层结点

题目描述对于一棵二叉树,请设计一个算法,创建含有某一深度上所有结点的链表。 给定二叉树的根结点指针TreeNode* root,以及链表上结点的深度,请返回一个链表ListNode,代表该深度上所有结点的值,请按树上从左往右的顺序链接,保证深度不超过树的高度,树上结点的值为非负整数且不超过100000。class TreeLevel {public: ListNode* getTreeL

2016-08-06 10:25:58 228

原创 有向路径检查

题目描述对于一个有向图,请实现一个算法,找出两点之间是否存在一条路径。 给定图中的两个结点的指针UndirectedGraphNode* a,UndirectedGraphNode* b,请返回一个bool,代表两点之间是否存在一条路径(a到b或b到a)。算法: 广度优先遍历。因为是有向图,所以以a开头遍历一次,以b开头遍历一次。 遍历的过程中如果找到了另一个结点,说明有路径,如果遍历结束后扔

2016-08-06 00:00:35 353

原创 判断字符串是不是一个字符串的翻转

算法: 1、翻转字符串:首尾指针交换 2、部分翻转:两部分分别翻转,再整体翻转。共翻转三次得到部分翻转 3、本题就是找每一个位置进行部分翻转,检查是否是另一字符串的翻转。class ReverseEqual {public: string reverse(string str){ if(str == "") return str;

2016-08-05 11:46:12 453

原创 BST判断

算法:中序遍历树,如果是严格升序的序列,则是,否则不是BSTclass Solution {public: bool flag = true; bool isValidBST(TreeNode *root) { if(root == NULL) return true; long pre = LONG_MIN;

2016-08-04 16:19:39 434

原创 Insert Delete GetRandom O(1)

Design a data structure that supports all following operations in O(1) time.insert(val): Inserts an item val to the set if not already present. remove(val): Removes an item val from the set if present

2016-08-04 11:52:09 1183 4

minst手写识别数据集

可与我的博客CNN 学习笔记1 对照看

2016-07-10

空空如也

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

TA关注的人

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