摘要:
1. 导言在机器学习和模式识别领域,SVM绝对是除了Boosting之外的又一项重大突破,在一般的应用中,我们都用LibSVM这样已经成熟的库,但是对于内部机理和一些基础知识我们可能很多时候并不清楚,那么我们就把一些基础的知识一点点说清。2. 关于维度首先,我们来说下维度。维度这个概念我们都并不陌生,维度在数学中也称作维数,代表的是参数的数目。我们说零维是点,一维是线,二维是面,三维是立体。我们跳出数学的视角,而上升到哲学的角度,我们说维度其实代表的是我们看一件事物的视角,每个视角都有着一个对应的描述,于是我们将这个描述数字化,并且将这些视角的描述综合起来,放到一起,我们将之成为多维向量。例如 阅读全文
摘要:
1. 概述 大多数的网站都需要一个评分系统,来考量该网站条目的质量,例如时光网: 那么在本文中,我们就来学着如何打造一个可用的评分系统。 2. 构建简单的评分系统 其实最初做一个评分系统很简单,我们首先先设计评分系统所需要的数据表,即用户评分表(user_rating): CREATE TABLE `user_rating` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `user_id` int(11) DEFAULT NULL, `item_id` int(11) DEFAULT NULL, `rating` int(11) D... 阅读全文
摘要:
1. Python是一门解释型语言? 我初学Python时,听到的关于Python的第一句话就是,Python是一门解释性语言,我就这样一直相信下去,直到发现了*.pyc文件的存在。如果是解释型语言,那么生成的*.pyc文件是什么呢?c应该是compiled的缩写才对啊! 为了防止其他学习Python的人也被这句话误解,那么我们就在文中来澄清下这个问题,并且把一些基础概念给理清。 2. 解释型语言和编译型语言 计算机是不能够识别高级语言的,所以当我们运行一个高级语言程序的时候,就需要一个“翻译机”来从事把高级语言转变成计算机能读懂的机器语言的过程。这个过程分成两类,第一... 阅读全文
摘要:
好久不来博客园了,前几天更新个人状态时,也把“技术博客”四个字改成了“荒废已久的博客”。好久不总结自己的工作和学习了,怎么说也过不去,就来这写一篇浅显的文章,没什么新鲜的内容,算是一篇经验的汇总把。1. 关于排行榜各大网站一般来说都少不了排行榜这个东西,一者是提供给商业合作方的数据排行榜,另一者是提供给用户的榜单。例如豆瓣的新书榜:2. 打造一个最简单的排行榜我们先用豆瓣的新书榜为例,看看我们如何来一步步完善我们的榜单。其实最初的版本很简单,既然是新书,那么我们只需要先得到最近出版的读书,例如:select * from book where create_datetime > xxxx 阅读全文
摘要:
Python的背后有着庞大的开源社区支持,但是有一个缺点就是每个包的质量都参差不齐,如果我们在工作服务器上去测试安装每个包,就会造成整个的服务器形成庞大复杂的第三方包依赖。 virtualenv就是为了解决这个问题而生,他可以在我们的目录上生成若干个独立的虚拟环境,这些虚拟环境和正式环境一样。 安装virtualenv非常简单: 首先安装virtualenv: 然后我们就可以创建一个虚拟的环境了: mytest就是我们所创建的虚拟环境目录了,我们可以发现,该目录中已经安装了和我们本机相同的python版本: 我们接下来需要激活这个虚拟环境: 我们就可以看到在命令... 阅读全文
摘要:
其实我是没有做读书笔记的习惯的,但是这本书只是借来看的,而且这种杂谈性的书,也比较容易扯开去,就随便写了一些东西,大多是自己的一些乱七八糟的想法。现在给汇总一下发出来把。。1. 第一章AT&T的兴起感谢于美国的反垄断法不断地强迫公司做着技术革新,帮助公司修枝剪叶以删除掉那些无用的业务,而衰败同样是由于反垄断法使公司不得不做着不理智的拆分从而使一个巨型帝国迅速的滑落。当一个公司到后期被投行以及他人所大量持股,而创始人逐渐丧失公司的决策权时,公司就必将不在有着理智的长远的发展眼光,而越来越侧重短线投资和大量套现,从而使公司走向灭亡。2. 第二章从IBM看腾讯,IBM的成功之道在于保守,他不 阅读全文
摘要:
在九月初的时候,RMongoDB正式发布了修订版本,这也就意味着,从事数值计算的语言也可以于Nosql产品相接轨了,但是鉴于我身边并没有公司真的在使用R和MongoDB的结合,所以在效率问题上,我们也不敢掉以轻心,所以就做了一个这样的测试。测试环境是8核,64位机。 用于测试的库是一个未经Sharding,大概30G左右的Collection。用于存储用户的喜好信息,标签信息等数据。 1library(rmongodb)23mongo<-mongo.create()45if(mongo.is.connected(mongo))6{7ns<-'rivendell.user 阅读全文
摘要:
帮同学做道题....其实真没什么好的做法....1defgetList(n):2result=[]3count=34max=n5whilemax%2==0:6max/=27result.append(2)89whilecount<=max:10ifmax%count==0:11result.append(count)12max/=count13else:14count+=215returnresult1617printgetList(600851475143) 阅读全文
摘要:
不知道从什么时候起,开放平台越来越多地走近了我们的视线,从最初的开心开放平台,人人开放平台,新浪开放平台,再到即将发布的飞信开放平台,腾讯Q+开放平台,似乎在这么一瞬间,开放平台成了各个互联网的一个标配。如果你没有这么一个开放平台,你都不好意思说我是一个互联网公司。 那么这里,我们就来谈谈这个所谓的开放平台。 1. 什么是开放平台 首先,让我们来了解下什么是开放平台。 也许对于程序员来说,... 阅读全文
摘要:
首先,这篇文章只是我临时写的,之前没有给文章个整体思路,所以文章可能思路会显得有些乱,连我到现在都不知道我要写到什么时候终止。这篇文章的产生是因为看过了横刀天笑的这篇文章,在这篇文章中,作者给出了一个很好的关于代码重构的步骤,以及我们要如何重构代码,提高抽象层次,但是我对其中一点,是对Martin Fowler在《重构》一书中所提出的关于参数对象的观点一直抱有质疑。先别急着反对,也别急着回复,先继续向下看。1. 先想想Python , F#之类的函数式语言让我们先想想Python , F#之类的函数式语言(让我们暂时先把Python称之为函数式语言吧),这些函数式语言,也包括C#(从4.0开始 阅读全文
摘要:
sayMe :: (Integral a) => a -> String sayMe 1 = "One" sayMe 2 = "Two" sayMe 3 = "Three" sayMe 4 = "Four" sayMe x = "Others" sayMe :: (Integral a) => a -> String sayMe x | x < 3 = "less than 3" | x =... 阅读全文
摘要:
1. Helper大爆炸.NET Framework为我们提供了丰富的类库,但是这并不是万能地,在大部分的时间,我们都需要为我们的项目特殊定制我们的通用类库。常常,我们都可以构造一个类,类里封装一些方法。但是对于很多时候,我们并没有办法提取出这样一个类,举一个小例子,我们在很多时候,需要把url给保存到数据库里,作为一个唯一标识,但是我们知道url所占空间很大,如果用url来建立索引的话是非常耗费... 阅读全文
摘要:
这篇文档所给出的编码约定适用于在主要的Python发布版本中组成标准库的Python 代码,请查阅相关的关于在Python的C实现中C代码风格指南的描述。 这篇文档改编自Guido最初的《Python风格指南》一文,并从《Barry's style guide》中添加了部分内容。在有冲突的地方,Guide的风格规则应该是符合本PEP的意图(译注:指当有冲突时,应以Guido风格为准)。这篇PEP仍然尚未完成(实际上,它可能永远都不会完成)。 在这篇风格指导中的一致性是重要的。在一个项目内的一致性更重要。在一个模块或函数内的一致性最重要。但最重要的是:知道何时会不一致——有时只是没有实施 阅读全文
摘要:
1. 在Haskell中,字符串的的确确成了字符数组的语法糖。 2. 合并List 在Haskell中,合并List是用++运算符来实现: 在这里,我们也可以看到字符串和字符数组的关系。 但是++操作符,会遍历左侧的List,这样List越长,访问起来越慢,这个时候使用:会是更好的选择: 但是,:运算符只能连接一个元素和一个List: 那么从上面,为什么不能成为[[1,2,3],4,5,6],而却... 阅读全文