数据科学家成长之旅

关注 机器学习,深度学习,自然语言处理,数学

2017年3月13日 #

优先(级)队列

摘要: 优先(级)队列 优先队列 优先级队列 是队列的一种,不过它可以按照自定义的一种方式(数据的优先级)来对队列中的数据进行动态的排序。每次的push和pop操作,队列都会动态的调整,以达到我们预期的方式来存储。 优先队列是由堆来实现的。 重点:优先级队列,是要看优先级的,谁的优先级更高,谁就先得到权限。 阅读全文

posted @ 2017-03-13 16:55 会飞的蝸牛 阅读(629) 评论(0) 推荐(0) 编辑

短文本主题建模

摘要: 短文本主题建模 [toc] 1. 引言 许多数据分析应用都会涉及到从短文本中提取出潜在的主题,比如微博、短信、日志文件或者评论数据。一方面,提取出潜在的主题有助于下一步的分析,比如情感评分或者文本分类模型。另一方面,短文本数据存在一定的特殊性,我们无法直接用传统的主题模型算法来处理它。短文本数据的主 阅读全文

posted @ 2017-03-13 16:50 会飞的蝸牛 阅读(1191) 评论(0) 推荐(1) 编辑

基于模型的特征选择详解 (Embedded & Wrapper)

摘要: 基于模型的特征选择详解 (Embedded & Wrapper) [toc] 单变量特征选择方法独立的衡量每个特征与响应变量之间的关系,另一种主流的特征选择方法是基于机器学习模型的方法。_有些机器学习方法本身就具有对特征进行打分的机制,或者很容易将其运用到特征选择任务中,例如回归模型,SVM,决策树 阅读全文

posted @ 2017-03-13 16:46 会飞的蝸牛 阅读(17568) 评论(1) 推荐(3) 编辑

特征选择 (feature_selection)

摘要: 特征选择 (feature_selection) [toc] 本文主要参考sklearn(0.18版为主,部分0.17)的1.13节的官方文档,以及一些工程实践整理而成。 当数据预处理完成后,我们需要选择有意义的特征输入机器学习的算法和模型进行训练。通常来说,从两个方面考虑来选择特征: 特征是否发散 阅读全文

posted @ 2017-03-13 16:45 会飞的蝸牛 阅读(116710) 评论(10) 推荐(8) 编辑

特征选择(一)- 维数问题与类内距离

摘要: 原文地址:http://blog.csdn.net/ycheng_sjtu/article/details/25343043 什么是特征选择? 简单说,特征选择就是降维。 特征选择的任务 就是要从n维向量中选取m个特征,把原向量降维成为一个m维向量。但是降维必须保证类别的可分离性或者说分类器的性能下 阅读全文

posted @ 2017-03-13 16:27 会飞的蝸牛 阅读(3260) 评论(0) 推荐(1) 编辑

特征选择(二)- 聚类变换

摘要: 上一讲说到,各个特征(各个分量)对分类来说,其重要性当然是不同的。舍去不重要的分量,这就是降维。 聚类变换认为:重要的分量就是能让变换后类内距离小的分量。 类内距离小,意味着抱团抱得紧。 但是,抱团抱得紧,真的就一定容易分类么? 如图1所示,根据聚类变换的原则,我们要留下方差小的分量,把方差大(波动 阅读全文

posted @ 2017-03-13 16:26 会飞的蝸牛 阅读(2255) 评论(0) 推荐(0) 编辑

特征选择(三)- K-L变换

摘要: 上一讲说到,各个特征(各个分量)对分类来说,其重要性当然是不同的。舍去不重要的分量,这就是降维。 聚类变换认为:重要的分量就是能让变换后类内距离小的分量。 类内距离小,意味着抱团抱得紧。 但是,抱团抱得紧,真的就一定容易分类么? 如图1所示,根据聚类变换的原则,我们要留下方差小的分量,把方差大(波动 阅读全文

posted @ 2017-03-13 16:26 会飞的蝸牛 阅读(1158) 评论(0) 推荐(0) 编辑

特征选择(四)- 分散度

摘要: 度量类别可分离性的量主要有: 欧氏距离(正态分布,协方差相等,且为单位阵) 是最简单的一种描述方法。它把两个类别中心之间的欧式距离作为两个不同类别间不相似性的度量。 马氏(Mahalanobis)距离(正态分布,协方差相等) 它用来描述两个具有相同的协方差矩阵C,不同的期望值和的类别之间的不相似性, 阅读全文

posted @ 2017-03-13 16:24 会飞的蝸牛 阅读(1874) 评论(0) 推荐(0) 编辑

机器学习实践中的7种常见错误

摘要: http://ml.posthaven.com/machine-learning-done-wrong http://blog.jobbole.com/70684/ Statistical modeling is a lot like engineering. In engineering, the 阅读全文

posted @ 2017-03-13 16:13 会飞的蝸牛 阅读(1339) 评论(0) 推荐(0) 编辑

逻辑回归 vs 决策树 vs 支持向量机(I)

摘要: 原文链接:http://www.edvancer.in/logistic-regression-vs-decision-trees-vs-svm-part1/ 分类问题是我们在各个行业的商业业务中遇到的主要问题之一。在本文中,我们将从众多技术中挑选出三种主要技术展开讨论,逻辑回归(Logistic  阅读全文

posted @ 2017-03-13 15:57 会飞的蝸牛 阅读(1338) 评论(0) 推荐(0) 编辑

逻辑回归 vs 决策树 vs 支持向量机(II)

摘要: 原文地址: Logistic Regression vs Decision Trees vs SVM: Part II 在这篇文章,我们将讨论如何在逻辑回归、决策树和SVM之间做出最佳选择。其实 第一篇文章已经给出了很好的回答,不过在这里再补充一些。下面将继续深入讨论这个主题。事实上,这三个算法在其 阅读全文

posted @ 2017-03-13 15:52 会飞的蝸牛 阅读(957) 评论(0) 推荐(0) 编辑

线性回归和逻辑回归

摘要: 在学习完 Andrew Ng 教授的机器学习课程,这里将线性回归和逻辑回归细节之处梳理一下。 1、 为什么是逻辑回归? 都说线性回归用来做回归预测,逻辑回归用于做二分类,一个是解决回归问题,一个用于解决分类问题。但很多人问起逻辑回归和线性回归的区别,很多人会大喊一声(也可能是三声):逻辑回归就是对线 阅读全文

posted @ 2017-03-13 13:37 会飞的蝸牛 阅读(669) 评论(0) 推荐(0) 编辑

Mac 下 python 环境问题

摘要: 一、Mac下,可能存在的 python 环境: 1、Mac系统自带的python环境在(由于不同的 mac 系统,默认自带的 python 版本可能不一样): Python 2.7.10: /System/Library/Frameworks/Python.framework/Versions/2. 阅读全文

posted @ 2017-03-13 10:14 会飞的蝸牛 阅读(604) 评论(0) 推荐(0) 编辑

Linux目录/usr结构说明

摘要: 在 linux 文件结构中,有一个很神奇的目录 —— /usr。 讨论中,大部分观点认为: usr 是 unix system resources 的缩写; usr 是 user 的缩写; usr 是 unix software resources 的缩写。 根据常识判断,是 user 缩写的可能性 阅读全文

posted @ 2017-03-13 10:07 会飞的蝸牛 阅读(296) 评论(0) 推荐(0) 编辑

Python 处理 json

摘要: Python在处理json数据中有四个重要的函数:dump,load;dumps,loads。 序列化(dict 包装成 json文件) dump(转储):将字典dic对象 转化为 json文件 API说明:Serialize as a JSON formatted stream to (a.wri 阅读全文

posted @ 2017-03-13 09:52 会飞的蝸牛 阅读(193) 评论(0) 推荐(0) 编辑

2017年3月10日 #

感知机、logistic回归 损失函数对比探讨

摘要: 感知机、logistic回归 损失函数对比探讨 感知机 假如数据集是线性可分的,感知机学习的目标是求得一个能够将正负样本完全分开的分隔超平面 $wx+b=0$ 。其学习策略为,定义(经验)损失函数并将损失函数最小化。通常,定义损失函数的策略是:== 误分类点 到分隔超平面的总距离==。【李航,2.2 阅读全文

posted @ 2017-03-10 09:47 会飞的蝸牛 阅读(4797) 评论(0) 推荐(0) 编辑

SVM探讨

摘要: SVM探讨 [toc] SVM算法 根据处理问题的复杂度,SVM 可由简到繁分为三种: 线性可分支持向量机 :硬间隔最大化。 线性支持向量机 :数据分布近似线性可分,可通过软间隔最大化(惩罚因子,松弛变量)来线性分隔样本点。 非线性支持向量机 :通过核函数提升特征维度,做个一个非线性的变换,来将非线 阅读全文

posted @ 2017-03-10 09:43 会飞的蝸牛 阅读(895) 评论(0) 推荐(0) 编辑

支持向量机及核函数

摘要: [toc] 常见核函数 线性核 (linear kernel):$$K(x_1,x_2)=x_1\cdot x_2+c$$ 多项式核 (polynomial kernel):$$K(x_1, x_2)=(x_1\cdot x_2 +c)^d$$其中 $d\ge1$,为多项式的次数。 感知器核 (Si 阅读全文

posted @ 2017-03-10 09:40 会飞的蝸牛 阅读(1543) 评论(0) 推荐(0) 编辑

2017年3月5日 #

TopicsExtraction with NMF & LDA

摘要: ```python """ ======================================================================================= Topic extraction with Non-negative Matrix Factorization and Latent Dirichlet Allocation =========... 阅读全文

posted @ 2017-03-05 22:01 会飞的蝸牛 阅读(392) 评论(0) 推荐(0) 编辑

2017年3月4日 #

查找算法(1)——二分查找

摘要: ```python __author__ = 'steven' list = [1, 3, 6, 7, 9, 13, 15, 26, 33, 45] def bin_search(num, list): lenth = len(list) start = 0 end = lenth -1 middle = int(( start + end) / 2) ... 阅读全文

posted @ 2017-03-04 20:23 会飞的蝸牛 阅读(312) 评论(0) 推荐(0) 编辑

排序算法复杂度总结

摘要: ![](http://ogex32jwc.bkt.clouddn.com/sort_algorithm.jpg) 阅读全文

posted @ 2017-03-04 20:22 会飞的蝸牛 阅读(173) 评论(0) 推荐(0) 编辑

排序算法(8)——基数排序

摘要: ```python __author__ = 'steven' # coding=utf-8 '''基数排序: 原理类似桶排序,这里总是需要10个桶,多次使用. 首先以个位数的值进行装桶,即个位数为1则放入1号桶,为9则放入9号桶,暂时忽视十位数 例如,待排序数组[62,14,59,88,16] 分配10个桶,桶编号为0-9,以个位数数字为桶编号依次入桶,变成下边这样 | 0 | 0 | 62 ... 阅读全文

posted @ 2017-03-04 20:08 会飞的蝸牛 阅读(166) 评论(0) 推荐(0) 编辑

排序算法(7)——堆排序

摘要: ```python __author__ = 'steven' # coding=utf-8 '''堆排序: 堆的概念: 若以一维数组存储一个堆,则堆对应一棵完全二叉树,且所有非叶结点的值 均不大于(或不小于)其子女的值,根结点(堆顶元素)的值是最小(或最大)的. 堆排序的过程: 1.初始时把要排序的n个数的序列看作是一棵顺序存储的二叉树(一维数组存储二叉树), ... 阅读全文

posted @ 2017-03-04 19:59 会飞的蝸牛 阅读(240) 评论(0) 推荐(0) 编辑

排序算法(6)——快速排序

摘要: ```python __author__ = 'steven' coding=utf 8 '''快速排序 它采用了一种分治的策略,通常称其为分治法(Divide and ConquerMethod)。 该方法的基本思想是: 1. 从数列中挑出一个元素,称为 “基准”(pivot). 2. 分区操作( 阅读全文

posted @ 2017-03-04 19:58 会飞的蝸牛 阅读(202) 评论(0) 推荐(0) 编辑

排序算法(5)——归并排序

摘要: ```python __author__ = 'steven' coding=utf 8 '''归并排序 归并排序(Merge sort,台湾译作:合并排序)是建立在归并操作上的一种有效的排序算法。 该算法是采用分治法(Divide and Conquer)的一个非常典型的应用 步骤: 1.申请空间 阅读全文

posted @ 2017-03-04 19:58 会飞的蝸牛 阅读(384) 评论(0) 推荐(0) 编辑

排序算法(4)——希尔排序

摘要: ```python __author__ = 'steven' # coding=utf-8 '''希尔排序 希尔排序的实质就是分组插入排序,该方法又称*缩小增量(step)排序*,因DL.Shell于1959年提出而得名。 希尔排序,也称递减增量排序算法,是插入排序的一种更高效的改进版本。 希尔排序是基于插入排序的以下两点性质而提出改进方法的: 1.插入... 阅读全文

posted @ 2017-03-04 19:57 会飞的蝸牛 阅读(229) 评论(0) 推荐(0) 编辑

排序算法(3)——插入排序

摘要: ```python __author__ = 'steven' coding=utf 8 '''插入排序(Insertion Sort) 它的工作原理是通过构建有序序列,对于未排序数据, 在已排序序列中从后向前扫描,找到相应位置并插入。 步骤: 1.从第一个元素开始,该元素可以认为已经被排序 2.取 阅读全文

posted @ 2017-03-04 19:56 会飞的蝸牛 阅读(164) 评论(0) 推荐(0) 编辑

排序算法(2)——选择排序

摘要: ```python __author__ = 'steven' coding=utf 8 '''注意:“交换”是个比较耗时的操作!''' '''选择排序 选择排序相比冒泡,大大减少了元素的交换次数. 其实我们很容易发现,在还未完全确定当前最小元素之前,这些交换都是无意义的。 我们可以通过设置一个变量 阅读全文

posted @ 2017-03-04 19:52 会飞的蝸牛 阅读(185) 评论(0) 推荐(0) 编辑

排序算法(1)——冒泡排序

摘要: ```python __author__ = 'steven' coding=utf 8 '''冒泡排序 排序过程: 沉淀法(比大,大的下沉):(visualgo上面的动态图就是沉淀法) 第 1 次从 头 开始比较前后两个数字的大小,最大的数沉淀在第 n 位置,比较n 1次; 第 2 次从 头 开始 阅读全文

posted @ 2017-03-04 19:49 会飞的蝸牛 阅读(402) 评论(0) 推荐(0) 编辑

2017年3月3日 #

函数梯度及空间曲面切平面

摘要: 函数梯度及空间曲面切平面 求曲面(线)的 $y=x^2$ 在点 $P(1,1)$ 处的切线。 解: 令:$f(x,y)=x^2 y$, 则梯度方向为:$\nabla f(x,y)=2xi j$ 所以等值面(等高线) $f(x,y)=x^2 y=0$ 的在点 $P(1,1)$ 处的法向量为:$\ove 阅读全文

posted @ 2017-03-03 17:44 会飞的蝸牛 阅读(6754) 评论(2) 推荐(0) 编辑

关于n维和n-1维欧式空间

摘要: 我们从小就说,“点动成线,线动成面,面动成体”,其中的空间的概念到底是啥?之前没有好好想过,在机器学习中多次遇到“空间”、“超平面”,“分割面”等概念,一会n维,一会儿n+1维,理解的有点模糊。今儿突然应该是彻底想明白了,记录一下。 先抛出一个问题:$x_1 + x_2 + 2 = 0$ 请问,是几 阅读全文

posted @ 2017-03-03 17:43 会飞的蝸牛 阅读(2636) 评论(0) 推荐(0) 编辑

优先(级)队列

摘要: 优先队列 优先级队列 是队列的一种,不过它可以按照自定义的一种方式(数据的优先级)来对队列中的数据进行动态的排序。每次的push和pop操作,队列都会动态的调整,以达到我们预期的方式来存储。 优先队列是由堆来实现的。 重点:优先级队列,是要看优先级的,谁的优先级更高,谁就先得到权限。不分排队的顺序! 阅读全文

posted @ 2017-03-03 17:37 会飞的蝸牛 阅读(313) 评论(0) 推荐(0) 编辑

Advice for applying Machine Learning

摘要: 本博文由本人整理而来: "Advice for applying Machine Learning" file:///Users/steven/百度云同步盘/百度同步云盘/Books_Papers_Documents/docs/ml_advice/ml_advice.html 由于文件在本地,如果想 阅读全文

posted @ 2017-03-03 16:41 会飞的蝸牛 阅读(280) 评论(0) 推荐(0) 编辑

2017年3月2日 #

[机器学习系列-广义线性模型

摘要: "机器学习系列 广义线性模型" https://mp.weixin.qq.com/s?__biz=MzA5NDQ3MDI4NA==&mid=2658611595&idx=1&sn=fe706a0852ebeb46853668a35c9f0ca1&chksm=8bcdb868bcba317e640bf 阅读全文

posted @ 2017-03-02 20:59 会飞的蝸牛 阅读(283) 评论(0) 推荐(0) 编辑

使用sklearn进行集成学习——理论

摘要: "使用sklearn进行集成学习——理论" 阅读全文

posted @ 2017-03-02 20:58 会飞的蝸牛 阅读(217) 评论(0) 推荐(0) 编辑

2017年1月22日 #

博客园markdown功能测试

摘要: MacDown Hello there! I’m MacDown , the open source Markdown editor for OS X. Let me introduce myself. Markdown and I Markdown is a plain text formatti 阅读全文

posted @ 2017-01-22 13:49 会飞的蝸牛 阅读(812) 评论(2) 推荐(0) 编辑

机器学习中的正则化问题(1)——概念

摘要: 一般来说,监督学习就是最小化下面函数: $$w^ = arg\min_w \sum_iL(y_i,\;f(x_i;w)) + \lambda\Omega(w)$$ 对于第一部分——Loss函数,一般有如下几种情况: 如果是Square loss,那就是最小二乘了; 如果是Hinge Loss,那就是 阅读全文

posted @ 2017-01-22 13:40 会飞的蝸牛 阅读(1014) 评论(0) 推荐(0) 编辑

2017年1月4日 #

机器学习中的正则化问题(2)——理解正则化

摘要: 理解正则化 [toc] 正则化的由来 有几种角度来看待正则化(Regularization),它符合 奥卡姆剃刀(Occam’s razor)原理 :在所有可能选择的模型中,能够很好地解释已知数据并且十分简单的才是最好的模型。 从贝叶斯估计的角度来看,正则化项对应于模型的先验概率。 还有个说法就是, 阅读全文

posted @ 2017-01-04 11:34 会飞的蝸牛 阅读(2632) 评论(0) 推荐(0) 编辑

2017年1月3日 #

详解 Python 中的下划线命名规则

摘要: 在 python 中,下划线命名规则往往令初学者相当 疑惑:单下划线、双下划线、双下划线还分前后……那它们的作用与使用场景 到底有何区别呢?今天 就来聊聊这个话题。 1、单下划线(_) 通常情况下,单下划线(_)会在以下3种场景中使用: 1.1 在解释器中: 在这种情况下,“_”代表交互式解释器会话 阅读全文

posted @ 2017-01-03 18:16 会飞的蝸牛 阅读(813) 评论(0) 推荐(0) 编辑

2016年12月20日 #

编程面试的算法概念汇总

摘要: [toc] 编程面试的算法概念汇总 以下是在编程面试中排名前 10 的算法相关的概念,并一些简单的例子来阐述这些概念。由于完全掌握这些概念需要更多的努力,因此这份列表只是作为一个介绍。本文将从Java的角度看问题,包含下面的这些概念: 1. 字符串 2. 链表 3. 树 4. 图 5. 排序 6. 阅读全文

posted @ 2016-12-20 14:24 会飞的蝸牛 阅读(487) 评论(0) 推荐(0) 编辑

导航