Isolation,意为孤立/隔离,是名词,其动词为isolate,forest是森林,合起来就是“孤立森林”了,也有叫“独异森林”,好像并没有统一的中文叫法.可能大家都习惯用其英文的名字isolation forest,简称iForest . iForest适用于连续数据(Continuous numerical data)的异常检测,将异常定义为“容易被孤立的离群点(more  likely to be separated)”——可以理解为分布稀疏且离密度高的群体较远的点.用统计学来解释,在…
Isolation,意为孤立/隔离,是名词,其动词为isolate,forest是森林,合起来就是“孤立森林”了,也有叫“独异森林”,好像并没有统一的中文叫法.可能大家都习惯用其英文的名字isolation forest,简称iForest . iForest适用于连续数据(Continuous numerical data)的异常检测,将异常定义为“容易被孤立的离群点(more  likely to be separated)”——可以理解为分布稀疏且离密度高的群体较远的点.用统计学来解释,在…
EM算法也称期望最大化(Expectation-Maximum,简称EM)算法,它是一个基础算法,是很多机器学习领域的基础,比如隐式马尔科夫算法(HMM),LDA主题模型的变分推断算法等等.本文对于EM算法,我们主要从以下三个方向学习: 1,最大似然 2,EM算法思想及其推导 3,GMM(高斯混合模型) 1,最大似然概率 我们经常会从样本观察数据中,找到样本的模型参数.最常用的方法就是极大化模型分布的对数似然函数.怎么理解呢?下面看我一一道来. 假设我们需要调查我们学习的男生和女生的身高分布.你…
南大周志华老师在2010年提出一个异常检测算法Isolation Forest,在工业界很实用,算法效果好,时间效率高,能有效处理高维数据和海量数据,这里对这个算法进行简要总结. iTree 提到森林,自然少不了树,毕竟森林都是由树构成的,看Isolation Forest(简称iForest)前,我们先来看看Isolation Tree(简称iTree)是怎么构成的,iTree是一种随机二叉树,每个节点要么有两个女儿,要么就是叶子节点,一个孩子都没有.给定一堆数据集D,这里D的所有属性都是连续…
K-Means算法 K-Means 算法是无监督的聚类算法,它实现起来比较简单,聚类效果也不错,因此应用很广泛.K-Means 算法有大量的变体,本文就从最传统的K-Means算法学起,在其基础上学习K-Means的优化变体方法.包括初始化优化K-Means++, 距离计算优化 elkan  K-Means 算法和大数据情况下的优化 Mini Batch K-Means算法. 聚类问题的一些概念: 无监督问题:我们的手里没有标签了 聚类:就是将相似的东西分到一组 聚类问题的难点:如何评估,如何调…
K近邻(KNN,k-NearestNeighbor)分类算法是数据挖掘分类技术中最简单的方法之一. 所谓K最近邻,就是K个最近的邻居的意思,说的是每个样本都可以用它最接近的k个邻居来代表.KNN算法的核心思想是如果一个样本在特征空间中的K个最相邻的样本中的大多数属于某一个类别,则该样本也属于这个类别,并具有这个类别上样本的特征.该方法在确定分类决策上只依据最邻近的一个或者几个样本的类别来决定待分样本所属的类别.KNN方法在类别决策时,只与极少数的相邻样本有关.由于kNN方法主要靠周围有限的邻近的…
随机森林算法的理论知识 随机森林是一种有监督学习算法,是以决策树为基学习器的集成学习算法.随机森林非常简单,易于实现,计算开销也很小,但是它在分类和回归上表现出非常惊人的性能,因此,随机森林被誉为“代表集成学习技术水平的方法”. 一,随机森林的随机性体现在哪几个方面? 1,数据集的随机选取 从原始的数据集中采取有放回的抽样(bagging),构造子数据集,子数据集的数据量是和原始数据集相同的.不同子数据集的元素可以重复,同一个子数据集中的元素也可以重复. 2,待选特征的随机选取 与数据集的随机选…
前言 1,Xgboost简介 Xgboost是Boosting算法的其中一种,Boosting算法的思想是将许多弱分类器集成在一起,形成一个强分类器.因为Xgboost是一种提升树模型,所以它是将许多树模型集成在一起,形成一个很强的分类器.而所用到的树模型则是CART回归树模型. Xgboost是在GBDT的基础上进行改进,使之更强大,适用于更大范围. Xgboost一般和sklearn一起使用,但是由于sklearn中没有集成Xgboost,所以才需要单独下载安装. 2,Xgboost的优点…
完整代码及其数据,请移步小编的GitHub 传送门:请点击我 如果点击有误:https://github.com/LeBron-Jian/MachineLearningNote 在数据挖掘方面,经常需要在做特征工程和模型训练之前对数据进行清洗,剔除无效数据和异常数据.异常检测也是数据挖掘的一个方向,用于反作弊,伪基站,金融欺诈等领域. 在之前已经学习了异常检测算法One Class SVM和 isolation  Forest算法,博文如下: Python机器学习笔记:异常点检测算法--One…
集成学习(Ensemble  learning)是使用一系列学习器进行学习,并使用某种规则把各个学习结果进行整合,从而获得比单个学习器显著优越的泛化性能.它不是一种单独的机器学习算法啊,而更像是一种优化策略.因为单个机器学习模型所能解决的问题有限,泛化能力差,但是通过构建组合多个学习器来完成学习任务往往能够获得奇效,这些学习器可以看成一个个基本单元,由他们组合最终形成一个强大的整体,该整体可以解决更复杂的问题,其思想可以形象的概括为三个臭皮匠赛过诸葛亮. 集成学习是机器学习的一大分支,他通过建立…