自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(138)
  • 资源 (10)
  • 收藏
  • 关注

原创 浏览器页面后退,重新运行ajax

问题描述:在浏览器页面后退时,也就是说你点击链接到一个页面,然后又点击后退按钮回到刚才的页面,结果发现jQuery的ajax GET请求不再执行了???解决方法:禁用ajax缓存: $.ajaxSetup({ cache: false });吐槽:为了解决这个问题在网上翻了一个小时,几乎所有答案都是废话连篇。终于在https://stackoverflow.com/questions/1150810

2017-09-08 20:54:21 1125

原创 python生成灰度图

from PIL import Imageimport numpy as npimport matplotlib.pyplot as pltimg = Image.open('lena.jpg')img = np.array(img)if img.ndim == 3: img = img[:,:,0]plt.imshow(img, cmap = plt.cm.gray_r)plt.

2017-09-05 13:43:44 13707 1

原创 DBSCAN聚类算法原理

概念 ϵ\epsilon邻域: 给定点的ϵ\epsilon为半径的区域核心点(core points): 如果点pp的ϵ\epsilon邻域内的点数大于minPtsminPts,那么pp是核心点直接可达(directly reachable): 核心点pp到其ϵ\epsilon邻域内的所有点是直接可达的。(注意必须是pp必须是核心点)可达(reachable): 如果存在一条路径p1=p

2017-08-02 16:26:24 990

原创 [读书笔记]How the backpropagation algorithm works(未完待续)

前一段时间看了 Michael Nielsen写的文章,我觉得是目前看到讲神经网络后向传播算法讲的最好的一篇文章了。下面提其精要:符号 wljkw^l_{jk}: the weight for the connection from the kthk^{th} neuron in the (l−1)th(l-1)^{th} layer to the jthj^{th} neuron in the

2017-07-15 22:25:30 477

原创 Appium和Genymotion的adb错误

问题: 利用python调用appium去操作genymotion时,报出以下错误:> error: Failed to start an Appium session, err was: Error: Command failed: C:\Windows\system32\cmd.exe /s /c "C:\Android\sdk\platform-tools\adb.exe -s adb se

2017-05-02 11:42:17 1072

原创 对拉格朗日乘数法的直观认识

高数里面我们学过,带等式约束的最优化问题可以用拉格朗日乘数法解决。最近看到一些文章,还是觉得把这个记下来,防止忘记。 【例子】 问题描述:求双曲线xy=3上离远点最近的点。 这个问题是一个带等式约束的最优化问题: minx2+y2s.t.xy=3\min x^2+y^2 \quad s.t.\quad xy=3 直观解释:把我们将x2+y2=cx^2+y^2=c的曲线族画出来,如下图所示

2017-04-19 12:30:57 2856

原创 win7下Qt安装调试器

问题: win7下使用Qt无法调试,一按调试按钮会出现“no engine”之类的错误,这是因为没有指定调试器。解决方法: 1. 打开网址:https://developer.microsoft.com/en-us/windows/hardware/windows-driver-kit 2. 选择Get (WinDbg) as part of Windows 8.1 SDK 3. 下载得到

2017-04-18 10:57:20 2392

原创 windows下C++的中文块注释问题

Windows下写C++代码,有的人可能会这样注释:/*这是一个注释*/void func(){}但这种注释方法可能会引起代码的编译或链接问题,提示无法识别外部符号void _cdelc func之类的错误。也就是这个注释使func没编译成功。 所以,最好还是改成行注释://这是一个注释void func(){}

2017-04-07 18:37:14 1544 1

原创 libcurl进行HTTP GET获取解析JSON数据

功能 在Mac下,利用libcurl库进行HTTP GET操作,循环获取json数据并解析。依赖库boostlibcurl代码#include <curl/curl.h>#include <curl/easy.h>#include <curl/curlbuild.h>#include <sstream>#include <iostream>#include <boost/pro

2017-03-30 15:29:43 14318 2

原创 tkinter和matplotlib在mac下的一个问题

问题 在mac python中,将matplotlib嵌入Tkinter时出现以下错误:2017-03-29 11:14:18.906 Python[1941:43135] -[NSApplication _setup:]: unrecognized selector sent to instance 0x7faf72b25e202017-03-29 11:14:18.906 Python[1

2017-03-29 11:19:19 3154 4

原创 Linux如何查找动态库(编译、运行)

Linux GCC编译、链接生成可执行文件时,动态库的搜索路径顺序如下(注意不会递归性地在其子目录下搜索):(1) gcc编译、链接命令中的-L选项;(2) gcc的环境变量的LIBRARY_PATH(多个路径用冒号分割);(3) gcc默认动态库目录:/lib:/usr/lib:usr/lib64:/usr/local/lib。链接生成二进制可执行文件后,在运行程序加载动态库文件时,搜索的

2017-03-24 14:00:01 2414

原创 主成分分析PCA

PCA的目的 PCA(Principal Component Analysis)将原始数据降维成另一组数据。转换后的数据有两个要求: ① 同组数据间尽可能发散(方差越大越好) ② 各维数据间尽可能线性无关(协方差越小越好)PCA的原理 首先我们假设原始数据X为m组2维: X=(a1b1a2b2......ambm)X=\begin{pmatrix} a_1& a_2 & ... &

2017-03-05 16:37:31 464

原创 Max下发布Qt程序

1.Qt新建Qt Widgets Application工程,最后生成的可执行文件时xxx.app。它其实是一个普通目录,只是会被Mac特殊对待。可执行文件就是这个目录内部。2.生成的xxx.app往往依赖于很多动态库,但是xxx.app里面又没有这些动态库。所以如果把xxx.app放到别人的电脑上就可以运行不了。为了方便拷贝和移动,我们可以借助Qt的一个工具实现应用程序的发布。3.macdeplo

2017-02-24 14:25:46 633

原创 Mac下动态库的install_name

1.什么是install_name? 每个动态库(dylib)都有一个install_name,可以认为是动态库初次安装时的默认路径,这个install_name保存在dylib文件中。 举例: 比如一个系统动态库:libSystem.B.dylib。利用otool可以查看install_name。$ cd /usr/lib$ otool -D libSystem.B.dylib# 输出为

2017-02-24 14:13:43 5322

原创 Mac下静态库和动态库的创建和使用

1.演示代码add.cppint add(int a, int b){ return a + b;}main.cpp#include<stdio.h>int add(int a, int b);int main(){ printf("%d\n", add(1,2)); return 0;}2.静态库$ gcc -c -o add.o add.cpp$ ar -r

2017-02-21 17:59:47 10527 4

原创 Mac下使用PrimeSense Carmine

1.安装openni-2 1.1下载openni-2(百度云) 2.1解压OpenNI-MacOSX-x64-2.2.0.33.tar.bz2到/example/openni2/2.安装libfreenect$ brew install libfreenect$ git clone https://github.com/OpenKinect/libfreenect$ cd l

2017-02-21 14:31:39 1475

原创 SVM目标函数的由来

SVM分类的原理就是找到一个超平面(假设数据是线性可分的),这个超平面满足两个要求: 1. 所有数据点完美分成两类 2. 所有数据点离超平面距离越远越好为了量化以上要求,我们先定义一些概念: feature:xx class:y=+1 or y=−1y=+1 or y = -1 function margin: γ̂ =y(wTx+b)\hat\gamma=y(w^Tx+b) geome

2017-02-07 16:17:33 3643

原创 L1和L2范数正则化

L0范数表示向量中非零元素的个数[2]^{[2]} ∥x∥0=#i,wherexi≠0\left\|\mathbf{x} \right\|_0=\#i, where x_i \neq0 L1范数表示向量中所有元素的绝对值和 ∥x∥1=∑ni=1∣∣xi∣∣\left\|\mathbf{x} \right\|_1=\sum_{i=1}^n\left|x_i\right| L2范数表示欧氏距离

2017-01-23 10:54:12 4482

原创 SVM的另一种理解

SVM是一个带约束的最优化问题,目标函数是 min12∥w∥2s.t.yi(wTxi+b)≥1,i=1,2,...min\frac{1}{2} \left\|w \right\|^2 s.t. y_i(w^Tx_i+b)\ge1, i=1, 2,... 从上述式子的意义: 1. 求∥w∥ \left\|w \right\|最小值 2. 同时对于所有的xix_i满足yi(wTxi+b)≥1

2017-01-19 16:33:28 353

原创 BackPropagation Through Time

RNN可以unfold成普通的前馈神经网络,所以可用神经网络的训练方法可以套用。To be continued…参考:http://www.cs.bham.ac.uk/~jxb/INC/l12.pdf

2017-01-18 11:21:35 1983

原创 马科夫决策过程(Markov Decision Process,MDP)

一个MDP模型包含:状态集合SS行为结合AA奖励函数R(s,a)R(s,a)状态转移矩阵TT 确定性转移S×A→SS\times A\rightarrow S概率性转移S×A→Prob(S)S\times A\rightarrow Prob(S)行为策略π\pi: S→AS\rightarrow A 在状态ss下的应采取的最佳行为aa:a=π(s)a=\pi(s)评价策略π\pi的

2017-01-12 15:02:09 2948

原创 [读书笔记]后向传播算法原理

后向传播算法原理 kk:输入层神经元个数索引 jj:隐藏层神经元个数索引 ii:输出层神经元个数索引 ζ\zeta:训练样本个数索引 从这段截取的三层网络中,我们推导出后向传播算法的一般规律。 首先,总的误差为: E=12∑ζ,i(dζi,oζi)2E=\frac{1}{2}\sum_{\zeta, i}(d_i^\zeta, o_i^\zeta)^2dζid_i^\zeta

2017-01-12 14:06:36 1166

原创 python装饰器的一些理解

1.假设我们已经有了一个函数,功能很简单:打印两数之和def add(i, j): print i + j2.现在我们想在打印和之前,先输出时间,怎么办办法1:更改add函数,添加时间输出语句办法2:不需更改add函数,而是使用装饰器显然办法2更加优雅,更加pythonic~3.那装饰器怎么用呢,答案如下:def time_decorator(func)

2016-12-27 12:03:23 333

原创 sigmoid和tanh求导的特殊技巧

1. sigmoid函数:f(z) = 1 / (1 + exp( − z))导数:f'(z) = f(z)(1 − f(z))2.tanh函数:f(z) = tanh(z)导数:f'(z) = 1 − (f(z))2

2016-12-22 10:50:10 43469

原创 python的模块和包机制:import和from..import..

写python一段时间了,但是对import和from import却没有深刻的认识。借由官方文档https://docs.python.org/2/tutorial/modules.html,和stackoverflow上的回答对这两个导入语句有了一些了解。一. 两个概念:1.moduleA module is a file containing Python definitions

2016-12-21 17:23:55 13311 1

原创 R2

R2经常被用来衡量回归效果,直接扔出维基百科上的定义。

2016-12-20 11:21:00 398

原创 理解机器学习中的方差

一直没能理解机器学习中方差是什么概念,今天偶然碰见scikit官网的一段程序,让我有了一些深刻的理解。我们假设要计算回归树在回归问题中的方差,那么方差可以这样描述:

2016-12-19 10:25:39 1236

原创 命令行下调试python

命令行下调试python有几种方式:1. 使用ipdb调试,需要实现安装ipdb安装ipdbpip install ipdb开始调试python -m ipdb test.py2.使用ipython调试安装ipythonpip install ipython开始调试(注意要先进入ipython环境)In [1]: run -d test.pyIn [1]:

2016-12-16 09:56:17 741

原创 随机森林和GBRT的区别

1. 随机森林是一种Bagging方法   GBRT是一种Boosting方法2.随机森林的base learners是low bias & high variane,这些base learners之间是不相关的,且每个base learner都是完全的树,所以组合之后可以降低variance,但是无法有效降低bias  GBRT的base learners是low variance

2016-12-14 15:41:23 1220

原创 numpy中axis的一些理解

在numpy中,.sum(axis=n)解释:如果,b是一个shap(5, 6, 7, 8)的numpy array, 然后,c = b.sum(axis=2)那么,c的shape将是(5, 6, 8) ,因为“7”就是axis=2,被清除了。而且,c[x, y, z] = sum( b[x, y, : , z])原文:http://stackoverflow.com/

2016-12-01 11:06:12 3118

原创 L1和L2正则化区别

1. L1和L2的定义L1正则化,又叫Lasso Regression如下图所示,L1是向量各元素的绝对值之和L2正则化,又叫Ridge Regression如下图所示,L2是向量各元素的平方和2. L1和L2的异同点相同点:都用于避免过拟合不同点:L1可以让一部分特征的系数缩小到0,从而间接实现特征选择。所以L1适用于特征之间有关联的情况。

2016-11-30 15:05:13 31573

原创 尾递归

普通递归的计算顺序是从头到尾,再从尾到头,得出结果。由于函数嵌套太深,普通递归可能会引起栈溢出。尾递归的计算顺序是从头到尾,得出结果。所以少了从尾回到头这一步,因此运行子层函数时,父层函数的栈可以完全清除(由编译器优化),不影响最后计算结果。如此一来即使进行无限次递归,也不会引起栈溢出。

2016-11-22 10:28:50 302

原创 python下安装opencv碰到的问题

在安装了Anaconda (python 3.5)后,安装opencv2.x或opencv3均失败无奈删除Anaconda,使用自带的python2.7,立即成功。

2016-11-14 14:37:13 1636

原创 pip使用的一些问题

1. 出现SSL证书错误 SSL: CERTIFICATE_VERIFY_FAILED…………解决方法:pip --trusted-host pypi.python.org install xxxx2.想要离线安装whl先下载xxx.whl执行:pip install --upgrade xxx.whl

2016-11-02 16:06:20 417

原创 推荐系统分类

推荐系统可以分为以下几类:1. Content-Based2. Collaborative Filtering  2.1 Memory-Based Collaborative Filtering (利用相似矩阵)    2.1.1 user-item filtering    2.1.2 item-item filtering  2.2 Model-Based

2016-10-31 16:06:56 935

原创 UnicodeDecodeError: 'ascii' codec can't decode byte 0xef in position 7

在Pandas中调用df.to_excel()方法,将DataFrame导出为excel表时,出现以下错误: UnicodeDecodeError: 'ascii' codec can't decode byte 0xef in position 7………………网上的解决方案都解决不了,后来发现是因为导出时会将df.index也导出到excel中,而df.index的名字可能无法识别,

2016-10-14 12:57:44 1587

原创 win7安装theano

1. 安装Anaconda1) 卸载以前单独安装的python2)Anaconda有2和3之分(对应python2.7和3.5),我选择64位Anaconda2假设安装目录在C:\Anaconda2,添加path环境变量:C:\Anaconda2;C:\Anaconda2\Scripts;C:\Anaconda2\Library\bin;2. 安装MingGW1) 先把之前pa

2016-09-30 10:56:45 641

原创 logistic回归和softmax回归

logistic回归在 logistic 回归中,我们的训练集由  个已标记的样本构成:。由于 logistic 回归是针对二分类问题的,因此类标记 。假设函数(hypothesis function): 代价函数(损失

2016-09-30 09:58:13 2873

原创 Python下安装Crab推荐系统库

利用Python做推荐系统,可以调用Crab库,里面实现了常见的推荐算法,比如user-based和item-based的协同过滤算法。由于官网介绍不清楚,所以在此记录下自己的安装步骤:1. 从git直接下载代码可以直接下载zip,或用git clone2. 配置C++进入代码根目录,即setup.py文件所在目录,创建setup.cfg文件。内容如下:[build_ext]

2016-09-12 22:57:51 2486

原创 ssh远程连接docker中的container

由于工作需要,要远程调试container中的python程序,但是本地机器是windows,以下为解决步骤:1. 环境   本地:Windows              ↓   docker版本1.12              ↓   远程:docker中的Container(Ubuntu)2. Container安装ssh服务首先进入Containe

2016-09-09 21:04:04 22048 6

OpenGL 翻书效果

ESC退出 F1全屏 ASDW转动整本书 数字键(1~9)+左右箭头(<--,--&gt;) 翻指定页面

2013-03-02

Java Network Programming 2nd

Java Network ProgrammingJava网络编程部分需要看的书籍

2010-08-28

Java Network Programming 3rd

Java的网络编程,还很弱的同学们,赶快恶补一下吧

2010-08-28

Wiley - Java Database Programming Bible

Java数据库设计编程的圣经, 不会没听过吧! 告诉你吧,学了这个,数据库,手到擒来的事儿

2010-08-28

Java collections(Java的数据结构)

还在为没有Java方面的数据结构的书而烦恼吗,就选这本吧,绝对的数据结构经典~~~

2010-08-28

Java Thread Programming

挺早时候的多线程编程的专著, 很值得一看, 其中的思想大家未必有见过啊

2010-08-28

Java NIO(O'Reilly)

O'Reilly,冲这个就得看看NIO, 别老捧着IO流了

2010-08-28

太阳系OpenGL实现

OpenGL实现太阳系,有星星.太阳,月球卫星,轨道,彗星等等诸多效果

2010-03-21

OpenGL 翻书的效果

OpenGL编写,实现翻书的效果,本人原创,有意请联系我

2010-03-21

数据结构(c语言版)习题集》部分习题答案

数据结构题集部分习题的解答 都是我自己写的 只此一份 还不快下

2009-12-09

空空如也

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

TA关注的人

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