实战部分主要针对某一具体算法对其原理进行较为详细的介绍,然后进行简单地实现(可能对算法性能考虑欠缺),这一部分主要介绍一些常见的一些聚类算法. K-means聚类算法 0.聚类算法算法简介 聚类算法算是机器学习中最为常见的一类算法,在无监督学习中,可以说聚类算法有着举足轻重的地位. 提到无监督学习,不同于前面介绍的有监督学习,无监督学习的数据没有对应的数据标签,我们只能从输入X中去进行一些知识发现或者预处理. 过去在有监督学习中,我们(让机器)通过X去预测Y,而到了无监督学习中,我们(让机器)只…
层次聚类和DBSCAN 前面说到K-means聚类算法,K-Means聚类是一种分散性聚类算法,本节主要是基于数据结构的聚类算法--层次聚类和基于密度的聚类算法--DBSCAN两种算法. 1.层次聚类 下面这样的结构应该比较常见,这就是一种层次聚类的树结构,层次聚类是通过计算不同类别点的相似度创建一颗有层次的树结构,在这颗树中,树的底层是原始数据点,顶层是一个聚类的根节点. 创建这样一棵树的方法有自底向上和自顶向下两种方式. 下面介绍一下如何利用自底向上的方式的构造这样一棵树: 为了便于说明,假…
使用 Python实现 K_Means聚类算法: 问题定义 聚类问题是数据挖掘的基本问题,它的本质是将n个数据对象划分为 k个聚类,以便使得所获得的聚类满足以下条件: 同一聚类中的数据对象相似度较高: 不同聚类中的对象相似度较小. 相似度可以根据问题的性质进行数学定义. K-means算法就是解决这类问题的经典聚类算法 它的基本思想是以空间中k个点为中心,进行聚类,对最靠近他们的对象归类. 通过迭代的方法,逐次更新各聚类中心的值,直至得到最好的聚类结果其IPO描述如下: 输入:N个数据…
EM算法也称期望最大化(Expectation-Maximum,简称EM)算法,它是一个基础算法,是很多机器学习领域的基础,比如隐式马尔科夫算法(HMM),LDA主题模型的变分推断算法等等.本文对于EM算法,我们主要从以下三个方向学习: 1,最大似然 2,EM算法思想及其推导 3,GMM(高斯混合模型) 1,最大似然概率 我们经常会从样本观察数据中,找到样本的模型参数.最常用的方法就是极大化模型分布的对数似然函数.怎么理解呢?下面看我一一道来. 假设我们需要调查我们学习的男生和女生的身高分布.你…
机器学习六--K-means聚类算法 想想常见的分类算法有决策树.Logistic回归.SVM.贝叶斯等.分类作为一种监督学习方法,要求必须事先明确知道各个类别的信息,并且断言所有待分类项都有一个类别与之对应.但是很多时候上述条件得不到满足,尤其是在处理海量数据的时候,如果通过预处理使得数据满足分类算法的要求,则代价非常大,想想如果给你50个G这么大的文本,里面已经分好词,这时需要将其按照给定的几十个关键字进行划分归类,监督学习的方法确实有点困难,而且也不划算,前期工作做得太多了. 这时候可以考…
一.算法介绍 K-means算法是最简单的也是最著名的划分聚类算法,由于简洁和效率使得他成为所有聚类算法中最广泛使用的.算法的目的是使各个样本与所在均值的误差平方和达到最小(这也是评价K-means算法最后聚类效果的评价标准) 这里小编给大家推荐两个不错的学习链接: 网易公开课 博客 二.算法步骤解析 我们以二维点集为例: 从平面中随机选取K个点作为初始聚类中心,我们的目的是将给定的所有点集分成K类: 计算每个点到初始聚类中心的距离,并选择距离最近的归为其类: 所有点归完类后,计算每一类的质心,…
K近邻(KNN,k-NearestNeighbor)分类算法是数据挖掘分类技术中最简单的方法之一. 所谓K最近邻,就是K个最近的邻居的意思,说的是每个样本都可以用它最接近的k个邻居来代表.KNN算法的核心思想是如果一个样本在特征空间中的K个最相邻的样本中的大多数属于某一个类别,则该样本也属于这个类别,并具有这个类别上样本的特征.该方法在确定分类决策上只依据最邻近的一个或者几个样本的类别来决定待分样本所属的类别.KNN方法在类别决策时,只与极少数的相邻样本有关.由于kNN方法主要靠周围有限的邻近的…
一.关于聚类及相似度.距离的知识点 二.k-means算法思想与流程 三.sklearn中对于kmeans算法的参数 四.代码示例以及应用的知识点简介 (1)make_blobs:聚类数据生成器 sklearn.datasets.make_blobs(n_samples=100, n_features=2,centers=3, cluster_std=1.0, center_box=(-10.0, 10.0), shuffle=True, random_state=None)[source] 返…
本文来自同步博客. 前面几篇文章介绍了回归或分类的几个算法,它们的共同点是训练数据包含了输出结果,要求算法能够通过训练数据掌握规律,用于预测新输入数据的输出值.因此,回归算法或分类算法被称之为监督学习(Supervised Learning). 本篇文章将接触有别于监督学习的另一类机器学习算法——无监督学习(Unsupervised Learning).无监督学习是寻找缺乏标准答案的输入数据的规律.其中聚类算法是无监督学习主要的分支.今天介绍的K-Means算法就是聚类算法的其中一种比较常见的算…
K-Means算法 K-Means 算法是无监督的聚类算法,它实现起来比较简单,聚类效果也不错,因此应用很广泛.K-Means 算法有大量的变体,本文就从最传统的K-Means算法学起,在其基础上学习K-Means的优化变体方法.包括初始化优化K-Means++, 距离计算优化 elkan  K-Means 算法和大数据情况下的优化 Mini Batch K-Means算法. 聚类问题的一些概念: 无监督问题:我们的手里没有标签了 聚类:就是将相似的东西分到一组 聚类问题的难点:如何评估,如何调…