- 博客(35)
- 资源 (2)
- 收藏
- 关注
翻译 An overview of machine learning
学习机器学习有两种方法:(1)根据学习策略(learning style)对算法进行分类学习;(2)根据相似的形式或者功能进行学习。根据学习策略进行分类:监督式学习: 例子包括分类问题和回归问题,具体的算法包括LR(logistic regression)、神经网络中的反向传播(BP)(Back Propagation Neural Network)。 非监督式学习:相关性学习(associati
2015-05-16 18:34:24
1113
原创 过拟合(overfitting) vs 正则化(regularization)
上面是一个加入了正则化的线性回归(linear regression)的损失方程(loss function)。 Lambda调优 Lambda太小发挥正则化的作用会较小,太大会低估(underfitting)模型。Regularization methods (L1 & L2) 上面正则化方法是Ridge Regression (L2) 。另外一个叫 Lasso Regreesion (L1
2015-05-14 19:10:24
722
转载 SQL常用语句
一、简单查询语句查看表结构SQL>DESC emp;查询所有列SQL>SELECT * FROM emp;查询指定列SQL>SELECT empmo, ename, mgr FROM emp;SQL>SELECT DISTINCT mgr FROM emp; 只显示结果不同的项查询指定行SQL>SELECT * FROM emp WHERE job=’CLERK’;使用算术表达式
2015-05-13 18:53:58
487
原创 机器学习之——算法比较与选择
对于一个分类问题该如何选择分类算法呢?当然,如果你真的关心准确性 (accuracy),最好尝试多个算法,每个算法进行参数调优后,进行交叉验证(cross-validation)。但是在解决分类问题时,还是可以参考一些一般性的分类原则的。Naive Bayes 优点:简单,如果条件独立性假设成立,Naive Bayes 分类器会比判别模型(logistic regression)更快的建立,从而
2015-05-07 22:09:10
1618
原创 聚类算法——K-means
算法接受参数 k ;然后将事先输入的n个数据对象划分为 k个聚类以便使得所获得的聚类满足:同一聚类中的对象相似度较高;而不同聚类中的对象相似度较小。聚类相似度是利用各聚类中对象的均值所获得一个“中心对象”(引力中心)来进行计算的。 K-means算法是最为经典的基于划分的聚类方法,是十大经典数据挖掘算法之一。K-means算法的基本思想是:以空间中k个点为中心进行聚类,对最靠近他们的对象归类。
2015-05-07 01:19:38
703
原创 聚类算法——K临近(KNN)
邻近算法,或者说K最近邻(kNN,k-NearestNeighbor)分类算法是数据挖掘分类技术中最简单的方法之一。所谓K最近邻,就是k个最近的邻居的意思,说的是每个样本都可以用它最接近的k个邻居来代表。 kNN算法的核心思想是如果一个样本在特征空间中的k个最相邻的样本中的大多数属于某一个类别,则该样本也属于这个类别,并具有这个类别上样本的特性。该方法在确定分类决策上只依据最邻近的一个或者几个样本
2015-05-07 01:16:43
2579
原创 NumPy、SciPy和Pandas
NumPy和SciPy都是开源的函数库,由于python中是没有数组这个数据类型的,所以涉及到数学计算时会变的非常吃力。Numpy和Scipy正好帮我们解决了这个难题。 Numpy是python基于python语言的一个数据处理的基础函数库,里面主要是一些矩阵的运算等,重在数值计算。 而 scipy 则是基于numpy,提供了一个在python中做科学计算的工具集,也就是说它是更上一个层
2015-05-05 23:07:36
1799
转载 聚类算法——主成分分析(PCA)
PCA(Principal Component Analysis)是一种常用的数据分析方法。PCA通过线性变换将原始数据变换为一组各维度线性无关的表示,可用于提取数据的主要特征分量,常用于高维数据的降维。网上关于PCA的文章有很多,但是大多数只描述了PCA的分析过程,而没有讲述其中的原理。这篇文章的目的是介绍PCA的基本数学原理,帮助读者了解PCA的工作机制是什么。当然我并不打算把文章写成纯数学文章
2015-05-05 18:51:17
20758
2
原创 Matlab中计算量较大的程序运行管理注意事项
Matlab下大规模运行过程中内存管理管理问题最近在用Matlab做大规模网络的模拟研究。在程序设计过程中要注意诸多细节,先记录如下:1 内存管理(这是最重要的一点) 较大的计算量和矩阵存储必然会耗费非常多的内存资源,因此在每次循环结束后,当即使将所得数据输出存储到硬盘,后对内存进行清理。在Matlab中主要有大概提供三个有用的命令来管理内存,MEMORY,CLEAR
2015-05-05 18:42:27
4211
原创 机器学习——最大熵原理
首先介绍什么是熵。 在信息论中,熵是接收的每条消息中包含的信息的平均量。熵是在1948年由克劳德·艾尔伍德·香农将热力学的熵引入到信息论的,因此它又被称为香农熵。 不确定性函数f满足两个条件是: (1)概率P的单调递降函数; (2)两个独立符号所产生的不确定性应等于各自不确定性之和(可加性),即 f(P1,P2)=f(P1)+f(P2)。 同时满足这两个条件的函数f是对
2015-05-05 17:55:54
1875
原创 数理统计——Bayes, 先验概率和后验概率
先验概率(prior probability)是指根据以往经验和分析得到的概率,如全概率公式中的,它往往作为“由因求果”问题中的“因”出现。 后验概率(posterior probability)是指在得到“结果”的信息后重新修正的概率,如贝叶斯公式中的。是“执果寻因”问题中的”果”。 以Bayes为例。贝叶斯定理由英国数学家贝叶斯 ( Thomas Bayes 1702-1761 )
2015-05-05 01:35:51
3287
原创 分布式框架学习
Hadoop=HDFS+Hive+Pig+… HDFS (Hadoop Distributed File System): 存储系统 MapReduce:编程模型,将多数据来源整合读写问题进行抽象,转换为计算一个由成对键、值组成的数据集。计算由两部分组成:Map和Reduce。 Hadoop提供一个稳定的共享存储和分析系统,存储由HDFS实现,分析由MapReduce实现。Hive:Hiv
2015-05-04 23:18:00
887
转载 并发和并行的概念区分
转自 http://wwty.iteye.com/blog/617384 就当前计算机的技术来讲,目前大部分的语言能够满足并发执行,但是现在的多核cpu或者多cpu下开始产生并行的概念。总体概念: 在单CPU系统中,系统调度在某一时刻只能让一个线程运行,虽然这种调试机制有多种形式(大多数是时间片轮巡为主),但无论如何,要通过不断切换需要运行的线程让其运行的方式就叫并发(concurrent)。而
2015-05-04 18:56:34
564
原创 字符串处理技术
随着时代的发展,生物信息学(Bioinformatics)的研究内容越来越庞杂,因此定义也越来越概括,以至于从目前给出的定义本身,你根本无法得知所谓的“生物信息学”到底是什么。但是有一点是不可否认的:推动生物信息学爆炸式发展的直接原因是全基因组水平的的测序技术的诞生(这里我们不去讨论测序技术的来龙去脉,太长……)。组学方法生成的大规模数据既是机遇,也对处理方法提出了严峻的考验。虽然这一领域已经诞生了
2015-04-30 11:06:39
406
原创 数理统计——皮尔逊相关(Pearson correlation test)与斯皮尔曼等级相关(Spearman rank correlation test)
前几天在做数据分析时,需要检验一组数据间的相关性,对相关性检验方法进行了一定的研究。 皮尔逊相关(Pearson correlation test)与斯皮尔曼等级相关(Spearman rank corrlation test)是统计学中两个非常重要的相关性检验方法。Pearson correlation test 适用条件是:(1)数据(近似)服从正太分布;(2)最好没有异常点Spearm
2015-04-28 22:52:34
13833
原创 数理统计——T检验(Student's t test)与卡方检验(Chi-square test)
主要用于样本含量较小(例如n<30),总体标准差σ未知的正态分布资料。 t检验分为单总体检验和双总体检验。 单总体t检验是检验一个样本平均数与一个已知的总体平均数的差异是否显著。当总体分布是正态分布,如总体标准差未知且样本容量小于30,那么样本平均数与总体平均数的离差统计量呈t分布。 双总体t检验是检验两个样本平均数与其各自所代表的总体的差异是否显著。双总体t检验又分为两种情况,一是独立样本t
2015-04-28 19:02:49
28532
原创 数据结构与算法的关系
程序=算法+数据结构。联系:数据结构是算法实现的基础,算法总是要依赖于某种数据结构来实现的。往往是在发展一种算法的时候,构建了适合于这种算法的数据结构。 数据结构的设计就是选择存储方式;算法设计的实质就是对实际问题要处理的数据选择一种恰当的存储结构,并在选定的存储结构上设计一个好的算法。区别:数据结构关注的是数据的逻辑结构、存储结构以及基本操作,而算法更多的是关注如何在数据结构的基础上解决实际问题。
2015-04-28 18:36:49
1048
转载 为什么你应该(从现在开始就)写博客
转自:刘未鹏的博客 用一句话来说就是,写一个博客有很多好处,却没有任何明显的坏处。(阿灵顿的情况属于例外,而非常态,就像不能拿抽烟活到一百岁的英国老太太的个例来反驳抽烟对健康的极大损伤一样)让我说得更明确一点:用博客的形式来记录下你有价值的思考,会带来很多好处,却没有任何明显的坏处。Note:碎碎念不算思考、心情琐记不算思考、唠唠叨叨也不算思考、没话找话也不算思考,请以此类推。 下面是我个人认为
2015-04-28 17:49:40
453
原创 排序算法——快速排序
时间复杂度:O(n*logn) 实现:C:void quick_sort(element list[], int left, int right){ int pivot, i, j; element temp; if (left < right){ i = left; j = right; pivot = list[left]
2015-04-28 00:54:43
391
原创 关于算法
在计算机科学中,算法用来描述适合于计算机程序实现的求解问题的方法。大多数算法是计算机中涉及的数据的组织方法。用这种方法建立的对象称之为数据结构,数据结构与算法构成了计算机科学研究的核心。因此,后面我们将会对广泛应用于多个领域的计算机基本算法进行研究,重点关注排序算法和搜索算法。 Here we go!
2015-04-28 00:21:44
1478
原创 关于“机器学习算法”与《算法导论》中“算法”的讨论
本人以生物背景切入生物信息学方向,在学习的过程中常与算法打交道,比如最为基础的序列匹配算法、基因组序列的组装算法等。零零散散学了很多,却没有仔细的对已学算法进行细致的区分和研究,以导致对“算法”本身的概念始终比较模糊。从13年末开始,由于研究方向的需要,开始更多的接触计算机的基础算法和机器学习算法,对二者有了进一步的理解。最近知乎有人提问:机器学习的算法和普通《算法导论》里的算法有什么本质上的异同?
2015-04-27 19:21:21
1367
原创 关于Python中的“ if__name__ == ‘__main__”
关于Python中的“if__name__ == ‘__main__’” 模块是对象,并且所有的模块都有一个内置属性_name_。一个模块的 _name_ 的值取决于您如何应用模块。如果import一个模块,那么模块_name_ 的值通常为模块文件名,不带路径或者文件扩展名。如果想像一个标准的程序样使之直接运行,_name_ 的值将是一个特别缺省_main_。 比如在Python IDE环境
2015-04-27 12:28:15
383
转载 理解矩阵(三)
本文转载于 http://blog.youkuaiyun.com/myan/article/details/1865397这两篇文章发表于去年的4月。在第二部分结束的时候,我说: “矩阵不仅可以作为线性变换的描述,而且可以作为一组基的描述。而 作为变换的矩阵,不但可以把线性空间中的一个点给变换到另一个点去,而且也能够把线性空间中的一个坐标系(基)表换到另一个坐标系(基)去。
2015-04-25 17:13:10
425
转载 理解矩阵(二)
本文转载于http://my.youkuaiyun.com/myan接着理解矩阵。上一篇里说“矩阵是运动的描述”,到现在为止,好像大家都还没什么意见。但是我相信早晚会有数学系出身的网友来拍板转。因为运动这个概念,在数学和物理里是跟微积分联系在一起的。我们学习微积分的时候,总会有人照本宣科地告诉你,初等数学是研究常量的数学,是研究静态的数学,高等数学是变量的数学,是研究运动的数学。大
2015-04-25 17:10:40
303
转载 理解矩阵(一)
前不久chensh出于不可告人的目的,要充当老师,教别人线性代数。于是我被揪住就线性代数中一些务虚性的问题与他讨论了几次。很明显,chensh觉得,要让自己在讲线性代数的时候不被那位强势的学生认为是神经病,还是比较难的事情。可怜的chensh,谁让你趟这个地雷阵?!色令智昏啊!线性代数课程,无论你从行列式入手还是直接从矩阵入手,从一开始就充斥着莫名其妙。比如说,在全国一般工科院系教
2015-04-20 10:27:25
378
转载 大数据人才流失: 科研为何陷入困境
无论无处不在的“大数据”概念引起怎样的联想,逐步增长的数据规模确是改变着我们和世界的交互方式。这在工业界、政界、媒体、学术界,几乎任何领域,都是事实。逐渐增强的对大数据进行收集、处理、抽象化,并从中得到启发的能力,拓宽了我们的知识面。然而近年来,科学研究领域加速转变到以数据为核心,是有负面影响的。总结来说就是:称职的科学研究者需要的能力,和称职的工业界从业人员需要的能力,越来越无法区分。具
2015-04-17 08:09:47
1054
转载 python 单下划线/双下划线使用总结
Python 用下划线作为变量前缀和后缀指定特殊变量/方法。主要存在四种情形1. 1. object # public 2. __object__ # special, python system use, user should not define like it 3. __object # private (name mangling during ru
2015-04-17 08:07:05
398
原创 SVD详解
矩阵的奇异值(singular value decompostion, SVD)在最优化问题、特征值问题、最小二乘方问题、广义逆矩阵问题及统计学方面都有重要的应用。本人在研究生物基因组规模的代谢网络和图像识别的相关算法时,都大量的涉及了这一方面的内容,因此开始对此进行初步的理解和研究。我们从基础的概念开始,逐渐深入。1 奇异矩阵对于一个方阵A,如果行列式|A|=0,则A是奇异矩阵;
2015-04-17 08:06:44
702
原创 生物信息相关国家自然科学基金汇总(持续更新中)
项目题目 申请人 申请单位 经费 年份我国驯养酵母菌资源、遗传多样性与群体演化研究 白逢彦 中科院微生物所 90万 2015基于`翻译组学`的酵母有氧发酵途径翻译调控的进化机制研究 江会锋 中科院天津生技所 85万 2
2015-04-17 08:03:32
2942
转载 Linux下多窗口分屏式终端--Terminator
KEYBINDINGS The following keybindings can be used to control Terminator: Ctrl+Shift+O Split terminals Horizontally.(上下开新窗口) Ctrl+Shift+E Split terminals Vertically.(垂直开新窗口) Ctrl+Shift+Righ
2015-03-15 19:00:43
789
原创 数理统计——生物统计学的数学基础
Population Mean:if a population contains N entities whose measures are x1,x2, … xN, the arithmetic mean is given bySample Mean: if a sample collected from apopulation contains n observations
2015-01-18 12:48:12
1026
转载 learngit
git: No refs in common and none specified; doing no(2012-10-28 11:43:10)转载▼标签:杂谈分类:项目管理用gitolite新建项目,clone后首次push,可能会出现:$ git push No refs in common an
2014-11-25 20:04:12
370
转载 大数据人才流失: 科研为何陷入困境
无论无处不在的“大数据”概念引起怎样的联想,逐步增长的数据规模确是改变着我们和世界的交互方式。这在工业界、政界、媒体、学术界,几乎任何领域,都是事实。逐渐增强的对大数据进行收集、处理、抽象化,并从中得到启发的能力,拓宽了我们的知识面。然而近年来,科学研究领域加速转变到以数据为核心,是有负面影响的。总结来说就是:称职的科学研究者需要的能力,和称职的工业界从业人员需要的能力,越来越无法区分。具
2014-05-13 12:25:25
837
转载 Matlab中将矩阵数据转换成txt文件保存输出的办法
Matlab中将矩阵数据转换成txt文件保存输出的办法命令(一般式):save *.txt -ascii x % x为变量;*.txt为文件名。该文件存储于当前工作目录下,再打开就可以打开后,数据有可能是以指数形式保存的。网上有很多这一类似的问题,其中较为可靠的方法是用fprintf命令: 说明:以上操作都是在当前的工作目录下完成!下面
2014-04-15 11:39:56
5749
转载 python中easy_install的安装和使用
1. 为什么要装easy_install?正常情况下,我们要给Python安装第三方的扩展包,我们必须下载压缩包,解压缩到一个目录,然后命令行或者终端打开这个目录,然后执行python setup.py install来进行安装。但是这样仍然比较麻烦。如果只需键入在命令行中“easy_install *”即可完成在线安装和更新第三方扩容包就方便多了。Python便提供了这样的方法
2014-04-11 21:59:17
891
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人