自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 going deeper with convolutions笔记

简单的解释1x1卷积的原理和作用

2015-11-09 12:41:52 2317

翻译 Lua 语言的常见的相关base 变量和base函数

Lua 语言的常见的相关base 变量和base函数Lua 语言的常见的相关base 变量和base函数global variable _VERSIONassert 函数dofile函数ipairs函数error函数loadstring函数loadfile函数require函数xpcallpcallmodule函数global variable: _VERSION该变量存的是当

2015-09-07 11:45:39 2454

转载 欢迎使用优快云-markdown编辑器

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

2015-09-03 21:32:42 905

原创 python:安装numpy, Scipy,Matplotlib

一 安装python(1)下载python3.4.3(2)安装python3.4.3(3)配置环境变量二安装numpy(1)下载numpy  (2) 解压缩, 我解压文件存放在:(3)切换到numpy-1.9.2目录下,使用 gfortran进行编译在(可以使用): python setup.py build --fcompiler=gnu95Not

2015-08-24 16:42:24 1434

原创 常见快捷键

PS: TeamViewer用着好爽, 不愧为远程办公之利器也Ubuntu 下terminal 中直接打开pdf的指令:evince file2open.pdf

2015-06-30 20:10:14 668

原创 Torch7安装

尝试了很多办法去安装Torch7。安装平台: 虚拟机 + ubuntu12.04, 32位机尝试过采用官网的办法安装, 网址如下:http://torch.ch/docs/getting-started.html#_但是failed.后来按照如下方式安装, 成功了。主要指令如下:如果之前安装过Torch7, 想重新安装, 按照如下方法clean掉old versio

2015-05-15 15:37:32 17486 1

原创 使用两个stack对一个stack的内容进行反转

办法一(只采用一个stack), 通过递归实现:// http://w...content-available-to-author-only...s.org/reverse-a-stack-using-recursion/ #include#includeusing namespace std; void printStack(stack st){ while(!st.e

2015-05-08 21:48:50 1623 1

原创 检查一个string里面是否有重复的字符

sol1: 使用two loops循环, 比如str[1....n], 对于第一个字符, 检查后面的, 如果重复, 返回false, 如果没有一个元素和第一个字符重复, 就继续检查str[2], 一次类推下去。这个办法的时间复杂度为O(n^2)sol2: 使用哈希表, 我们将每一个character hash 到一个哈希表中, 检查这个字符是否已经存在, 如果位置处为1, 表示已经存在

2015-04-20 10:26:09 5388 1

原创 反转链表(reverse a lnked list)

今天, 看到一个面试题。对于一个单项链表, 编写一个函数, 把给定的单项链表进行反转。 即最后一个元素变成新链表的第一个元素...。例如下图: 第一个field为节点存放的数据, 第二个field指的是存放下一个node的地址, head指向链表头。 反转之后, 得到新的链表如下:解决办法:我们可以遍历链表, 对于每一个当前的节点, 我们可以调整(adjust)当前

2015-04-20 08:54:52 1460 1

原创 音乐推荐系统

一个music recommender system主要有三部分组成:(1) users(用户)(2) items(即音乐库中的很多音乐)(3) user item matching algorithms(用户听过的音乐匹配算法)User profiling 解决的是不同的users的profile的的差异性。 这一步的目的就是使用基本的信息对用户的music taste进行划分。

2015-04-16 21:34:38 8793 1

原创 海量数据找缺失的值

一个文件中含有4billion的integers, 试图找出一个不再这个文件中的数。假如一个integer用4bytes表示,那么文件的大小就是4 * 10 ^9 * 4 = 16 GB。 文件太大了。 (1)办法一: 采用外排序的办法。对这些数据排完序之后, 可以从第一个数开始遍历, 知道出现gap, 表示gap之间缺少一个元素。这样我们输出的是第一个missing的value。(2

2015-04-16 20:13:14 984

原创 python: 设计模式(design pattern)之修饰器模式(decorator)

#decotor design patternimport sysYELLOW = '\033[93m'RED = '\033[91m'NORMAL = '\033[0m'class Person(object): def __init__(self, name, age): # constructor self.name = name se

2015-04-12 20:22:07 2000

原创 二叉搜索

knuth 在TAOCP有过这么一句话: 虽然第一篇二分搜索在1946年就发表了, 但是第一个没有错误的二分搜索程序直到1962年才出现。 所以可以说是是最简单的难题了。问题: 给定排好序的N个distinct elements 的array, 使用最少的比较次数确定某一个值是否存在。分析: 线性查找的时间复杂度是O(n), 但是考虑到数组是sorted, 所以我们一定要利用好这个信息。

2015-04-12 11:02:40 614

原创 一个简单的测试计算机的位数的程序: 不用sizeof

题目比较简单, 不再赘述, 只贴程序。#include using namespace std;int countBits() { unsigned int i = 1; int c = 1; // 注意是1, 不是0 while(i<<=1) { c++; } return c;}/* Program t

2015-04-09 19:06:03 795

翻译 Deep Learning 最新进展

只是列举了一部分。(1) parametric rectifier linear unit(PreLu)这是对neuron的activation function 做的改进。 众所周知, ReLU是一个作为激活函数的一个比较好的选择。 如下图:而这里说的PreLU是允许出现一个负的activation(以前想过, 当时当时马上有被自己给推翻了, 毕竟权重可以是负的, 当时觉得这

2015-04-09 13:39:45 1103

原创 衡量分类器的性能指标

评价一个分类器的metric的确有不少。 error rate: 这个不讲了, 当然是错误率越低越好。不过值得提到的就是可以通过一个被称为confusion matrix的办法直观展示classification error。 继而可以引出三个指标。 如下一个three class problem:表示的意思是总共有8只猫, 6只狗, 13只兔子。 我们的分类器把这17只动

2015-04-06 12:25:04 5509

原创 Adaboost, boosting 和bagging的比较

Adaboost 算法很有名,全称是adaptive boosting。 曾被称为数据挖掘十大算法之一。 davide lowe那一篇关于人脸识别的文章中就用到了这个算法。 现在总结一些这个算法。Adaboost是一种基于boost思想的一种自适应的迭代式算法。 通过在同一个训练数据集上训练多个弱分类器(weak classifier), 然后把这一组弱分类器ensmble起来, 产生一个强分

2015-04-05 17:23:40 7867

转载 配置vim

无意中看到如下一篇博客, 根据内容, 修改了一下,去掉了自动补全的功能。  配置完后, 不影响原来的快捷键的使用, 只是界面更好了, 多了一个全选复制的快捷键, 鼠标可以选中了。 博客地址如下:http://blog.youkuaiyun.com/tennysonsky/article/details/44871549用户只需修改家目录下的 .vimrc 配置文件内容,即可自定义 vim 的功能。

2015-04-04 20:09:46 550

原创 套接字与网络通信

进程之间有很多的通信方法。 例如管道(包括有名管道和无名管道), 用于异步通信的信号机制,  System V进程间通信(包扩信号量, 消息队列, 共享内存)。 这些通信机制只是适用于单个机器内部的进程之间进行通信。 这里我们说的是跨主机的进程之间的通信机制, 即基于BSD的socket(套接字)通信(即常说的网路通信), 它不仅支持本地无关联的两个进程之间的通信, 还支持跨网络的, 不同主机

2015-04-03 14:40:09 3123

原创 Logistic regression---原理部分

Logistic Regression是一种利用非线性函数即sigmoid function对样本进行分类(常常是binary classification)的

2015-04-03 14:38:01 929

原创 互斥锁和条件变量

#include #include // for sleep() function#include #include //#include pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER; // pthread_cond_t cond = PTHREAD_COND_INITIALIZER;void *thread1(void

2015-04-02 12:37:14 703

原创 C++易忽略点

真的不想这样, 这样的题有啥意思, 谁会用到吗, 就当增加人知吧对一个数组取&的时候, 出现了如下的问题:#include int main(){ const int MAXN = 8; int a[MAXN] = {1, 2, 4, 8, 16, 32, 64, 128}; int *p = (int*)(&a + 1 ); printf("%d\n", *(p -

2015-04-01 21:26:46 555

原创 机器学习注意

任何一个机器学习算法包含两大步骤:(1)训练(training): 给定训练数据, 选择一个机器学习模型, 利用机器学习算法, 结合训练数据, 学习到模型参数。 学习参数需要选择一个objective funcion(有称为cost function), 目的就是找出使得这个目标函数的值达到最小的参数。(2)测试(testing): 利用学习到的模型, 进行预测。机器学习以及深

2015-04-01 21:09:49 609

原创 Bias 和 Variance的理解

bias-variance tradeoffs是有监督学习面临的一个重要的问题。我们希望达到的最佳的状态就是low variance, low bias。 一旦出现过拟合现象, 就容易造成low bias, high variance的线性, 欠拟合是high bias, low variance。对于线性模型中, 我们假设样本取自的分布为:好了, 我们根据这就可以求出最佳的hypos

2015-04-01 19:39:05 2808

原创 Linear models for regresion(回归)

线性回归模型使用的场景是有监督学习(supervised learning)。例如下例给定训练样本集, 输入特征是二维的,让我们去预测房价。 我们就可以使用线性回归模型去求解。 例如多项式拟合价格和输入二维特征向量的关系, 我们模型的参数就是多项式前面的那些系数。  首先回归(regression)的目的就是指根据给定一个d维的输入特征向量x, 预测出一个或者多个取值连续的ta

2015-04-01 16:07:07 1128

原创 SVM(Support Vector Machines):支持向量机

支持向量机以前很火了。 现在风头被深度学习给占据了。

2015-03-30 21:06:54 1596

翻译 Eggs Dropping puzzle(2 eggs, 100 floors)

题目如下:You are given two eggs, and access to a 100-storey building. Both eggs are identical. The aim is to find out the highest floor from which an egg will not break when dropped out of a window from th

2015-03-30 15:31:19 1427

原创 如何高效的结算一个正整数中二进制表示1的个数

为了计算一个正整数中二进制表示1的个数。 我们可以采用查表的办法。下面四位四位的计算:0000对应0个10001对应1 个10010 对应1个1....................1110 对应3个11111对应4个1所以我们建立如下size为16的数组用于映射0, 1, 2, 3, ....., 15这16个数字对应的整数1的个数。#include u

2015-03-29 20:55:59 581

原创 对计算机bit的强大的理解力: 用10只小白鼠查找1000瓶药中有毒的那一瓶(只有一瓶)

无意中看到一个博客地址如下, http://blog.youkuaiyun.com/limenghua9112/article/details/44724389有意思:前两天参加面试,CEO给我出了一道题,当时我没有回答出来,在CEO的提示下明白了解决方案。好多朋友私下问我是如何在一天之内推算出哪一瓶药水有毒的,现在把答案公布于下,包括源代码。    题目:1000 瓶无色无味的药水,其中

2015-03-29 13:20:08 6958 1

原创 决策树算法

在Journal of knowledge and Information Systems,  2007 上出现过一篇文章。 “Top 10 algorithms in Data Mining”。 其中这篇文章列出了数据挖掘中最常用的10大算法, 分别是: C4.5, K-means, SVM, Apriori, Expectation Maximization, PageRank, Adaboo

2015-03-27 14:28:07 5224 1

原创 机器学习与深度学习相关算法的学习

本人打算开始总结机器学习和深度学习的系列博客了。 以下是要总结的相关算法的内容了, 只是梗概, 后期会做调整的。(1)Supervised Technique:classifications:--- K nearest neighbour(K 近邻)        --- Naive Bayes        --- Classification Trees: CART, ID

2015-03-27 09:45:26 905 2

原创 关于如何在vector中的某些元素(这些元素均是相同的值)之前插入一个特定的值

源于C++ primer。 大清早的, 明总正在为C++ Primer上的一个关于在一vector上插入元素的例子捉急。 out of curiosity, 看了一下, 基本上是关于插入引起迭代器失效的应用。下面, 摘自C++primer 中文版第309页习题9.3.1的练习题。假定iv是一个int的vector, 下面程序存在什么错误? 如何修改vector::i

2015-03-26 11:16:08 2034

原创 Length of the longest substring without repeating characters

即找到具有不重复字符的最长子字符串

2015-03-25 14:02:29 736

原创 给定一个file, 查找出里面出现频率最高的10个单词

之前已经总结了给定一组数字, 如何在线性时间内找到第k小的数字。这两个问题看似有十分subtle的关系。 很显然这里是找最大的前K个单词。 单词相当于卫星数据, 直接对单词的键值, 即频率排序啦。 现在我们对这个求top K frequent words做一个小小的总结。方法一: minheap + external sort(即小顶堆 + 外部排序)之所以使用外部排序, 是因为考

2015-03-24 17:15:31 10062

原创 C++中容易忽略的一些细节

(1)字符串函数strlen是如何用的。(2)使用数组的名字作为函数的参数, 数组名字退化成const的指针了。(3)if 语句中如果进行float的值与0比较, 格式是什么(4)C++程序中调用C编译器编译过的函数, 为什么要加extern “C”(5) 如何不调用C++/C的字符串函数, 编写函数strcpy。(6)编写字符串类

2015-03-24 17:06:39 667

原创 强连通分量和二部图

对于无向图G: 如果两个顶点之间有一条路径连着, 我们就说这两个顶点是连通的(无向图的边无方向性, 只要有边连着就是连通的)。 如果满足图中的任意两个顶点都是连通的, 我们就说图是连通图。 所谓的连通分量, 就是无向图中的极大连通子图。  对于连通图, 只有一个连通分量, 就是它本身。 非联通的无向图有多个连通分量。  如下图, 该无向图的连通分量分别是: (A L M J B F C), (

2015-03-24 16:31:49 1224

原创 智能指针(smart pointer)

智能指针(smart pointer)是一种抽象的数据类型(abstract data type)。 在程序设计中, 智能指针通常由类模板(class template), 借助模板达到泛型。 通常借助类的析构函数来达成自动释放指针所指向的内存或者对象。 智能指针模拟了指针的属性, 然后在加上指针没有的额外的features, 这些features包括自动内存管理(automatic memo

2015-03-23 18:46:43 3873 2

原创 DNA逆序对的问题: DNA sorting

DNA SortingOne measure of ``unsortedness'' in a sequence is the number of pairs of entries that are out of order with respect to each other. For instance, in the letter sequence ``DAABEC'', this

2015-03-23 13:54:34 1991

原创 polymorphism(多态): 虚函数 + 抽象基础类

C++中, 多态(polymorphism)是三大关键词(分别是encapsulation, inherittance, polymorphsim)之一。所谓的多态, 简单的说就是多种形态。OOP支持如下的两种多态的实现方式:(1) static binding, 又称为early binding, 就是在compile time 实现的绑定。  主要通过函数重载(function o

2015-03-23 09:34:06 1101

原创 OOP继承问题,虚基类, 建构子的构建顺序问题

这里我们说说多重继承(multiple inheritance)。 多重继承的问题涉及到建构子和析构子的调用顺序问题, 多重继承造成的歧义型(例如, 当多个base classes中有同名函数的时候, 如何解决,members from common base class如何解决(dimond的时候, 即类A继承自B, C, 但是B, C又同时继承自一个类D时候, 就出现歧义了, 此时A有两份

2015-03-22 20:08:30 928 1

空空如也

空空如也

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

TA关注的人

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