
MachineLearning
文章平均质量分 93
zealscott
https://tech.zealscott.com
展开
-
决策树原理及实现(一)--ID3算法及改进(C4.5)
决策树是机器学习中很经典也很直观的算法。本文介绍决策树的基本思路和原理。引言决策树(Decision Tree)是一种基本的分类与回归算法。决策树是一种树形结构,这在计算机中的数据结构中很常见,也很容易理解:我们选择一种属性对其进行划分,通过其属性的取值不同划分节点,直到最后属性完全相同或不能继续划分为止。因此,其学习的关键在于如何选择最优划分属性。这也是我们接下来要重点介绍的...原创 2018-04-16 16:32:57 · 4696 阅读 · 0 评论 -
Factor Analysis
这应该是学ML以来推导过的最痛苦的算法了,所以我想先用直观的语言描述什么是Factor analysis。因子分析(factor analysis)是一种数据简化的技术。它通过研究众多变量之间的内部依赖 关系,探求观测数据中的基本结构,并用少数几个假想变量来表示其基本的数据结构。这几 个假想变量能够反映原来众多变量的主要信息。原始的变量是可观测的显在变量,而假想变量是不可观测的潜在变量,称为因子...原创 2019-05-14 22:27:00 · 270 阅读 · 0 评论 -
EM算法推导
推导EM算法,并证明收敛性。Jensen’s inequality定理:若fff是凸函数,XXX是随机变量,我们有:E[f(X)]≥f(EX)\mathrm{E}[f(X)] \geq f(\mathrm{E} X)E[f(X)]≥f(EX)若fff是严格凸函数,也就是f′′>0f^{''} > 0f′′>0恒成立,同...原创 2019-04-18 21:05:12 · 310 阅读 · 0 评论 -
EM 思想
以Kmeans和GMM为例,阐述EM思想。Kmeanskmeans是一种相当简单和直观的聚类算法,主要分类两步:对于每个点,选择离他最近的聚类中心作为他的类别:c(i):=argminj∥x(i)−μj∥2c^{(i)} :=\arg \min _{j}\left\|x^{(i)}-\mu_{j}\right\|^{2}c(i):=argminj∥∥x(i)−μj∥∥2...原创 2019-04-18 11:40:26 · 276 阅读 · 0 评论 -
Regularization&feature selection
Cross validation / multual information / Bayesian statistics and regularization在之前我们讨论了最小化风险函数,但很多时候这样做的效果并不好,这是由于bias and variance的权衡。因此,我们需要进行模型选择,来自动的选择最合适的模型。Cross validation假设我们有一些有限的模型,如何来选择...原创 2019-04-15 15:06:25 · 205 阅读 · 0 评论 -
Advice for applying Machine Learning -- Andrew Ng
Key ideas:Diagnostics for debugging learning algorithms.Error analyses and ablative analysis.How to get started on a machine learning problem.Premature (statistical) optimization.Debugging ...原创 2019-04-16 21:08:01 · 218 阅读 · 0 评论 -
生成模型
介绍判别模型和生成式模型,朴素贝叶斯。生成模型和判别模型discriminative learning algorithms,也就是根据特征值来求结果的概率。可以表示为P(y∣x;θ)P(y|x;\theta)P(y∣x;θ),在参数确定的条件下,直接求得在当前样本feature下的y的概率实际上是求条件概率常见的判别模型有线性回归、对数回归、线性判别分析、支持向量机、boosti...原创 2019-03-20 18:34:17 · 2599 阅读 · 0 评论 -
线性回归与分类
回顾线性回归,logistic回归和softmax。LMS先构造线性函数进行拟合:h(x)=θ0+θ1x1+θ2x2h(x) = \theta_0 + \theta_1 x_1 + \theta_2 x_2h(x)=θ0+θ1x1+θ2x2定义cost function:J(θ)=12∑(h(xi)−yi)2J(\theta) = \frac{1}{2} \sum (h(x^...原创 2019-03-20 18:33:22 · 802 阅读 · 0 评论 -
SVM入门笔记
本文不是一篇正式的tutorial,只是帮助回忆和理解SVM推导的笔记。此文章会长期更新。分类问题SVM(support vector machine)是一种著名的分类算法。我们学过Logistic回归,但它只能处理简单的线性分类。在现实生活中,很多问题的属性不能简单的用线性分类完成,或者说线性分类的效果不好,这时候我们就要想其他办法。超平面我们可以想象这样一个方程:wTx+b=0w^T...原创 2019-03-20 18:32:16 · 389 阅读 · 0 评论 -
机器学习系统--GraphLab
介绍分布式机器学习系统架构GraphLab。GraphLab简介是一个以数据为中心的机器学习系统。实际中很多模型都可以转化为图的形式:社交网络推荐系统文本分析概率图模型我们之前已经有了基于BSP Model的Pregel,其主要特点是需要进行同步(双屏障),而同步是由最慢的节点决定,造成:资源的浪费(大部分节点会等待少部分节点收敛)某些算法可能并不需要同步更新某些机...原创 2019-01-04 20:08:08 · 595 阅读 · 0 评论 -
基于IMDb数据集的情感分析(TF-IDF与机器学习实现)
使用TF-IDF模型,结合机器学习进行情感分类,能取得较好的准确率。本文的JupyterNotebook可参考这里。本文介绍NLP的通用方法TF-IDF的使用,并且分类准确率能达到0.95,进入kaggle排行榜的前100。TF-IDFTF-IDF(词频-逆文档频率)算法是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。TFIDF的主要...原创 2018-06-27 15:47:58 · 5129 阅读 · 4 评论 -
基于IMDb数据集的情感分析(Doc2Vec模型与神经网络实现)
使用Doc2Vec模型参加Kaggle的NLP比赛,最终score达到0.97,前2%。本文所有的代码都可以在我的github上找到。在上一篇博文中,我们使用了TF-IDF,准确率达到了0.95,已经进入前100,但还不够,我们试试使用更加高大上的Doc2Vec结合神经网络模型,其准确率能否再次提升。数据介绍本数据来源于IMDB电影评论集,是Kaggle上一个入门的项目。...原创 2018-06-27 15:47:21 · 7012 阅读 · 5 评论 -
交叉熵与softmax
介绍改进神经网络的基本方法:交叉熵代价函数与softmax。二次代价函数之前我们一直使用二次代价函数,貌似在一定程度上也挺work。但其实,当输入值与目标值差距很大时,二次代价函数就不是很恰当了;这是因为当差距很大时,此函数的学习速率会很慢。我们可以通过一个简单的例子观察这种变化:假设我们只使用一个神经元与一个输出神经元,定义代价函数为:C=(y−a)22C=(y−a)...原创 2018-05-13 22:19:44 · 6036 阅读 · 4 评论 -
决策树原理及实现(三)--python实现
决策树的python实现及可视化。本文的大部分代码基于Machine Learning in Action一书,原书代码解释较少,自己增加了很多注释,可以在这里下载。ID3算法实现构造数据def createDataSet(): """ the dataset for test """ dataSet = [[1, 1, 'yes'], ...原创 2018-04-26 17:08:20 · 262 阅读 · 0 评论 -
决策树原理及实现(二)--CART算法及剪枝
本节介绍决策树中使用最多的CART方法以及剪枝,主要参考资料。在上一节我们将了ID3算法,和ID3算法的改进版C4.5算法。对于C4.5算法,我们也提到了它的不足,特别是不能处理连续数据等。而目前最常见的CART既可以做回归,也可以做分类,在skleran包中的决策树也采用此种方法。特征选择方法前面无论是ID3或者C4.5算法,我们都是使用的“熵”这一度量单位来选取特征。但计算...原创 2018-04-17 09:59:18 · 1905 阅读 · 0 评论 -
PCA算法推导
PCA理解与应用。MotivationPCA与Factor analysis非常相似,都是主要用于reduction data dimensions。但PCA的想法相比于Factor analysis更简单,实现起来也更加直观和容易(只需要算特征值)。PCA tries to identify the subspace in which the data approximately li...原创 2019-05-26 22:03:23 · 1911 阅读 · 0 评论