- 博客(63)
- 资源 (3)
- 收藏
- 关注
转载 bs4 string与text的区别
原链接:https://zhuanlan.zhihu.com/p/30911642用python写爬虫时,BeautifulSoup真是解析html,快速获取所需数据的神器。这个美味汤使唤起来,屡试不爽。 在用find()方法找到特定的tag后,想获取里面的文本,可以用.text属性或者.string属性。在很多时候,两者的返回结果一致,但其实两者是有区别的。.string...
2018-11-28 17:01:31 1438 1
转载 词向量与Embedding究竟是怎么回事?
原文链接:http://spaces.ac.cn/archives/4122/词向量,英文名叫Word Embedding,按照字面意思,应该是词嵌入。说到词向量,不少读者应该会立马想到Google出品的Word2Vec,大牌效应就是不一样。另外,用Keras之类的框架还有一个Embedding层,也说是将词ID映射为向量。由于先入为主的意识,大家可能就会将词向量跟Word2Vec等同起来
2018-01-23 16:48:53 3097
转载 viterbi算法:利用动态规划寻找最短路径
原文链接:https://www.jianshu.com/p/218c1e4f0891动态规划是运筹学的一个分支,是求解决策过程最优化的数学方法,通常情况下应用于最优化问题,这类问题一般有很多个可行的解,每个解有一个值,而我们希望从中找到最优的答案。在计算机科学领域,应用动态规划的思想解决的最基本的一个问题就是:寻找有向无环图(篱笆网络)当中两个点之间的最短路径(实际应用于地图导航、语音识别、
2017-12-29 11:30:07 2773 1
原创 Logistic regression的林林总总
Logistic regression,逻辑回归,很常见的二分类算法,简单好用,不过这看似简单的算法背后,其实可以引申出很多思考,基本的数学表达式如下:P(Y=1|X)=ef(X)1+ef(X)(1)P(Y=1|X)=\frac{e^{f(X)}}{1+e^{f(X)}}\tag{1} 这个公式描述了当给定x时,如何计算Y=1的概率,为什么偏偏是这样一个公式呢?其实也有一些简单的理由,先讲一个最简单
2017-12-21 13:28:16 440
转载 Hadoop Streaming 输出文件分割
Hadoop streaming框架默认情况下会以'/t’作为分隔符,将每行第一个'/t’之前的部分作为key,其余内容作为value,如果没有'/t’分隔符,则整行作为key;这个key/tvalue对又作为reduce的输入。hadoop 提供配置供用户自主设置分隔符。 -D stream.map.output.field.separator :设置map输出中key和va
2017-06-06 13:29:36 872
转载 skip list跳跃表实现
原文链接:http://www.ezlippi.com/blog/2014/12/skip-list.html跳表(skip List)是一种随机化的数据结构,基于并联的链表,实现简单,插入、删除、查找的复杂度均为O(logN)。跳表的具体定义,跳表是由William Pugh发明的,这位确实是个大牛,搞出一些很不错的东西。简单说来跳表也是链表的一种,只不过它在链表
2017-06-02 18:03:30 571
转载 Go 语言并发机制初探
原文链接:http://click.aliyun.com/m/14828/Go 语言相比Java等一个很大的优势就是可以方便地编写并发程序。Go 语言内置了 goroutine 机制,使用goroutine可以快速地开发并发程序, 更好的利用多核处理器资源。这篇文章学习 goroutine 的应用及其调度实现。一、Go语言对并发的支持使用goroutine编程使用 go 关键字
2017-05-26 19:59:09 733
转载 对 Python 装饰器的理解心得
原文链接:http://www.cnblogs.com/ifantastic/archive/2012/12/09/2809325.html 1. 什么是装饰器? 顾名思义,装饰器就是在方法上方标一个带有@符号的方法名,以此来对被装饰的方法进行点缀改造。 当你明白什么是装饰器之后,自然会觉得这个名字取得恰如其分,但作为初学者来说多少还是会有些迷茫。
2016-11-15 20:03:24 1042 1
转载 Python 自然语言处理(NLP)工具库汇总
1.NLTKNLTK 在使用 Python 处理自然语言的工具中处于领先的地位。它提供了 WordNet 这种方便处理词汇资源的接口,以及分类、分词、词干提取、标注、语法分析、语义推理等类库。网站http://www.nltk.org/安装安装 NLTK: sudo pip install -U nltk安装 Numpy (可选): sudo p
2016-09-05 18:10:12 1474
转载 中文分词器分词效果的评测方法
转载请注明出处:http://www.codelast.com/现在有很多开源的中文分词器库,如果你的项目要选择其一来实现中文分词功能,必然要先评测它们的分词效果。如何评测?下面详细叙述。【1】黄金标准/Golden standard所谓的黄金标准是指:评价一个分词器分词结果的好坏,必然要有一份“公认正确”的分词结果数据来作为参照。通常,我们使用一份人工标注的数据作为黄金标
2016-09-02 11:50:32 3971
转载 字符编码笔记:ASCII,Unicode和UTF-8
原文链接:http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.html1. ASCII码我们知道,在计算机内部,所有的信息最终都表示为一个二进制的字符串。每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte)。也就是说,一个字节一共可以用来表示25
2016-09-01 19:09:03 401
原创 python 如何用修饰符打造一个单例
python的官方wiki给出了一个用修饰符实现的单例,如下:def singleton(cls): instance = cls() instance.__call__ = lambda: instance return instance@singletonclass Highlander: x = 100本文主要就这个单例背后的原理展开剖析,其实这里最重要的结论
2016-08-23 15:48:07 911
转载 Python中的函数修饰符
首先,什么是函数修饰符?函数修饰符就是对原有函数做一层包装。比如有以下两个函数:复制代码def func1(): print 'I am function func1'def func2(): print 'I am function func2'现在我们想为这两个函数增加一段共同的操作,这时就可以使用函数修饰符。首先我们
2016-08-23 14:55:42 712
转载 python之嵌套函数与闭包
原文链接:http://yunjianfei.iteye.com/blog/2186092嵌套函数python是允许创建嵌套函数的,也就是说我们可以在函数内部定义一个函数,这些函数都遵循各自的作用域和生命周期规则。 Python代码 #!/usr/bin/env python def outer(): x =
2016-08-23 13:49:43 744
转载 Python “黑魔法” 之 Meta Classes
接触过 Django 的同学都应该十分熟悉它的 ORM 系统。对于 python 新手而言,这是一项几乎可以被称作“黑科技”的特性:只要你在models.py中随便定义一个Model的子类,Django 便可以:获取它的字段定义,并转换成表结构读取Meta内部类,并转化成相应的配置信息。对于特殊的Model(如abstract、proxy),还要进行相应的转换为没有定义objects的
2016-08-22 22:46:02 425
转载 Python 正则表达式里的单行s和多行m模式
原文链接:http://www.lfhacks.com/tech/python-re-single-multilinePython 的re模块内置函数几乎都有一个flags参数,以位运算的方式将多个标志位相加。其中有两个模式:单行(re.DOTALL, 或者re.S)和多行(re.MULTILINE, 或者re.M)模式。它们初看上去不好理解,但是有时又会非常有用。这两个模式在PHP和
2016-08-01 17:33:03 4351
原创 零宽度断言的关键知识点
正则表达式的匹配是从字符串的开头到字符串的结尾,在引擎看来,字符串 “str” 是这个样子的形式:^s@t@r$ , ^ 表示字符串开头的位置,即第一个字符之前的位置,@ 表示字符之间的位置,$ 表示字符串末尾的位置,即最后一个字符之后的位置。匹配是从一个位置移动到下一个位置,假设正则表达式为 tr,我们在字符串 “str” 中寻找其匹配,首先,引擎会指向 ^ 位置,将 t 与当前字符 s 做对比(
2016-07-28 12:46:00 346
转载 复杂正则表达式一
表达式 "(\w)((?=\1\1\1)(\1))+" 在匹配字符串 "aaa ffffff 999999999" 时,将可以匹配6个"f"的前4个,可以匹配9个"9"的前7个分析:一、(\w)(\1)1. (\w) -- \w,一个字符,括号表示一个子匹配,第一个括号是"\1",第二个括号是"\2",……。2. (\w)(\1) -- 一个字符,后面紧跟一个相同的字符
2016-07-27 17:41:11 961
原创 LeetCode:寻找范围
题目描述:给定一个有序数组(如[5, 7, 7, 8, 8, 10]),以及一个目标值(target=8),找出这个目标值在数组中的范围(结果是[3,4]),要求的时间复杂度为O(logN),N表示数组的长度。1、递归解法:比较中间元素(下标为mid)与target的大小,可能出现三种情况,即中间元素等于 target,中间元素小于 target,中间元素大于 target,下面我们分情况讨论:情况
2015-09-18 17:37:33 504
原创 二叉树的经典技巧及算法 I
1、 判断是否为二叉搜索树,二叉搜索树的基本特征是:左子树的所有节点都小于根节点,右子树的所有节点都大于根节点(假设没有相等的节点),也就是说左子树有上界,右子树有下界,其界为(无限小,无限大),对于根节点的左子树而言,其界为(无限小,根节点),对于根节点的右子树而言,其界为(根节点,无限大),随着层次的递增,下面的子树的上、下界也在更新,而且这个界越来越紧,如果一个二叉树不是二叉搜索树,那么它必然
2015-09-10 22:29:11 2998
原创 二叉树的各种遍历算法
二叉树的遍历算是相当经典了,如前序遍历、中序遍历、后序遍历,即可以用递归的方式实现,也可以用迭代的方式实现,还有诸如层次遍历、线索遍历等,这些算法构成了相当一部分面试题的基础。
2015-09-09 16:20:36 771 1
原创 青蛙跳台阶
题目: 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。思路: 青蛙的最后一次跳跃其实只有n种选择,即跳n级(或者跳n-1级,或者跳n-2级,…,或者跳1级),假设青蛙最后一次跳了k级,那说明它之前总共跳了n-k级,假设它跳这(n-k)级台阶有rkr_{k}种跳法,那么当青蛙的最后一跳为k个台阶时,总共可能的跳法就是rkr_{k},
2015-08-18 14:30:38 688
原创 为什么L1正则项会产生稀疏解
Consider the vector x⃗ =(1,ε)∈R2\vec{x}=(1,\varepsilon)\in\mathbb{R}^2 where ε>0\varepsilon>0 is small. The l1l_1 and l2l_2 norms of x⃗ \vec{x}, respectively, are given by||x⃗ ||1=1+ε, ||x⃗ ||22=1+ε2|
2015-08-12 21:30:18 4473 1
转载 Understanding the Bias-Variance Tradeoff
Understanding the Bias-Variance TradeoffJune 2012When we discuss prediction models, prediction errors can be decomposed into two main subcomponents we care about: error due to "bias" and err
2015-06-04 10:48:54 704
原创 从回归树到GBDT
GBDT可以看做是由多棵回归树组成的,所以要理解GBDT,就要先理解回归树。回归树也是为了做预测,只是将特征空间划分成了若干个区域,在每个区域里进行预测。
2015-03-17 20:28:21 5954 3
原创 Leetcode: Number of 1 Bits
题目:Write a function that takes an unsigned integer and returns the number of ’1' bits it has (also known as the Hamming weight).For example, the 32-bit integer ’11' has binary representation 0
2015-03-15 21:56:37 738 1
转载 隐马尔科夫模型HMM自学
介绍崔晓源 翻译我们通常都习惯寻找一个事物在一段时间里的变化规律。在很多领域我们都希望找到这个规律,比如计算机中的指令顺序,句子中的词顺序和语音中的词顺序等等。一个最适用的例子就是天气的预测。首先,本文会介绍声称概率模式的系统,用来预测天气的变化然后,我们会分析这样一个系统,我们希望预测的状态是隐藏在表象之后的,并不是我们观察到的现象。比如,我们会根据观察到的植物海
2015-03-06 15:12:37 808 1
原创 前馈神经网络的简单实现
神经网络是机器学习的一个重要方法,就像人类学习的本质是建立神经元之间的联系一样,机器学习也可以模拟相应的“神经元”并建立这些“神经元”之间的联系,人的认知可以看做是神经网络的训练,如识别图片,大脑一旦认识了某张图片,那么同一张图片不管是经过旋转还是伸缩,大脑依然可以识别出来。回到机器学习领域,如果我们用了足够多的“神经元”,多到可以与人的大脑相媲美,那么我们就可以憧憬将机器训练得跟人类的大脑一样强大
2015-03-06 09:17:41 10289 1
翻译 An introduction to machine learning with scikit-learn
scikit-learn 是一个基于SciPy和Numpy的开源机器学习模块,包括分类、回归、聚类的一系列算法,而且有详细的文档,是边学边练的绝佳教材,本文将通过一个简单的例子向大家展示如何使用scikit-learn。
2015-01-23 13:36:57 912
转载 Python机器学习库
原文:http://qxde01.blog.163.com/blog/static/67335744201368101922991/ Python在科学计算领域,有两个重要的扩展模块:Numpy和Scipy。其中Numpy是一个用python实现的科学计算包。包括:一个强大的N维数组对象Array;比较成熟的(广播)函数库;用于整合C/C++和Fortran代码的工具包;
2015-01-21 11:04:59 710
原创 windows下安装matplotlib
给Python安装模块时最方便的就是找到相应的.exe文件了,这样就不用一个一个地去安装依赖包,但是有时候找不到相应的.exe文件,这就需要用setup.py或相应的.whl文件来安装了
2015-01-19 22:40:54 2261
转载 机器学习经典书籍小结
原文链接:http://blog.csdn.net/xinzhangyanxiang/article/details/9069045博客第一篇文章[1]是转载的,也算是开始写博客不经意的表露了自己对机器学习的兴趣吧!那篇文章总结了机器学习的一些经典算法的论文与数学基础理论的一些书籍,对于开始学习机器学习的话恐怕太过深入,正好最近在买书,看了很多经典书籍的总结与评论,我再拾人牙慧,稍稍总
2015-01-05 16:25:08 1123 1
转载 关于__GNU_SOURCE 这个宏
今天发现一个奇怪的问题,即使#include sys/stat.h在使用 lstat 函数的时候还是会报warning: implicit declaration of function 'lstat'另外同样的问题,即使include 了 sys/time.h还是会报warning: implicit declaration of function 'nanosleep
2014-12-25 10:24:14 936
原创 Docker中的image与container
我们常常会基于某个image来启动一个container,在这个container中我们可能会执行某些操作,比如创建一个文件,但是当这个container退出以后,如果我们以同一个的image启动了另一个container,在这个container中是看不到之前那个container创建的文件的,如果想让后面的container看到之前那个container创建的文件,就要把之前那个container保存成一个镜像,然后基于这个镜像来启动后面的那个container
2014-12-21 20:56:14 4451
原创 Ubuntu14.04(32位)下安装使用docker
刚刚在Ubuntu14.04下把docker装好,简单记录一下安装过程和遇到的问题,其实docker的安装很简单,因为在Ubuntu14.04中已经自带了,只需要用如下命令安装一下即可:sudo apt-get install docker.io安装完成以后需要找一个“镜像”,比如Ubuntu的镜像,当时没注意32位与64位的区别,直接从网上pull了一个64位的镜像,而自己刚刚安装的do
2014-12-21 20:30:13 3904 3
原创 设计模式:多重派遣
在面向对象程序设计中,非常常用的手法就是用基类的指针指向派生类,然后在执行期通过虚函数机制找到派生类中的函数,假设这样一种情况,全局函数有两个输入参数,分别是两个基类指针 A* ap 和 B* bp,那么如何既找到ap指向的准确对象,又找到bp指向的准确对象呢?答案就是多重派遣,既先找到ap(bp)指向的准确对象,再去寻找bp(ap)指向的准确对象
2014-12-04 13:46:45 982
转载 人工智能和机器学习领域有哪些有趣的开源项目
GraphLabGraphLab是一种新的面向机器学习的并行框架。GraphLab提供了一个完整的平台,让机构可以使用可扩展的机器学习系统建立大数据以分析产品,该公司客户包括Zillow、Adobe、Zynga、Pandora、Bosch、ExxonMobil等,它们从别的应用程序或者服务中抓取数据,通过推荐系统、欺诈监测系统、情感及社交网络分析系统等系统模式将大数据理念转换为生产环境下可
2014-12-02 09:27:38 1071
原创 设计模式:观察者模式
观察者模式有点像事件触发机制,也是一种回调机制,在观察者模式中,有观察者和被观察者,当被观察者有什么动静的时候,就可以以某种方式通知观察者做出某些动作
2014-12-01 20:01:10 471
Multilayer feedforward networks are universal approximators
2015-02-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人