Mudux Blog

我究竟拿时间换了什么

docopt-命令行参数解释器

1.介绍   doc-opt在Python中引入了一种针对命令行参数的形式语言,极大的简化了命令行参数解析工作,个人感觉比argparse好用许多。 2.用法   在代码的最开头加入用”"”文档注释的形式写出的文档注释,就可以自动生成对应的parse。 如下所示(来自Stanford CS224N Assignment 4): 1 2 3 4 5 6 7 8 9 10 11 12 13 1...

Glove笔记

1. Glove介绍   Glove全称Global Vectors for word Representation,它是一个基于全局词频统计(count-based & overall statistics)的词表征(word representation)工具,可以把一个单词表达成一个由实数组成的向量,这些向量捕捉到了单词之间的一些语义特性,比如相似性(similarity)、类...

Word2Vec笔记

  word2vec是google在2013年推出的一个NLP工具,它可以将所有的词向量化(word embedding)。word2vec可以在百万数量级的词典和上亿的数据集上进行高效的训练。这里总结下word2vec背后的算法模型。 1. 统计语言模型   NLP中的一个基本问题:如何计算一段文本序列在某种语言下出现的概率?它在很多NLP任务中都扮演着重要的角色。例如,在机器翻译问题中...

SVD奇异值分解原理与推荐系统应用

  奇异值分解(Singular Value Decomposition,简称SVD)是在机器学习领域广泛使用的算法。它不仅可以用于降维算法中的特征分解,还可以用于推荐系统,以及自然语言处理等领域。这里总结下SVD原理与应用。 1. 特征值与特征向量   特征值与特征向量定义如下,对矩阵$A$:   其中$A$是一个$n\times n$的实对称矩阵,$x$是一个$n$维特征向量,$...

XGBoost笔记

  XGBoost是大规模并行boosting tree工具,是GBDT的一种高效实现,两者在目标函数定义,工程实现上有些差别。这里总结下相关知识。 1. XGBoost损失函数   XGBoost求解的是由$k$个基模型组成的一个加法模型   其中$f_k$是第$k$个基模型,$\widehat{y}_i$为第$i$个样本的预测值。   在GBDT中求解每个基模型的过程为: ...

提升树算法理论详解

  在之前总结了Boosting里面的AdaBoost算法,这里对Boosting里面另一个重要的算法梯度提升树(Gradient Boosting Decision Tree,简称GBDT)做一个总结。 1. 提升树 1.1 提升树模型   提升树实际采用加法模型(即基函数的线性组合)与前向分步算法。以决策树为基函数的提升方法称为提升树(boosting tree)。对分类问题决策树是二...

Adaboost算法理论详解与实现

  前面介绍了Bagging方法中代表性的Random Forest方法,这里介绍Boosting中最具代表性的AdaBoost算法。   AdaBoost算法包括AdaBoost分类算法和AdaBoost回归算法,如AdaBoost R2等。这里仅介绍AdaBoost分类算法。 1. AdaBoost算法   假设给定一个二类分类的训练数据集   其中,每个样本点由实例与标记组成...

随机森林算法理论详解

  前面总结了集成学习算法,在bagging中,各个基学习器见关联不大,同时使用的基学习器是强模型。随机森林(Random Forest, RF)就是Bagging算法的进阶版,它的思想仍然是bagging,但是进行了相关改进。 1. 随机森林算法   随机森林算法的改进如下:   首先,RF使用了CART树作为基学习器;第二,在适用决策树的基础上,RF对决策树的建立做了改进,对于普通的决策...

集成学习概述

  集成学习(ensemble learning)结合多个学习器来完成学习任务,也就是“博采众长”。集成学习可以用于分类问题集成、回归问题集成、特征选取集成、异常点检测集成等等。 1. 集成学习概述   从下图,可以对集成学习的思想做一个概括。对于训练集数据,通过训练若干个个体学习器,通过一定的结合策略,就可以最终形成一个强学习器。   也就是说,集成学习有两个主要的问题需要解决,第一...

SVM算法代码实现

  在之前介绍了SVM理论知识,SVM求解可以形式化为一个凸二次规划问题,在SVM求解方法中介绍了用SMO方法求解这个凸二次规划问题。这里介绍了基于SMO优化方法的SVM。 1. python代码   SVM.py文件 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32...