为什么L1稀疏,L2平滑?

使用机器学习方法解决实际问题时,我们通常要用L1或L2范数做正则化(regularization),从而限制权值大小,减少过拟合风险。特别是在使用梯度下降来做目标函数优化时,很常见的说法是,  L1正则化产生稀疏的权值, L2正则化产生平滑的权值。为什么会这样?这里面的本质原因是什么呢?下面我们从两个角度来解释这个问题。

 Read more

spark机器学习库指南[Spark 1.3.1版]——协同过滤(Collaborative Filtering)

下面是章节协同过滤的目录(其他内容参见全文目录)

spark机器学习库指南[Spark 1.3.1版]

本文翻译自Spark官方文档:Machine Learning Library (MLlib) Guide ,代码示例以Python版为主,部分Python不支持的功能保留原理说明,代码示例略去,另外翻译的时候对部分概念做注解。[注:翻译是为了帮助自己更好地理解相关概念,英语OK的同学建议直接阅读英文原版]

 Read more

揭开机器学习的面纱:最大熵模型100行代码实现[Python版]

理论说明部分见上一篇:

最大熵模型简介[例子+推导+GIS求解]

为了是代码简短,方便阅读,去掉了很多健壮性检测的代码以及特殊处理。下面的代码实现的是:使用最基础GIS训练最大熵模型。GIS由于性能问题在实际中不适用,但是可以帮助我们理解最大熵训练到底在做什么。

训练数据来自各种天气情况下是否打球的例子:data.txt

 Read more

Slope One——简单而高效的协同过滤算法

在传统基于内容的推荐系统中,根据商品特性的相似性来做推荐,例如:如果你购买了Machine Learning, Tom M.Mitchell这本书,系统会给你推荐The Elements of Statistical Learning, Trevor Hastie/Robert Tibshirani/Jerome Friedman。这两本都是机器学习领域的经典书籍,系统基于机器学习这个共同的特性做了上述推荐。

 Read more