精华内容
下载资源
问答
  • Kmeans算法的优缺点

    万次阅读 2015-04-13 13:33:46
    kmeans算法的优缺点

    K-means算法的优点是:首先,算法能根据较少的已知聚类样本的类别对树进行剪枝确定部分样本的分类;其次,为克服少量样本聚类的不准确性,该算法本身具有优化迭代功能,在已经求得的聚类上再次进行迭代修正剪枝确定部分样本的聚类,优化了初始监督学习样本分类不合理的地方;第三,由于只是针对部分小样本可以降低总的聚类时间复杂度。

    K-means算法的缺点是:首先,在 K-means 算法中 K 是事先给定的,这个 K 值的选定是非常难以估计的。很多时候,事先并不知道给定的数据集应该分成多少个类别才最合适;其次,在 K-means 算法中,首先需要根据初始聚类中心来确定一个初始划分,然后对初始划分进行优化。这个初始聚类中心的选择对聚类结果有较大的影响,一旦初始值选择的不好,可能无法得到有效的聚类结果;最后,该算法需要不断地进行样本分类调整,不断地计算调整后的新的聚类中心,因此当数据量非常大时,算法的时间开销是非常大的。

            K-means算法对于不同的初始值,可能会导致不同结果。解决方法:

    1.多设置一些不同的初值,对比最后的运算结果,一直到结果趋于稳定结束

    2.很多时候,事先并不知道给定的数据集应该分成多少个类别才最合适。通过类的自动合并和分裂,得到较为合理的类型数目 K,例如 ISODATA 算法。

           K-means算法的其他改进算法如下:

    1.     k-modes 算法:实现对离散数据的快速聚类,保留了k-means算法的效率同时将k-means的应用范围扩大到离散数据。

    2.     k-Prototype算法:可以对离散与数值属性两种混合的数据进行聚类,在k-prototype中定义了一个对数值与离散属性都计算的相异性度量标准。

    展开全文
  • 写在前面:本人也是处于学习ing,本片内容引自机器学习常见算法优缺点总结!,对此加以略微排版总结到知乎中。对于内容中有更好总结,望各位多加评论、指导,谢谢。决策树算法分类算法聚类算法集成算法(AdaBoost...

    88c3c5a9de604e6c385d0a66703f81bb.png
    写在前面:本人也是处于学习ing,本片内容引自机器学习常见算法优缺点总结!,对此加以略微排版总结到知乎中。对于内容中有更好的总结,望各位多加评论、指导,谢谢。
    • 决策树算法
    • 分类算法
    • 聚类算法
    • 集成算法(AdaBoost算法)
    • 人工神经网络算法
    • 排序算法
    • 关联规则算法(Apriori算法)

    一、 决策树算法

    决策树优点:
    1、决策树易于理解和解释,可以可视化分析,容易提取出规则。
    2、可以同时处理标称型和数值型数据。
    3、测试数据集时,运行速度比较快。
    4、决策树可以很好的扩展到大型数据库中,同时它的大小独立于数据库大小。
    决策树缺点:
    1、对缺失数据处理比较困难。
    2、容易出现过拟合问题。
    3、忽略数据集中属性的相互关联。
    4、ID3算法计算信息增益时结果偏向数值比较多的特征。
    改进措施:
    1、对决策树进行剪枝。可以采用交叉验证法和加入正则化的方法。
    2、使用基于决策树的combination算法,如bagging算法,randomforest算法,可以解决过拟合的问题。

    常见算法

    1)C4.5算法

    ID3算法是以信息论为基础,以信息熵和信息增益度为衡量标准,从而实现对数据的归纳分类。ID3算法计算每个属性的信息增益,并选取具有最高增益的属性作为给定的测试属性。C4.5算法核心思想是ID3算法,是ID3算法的改进。
    改进方面有:
    1)用信息增益率来选择属性,克服了用信息增益选择属性时偏向选择取值多的属性的不足。
    2)在树构造过程中进行剪枝。
    3)能处理非离散的数据。
    4)能处理不完整的数据。
    优点:
    产生的分类规则易于理解,准确率较高。
    缺点:
    1)在构造树的过程中,需要对数据集进行多次的顺序扫描和排序,因而导致算法的低效。
    2)C4.5只适合于能够驻留于内存的数据集,当训练集大得无法在内存容纳时程序无法运行。

    2)CART分类与回归树

    是一种决策树分类方法,采用基于最小距离的基尼指数估计函数,用来决定由该子数据集生成的决策树的拓展形。如果目标变量是标称的,称为分类树;如果目标变量是连续的,称为回归树。分类树是使用树结构算法将数据分成离散类的方法。
    优点:
    1)非常灵活,可以允许有部分错分成本,还可指定先验概率分布,可使用自动的成本复杂性剪枝来得到归纳性更强的树。
    2)在面对诸如存在缺失值、变量数多等问题时CART 显得非常稳健。

    二、分类算法

    1)KNN算法

    优点 :
    1)KNN是一种在线技术,新数据可以直接加入数据集而不必进行重新训练
    2)KNN理论简单,容易实现
    缺点:
    1)对于样本容量大的数据集计算量比较大。
    2)样本不平衡时,预测偏差比较大。如:某一类的样本比较少,而其它类样本比较多。3)KNN每一次分类都会重新进行一次全局运算。
    4)k值大小的选择。应用领域:文本分类、模式识别、聚类分析,多分类领域

    2)支持向量机(SVM)

    支持向量机是一种基于分类边界的方法。其基本原理是(以二维数据为例):如果训练数据分布在二维平面上的点,它们按照其分类聚集在不同的区域。基于分类边界的分类算法的目标是,通过训练,找到这些分类之间的边界(直线的――称为线性划分,曲线的――称为非线性划分)。对于多维数据(如N维),可以将它们视为N维空间中的点,而分类边界就是N维空间中的面,称为超面(超面比N维空间少一维)。线性分类器使用超平面类型的边界,非线性分类器使用超曲面。支持向量机的原理是将低维空间的点映射到高维空间,使它们成为线性可分,再使用线性划分的原理来判断分类边界。在高维空间中是一种线性划分,而在原有的数据空间中,是一种非线性划分。
    优点:
    1)解决小样本下机器学习问题。
    2)解决非线性问题。
    3)无局部极小值问题。(相对于神经网络等算法)
    4)可以很好的处理高维数据集。
    5)泛化能力比较强。
    缺点:
    1)对于核函数的高维映射解释力不强,尤其是径向基函数。
    2)对缺失数据敏感。
    应用领域:
    文本分类、图像识别、主要二分类领域。

    3)朴素贝叶斯算法

    优点:
    1)对大数量训练和查询时具有较高的速度。即使使用超大规模的训练集,针对每个项目通常也只会有相对较少的特征数,并且对项目的训练和分类也仅仅是特征概率的数学运算而已。
    2)支持增量式运算。即可以实时的对新增的样本进行训练。
    3)朴素贝叶斯对结果解释容易理解。
    缺点:
    由于使用了样本属性独立性的假设,所以如果样本属性有关联时其效果不好。
    应用领域:文本分类、欺诈检测中使用较多。

    4)Logistic回归算法

    优点:
    计算代价不高,易于理解和实现。
    缺点:
    1)容易产生欠拟合。
    2)分类精度不高。
    应用领域:
    用于二分类领域,可以得出概率值,适用于根据分类概率排名的领域,如搜索排名等。Logistic回归的扩展softmax可以应用于多分类领域,如手写字识别等。

    三、聚类算法

    1)K means 算法

    是一个简单的聚类算法,把n的对象根据他们的属性分为k个分割,k< n。算法的核心就是要优化失真函数J,使其收敛到局部最小值但不是全局最小值。其中N为样本数,K是簇数,rnk b表示n属于第k个簇,uk 是第k个中心点的值。然后求出最优的k。
    优点:
    算法速度很快
    缺点:
    分组的数目k是一个输入参数,不合适的k可能返回较差的结果。

    2)EM最大期望算法

    EM算法是基于模型的聚类方法,是在概率模型中寻找参数最大似然估计的算法,其中概率模型依赖于无法观测的隐藏变量。E步估计隐含变量,M步估计其他参数,交替将极值推向最大。
    EM算法比K-means算法计算复杂,收敛也较慢,不适于大规模数据集和高维数据,但比K-means算法计算结果稳定、准确。
    应用领域:
    EM经常用在机器学习和计算机视觉的数据集聚(Data Clustering)领域。

    四、集成算法(AdaBoost算法)

    AdaBoost算法优点

    1)很好的利用了弱分类器进行级联。
    2)可以将不同的分类算法作为弱分类器。
    3)AdaBoost具有很高的精度。
    4)相对于bagging算法和Random Forest算法,AdaBoost充分考虑的每个分类器的权重。

    Adaboost算法缺点

    1)AdaBoost迭代次数也就是弱分类器数目不太好设定,可以使用交叉验证来进行确定。
    2)数据不平衡导致分类精度下降。
    3)训练比较耗时,每次重新选择当前分类器最好切分点。
    应用领域:
    模式识别、计算机视觉领域,用于二分类和多分类场景。

    五、人工神经网络算法

    优点:
    1)分类准确度高,学习能力极强。
    2)对噪声数据鲁棒性和容错性较强。
    3)有联想能力,能逼近任意非线性关系。
    缺点:
    1)神经网络参数较多,权值和阈值。
    2)黑盒过程,不能观察中间结果。
    3)学习过程比较长,有可能陷入局部极小值。
    应用领域:
    目前深度神经网络已经应用与计算机视觉,自然语言处理,语音识别等领域并取得很好的效果。

    六、排序算法(PageRank)

    PageRank是google的页面排序算法,是基于从许多优质的网页链接过来的网页,必定还是优质网页的回归关系,来判定所有网页的重要性。(也就是说,一个人有着越多牛X朋友的人,他是牛X的概率就越大。)
    优点:
    完全独立于查询,只依赖于网页链接结构,可以离线计算。
    缺点:
    1)PageRank算法忽略了网页搜索的时效性。
    2)旧网页排序很高,存在时间长,积累了大量的in-links,拥有最新资讯的新网页排名却很低,因为它们几乎没有in-links。

    七、关联规则算法(Apriori算法)

    Apriori算法是一种挖掘关联规则的算法,用于挖掘其内含的、未知的却又实际存在的数据关系,其核心是基于两阶段频集思想的递推算法 。
    Apriori算法分为两个阶段:
    1)寻找频繁项集。
    2)由频繁项集找关联规则。
    算法缺点:
    1) 在每一步产生侯选项目集时循环产生的组合过多,没有排除不应该参与组合的元素。
    2) 每次计算项集的支持度时,都对数据库中 的全部记录进行了一遍扫描比较,需要很大的I/O负载。
    展开全文
  • E步中将每个点分给中心距它最近类(硬分配),可以看成是EM算法中E步(软分配)近似为什么kmeans一定会收敛?M步中最大化似然值,更新参数依赖是MSE,MSE至少存在局部最解,必然收敛k...

    b1540d42-492f-eb11-8da9-e4434bdf6706.png

    请问从EM角度理解kmeans?

    • k-means是两个步骤交替进行,可以分别看成E步和M步
    • M步中将每类的中心更新为分给该类各点的均值,可以认为是在「各类分布均为单位方差的高斯分布」的假设下,最大化似然值;
    • E步中将每个点分给中心距它最近的类(硬分配),可以看成是EM算法中E步(软分配)的近似

    为什么kmeans一定会收敛?

    M步中的最大化似然值,更新参数依赖的是MSE,MSE至少存在局部最优解,必然收敛

    kmeans初始点除了随机选取之外的方法?

    先层次聚类,再在不同层次上选取初始点进行kmeans聚类

    解释一下朴素贝叶斯中考虑到的条件独立假设

    d5540d42-492f-eb11-8da9-e4434bdf6706.png

    讲一讲你眼中的贝叶斯公式和朴素贝叶斯分类差别

    贝叶斯公式是完整的数学公式P(A/B) = P(A)P(B/A)/P(B)

    朴素贝叶斯 = 贝叶斯公式 + 条件独立假设,在实际使用过程中,朴素贝叶斯完全只需要关注P(A,B)=P(A)P(B/A)即可

    朴素贝叶斯中出现的常见模型有哪些

    • 多项式:多项式模型适用于离散特征情况,在文本领域应用广泛, 其基本思想是:我们将重复的词语视为其出现多次因为统计次数,所以会出现0次可能,所以实际中进行了平滑操作先验平滑:后验平滑:两者形式非常像,区别就在先验平滑分母考虑的是平滑类别y个数,后验平滑分母考虑的是平滑特征对应特征x可选的个数
    • 高斯:高斯模型适合连续特征情况,高斯公式高斯模型假设在对应类别下的每一维特征都服从高斯分布(正态分布)
    • 伯努利:伯努利模型适用于离散特征情况,它将重复的词语都视为只出现一次

    出现估计概率值为 0 怎么处理

    拉普拉斯平滑

    朴素贝叶斯的优缺点?

    • 优点: 对小规模数据表现很好,适合多分类任务,适合增量式训练
    • 缺点:对输入数据的表达形式很敏感(离散、连续,值极大极小之类的)

    朴素贝叶斯与 LR 区别?

    • 生成模型和判别模型
    • 条件独立要求
    • 小数据集和大数据集

    简单介绍SVM?

    • 从分类平面,到求两类间的最大间隔,到转化为求间隔分之一等优化问题:loss=min(1/2·||W||·||W||) subject to:y(wx+b)>=1,其中||·||为2范数
    • 然后就是优化问题的解决办法,首先是用拉格拉日乘子把约束优化转化为无约束优化,对各个变量求导令其为零,得到的式子带入拉格朗日式子从而转化为对偶问题
    • 最后再利用SMO(序列最小优化)来解决这个对偶问题

    什么叫最优超平面?

    • 两类样本分别分割在该超平面的两侧
    • 超平面两侧的点离超平面尽可能的远

    什么是支持向量?

    在求解的过程中,会发现只根据部分数据就可以确定分类器,这些数据称为支持向量。换句话说,就是超平面附近决定超平面位置的那些参与计算锁定平面位置的点

    SVM 和全部数据有关还是和局部数据有关?

    局部

    加大训练数据量一定能提高SVM准确率吗?

    支持向量的添加才会提高,否则无效

    如何解决多分类问题?

    对训练器进行组合。其中比较典型的有一对一,和一对多

    可以做回归吗,怎么做?

    可以,把loss函数变为:

    e8540d42-492f-eb11-8da9-e4434bdf6706.png

    SVM 能解决哪些问题?

    • 线性问题对于n为数据,找到n-1维的超平面将数据分成2份。通过增加一个约束条件: 要求这个超平面到每边最近数据点的距离是最大的
    • 非线性问题SVM通过结合使用拉格朗日乘子法和KTT条件,以及核函数可以用smo算法解出非线性分类器

    介绍一下你知道的不同的SVM分类器?

    • 硬SVM分类器(线性可分):当训练数据可分时,通过间隔最大化,直接得到线性表分类器
    • 软SVM分类器(线性可分):当训练数据近似可分时,通过软间隔最大化,得到线性表分类器
    • kernel SVM:当训练数据线性不可分时,通过核函数+软间隔的技巧,得到一个非线性的分类器

    什么叫软间隔?

    软间隔允许部分样本点不满足约束条件: 1<y(wx+b)

    SVM 软间隔与硬间隔表达式

    • 硬间隔:
    • 软间隔:

    SVM原问题和对偶问题的关系/解释原问题和对偶问题?

    • svm原问题是:求解
    • svm对偶问题:求解拉格朗日乘子法:求f的最小值时,有h=0的限制条件,那么就构造∑λh+f=Loss,作为新loss引入松弛变量α的目的是构造满足拉格朗日条件的限制性条件在对原来的w求偏导之外再对新构造的乘子λ和松弛变量α求偏导数

    为什么要把原问题转换为对偶问题?

    • 因为原问题是带有限制性条件的凸二次规划问题不方便求解,转换为对偶问题更加高效
    • 引入了核函数

    为什么求解对偶问题更加高效?

    • 原问题是要考虑限制性条件的最优,而对偶问题考虑的是类似分情况讨论的解析问题
    • 因为只用求解alpha系数,而alpha系数只有支持向量才非0,其他全部为0

    alpha系数有多少个?

    样本点的个数

    KKT限制条件,KKT条件有哪些,完整描述

    • 分别对原来的w求偏导之外再对新构造的乘子λ和松弛变量α求偏导数,并且都等于0后的联立方程便是不等式约束优化优化问题的 KKT(Karush-Kuhn-Tucker) 条件
    • KKT乘子λ>=0

    引入拉格朗日的优化方法后的损失函数解释

    • 原损失函数:
    • 优化后的损失函数:要求KKT乘子λ>=0

    核函数的作用是啥

    核函数能够将特征从低维空间映射到高维空间, 这个映射可以把低维空间中不可分的两类点变成高维线性可分的

    核函数的种类和应用场景

    • 线性核函数:主要用于线性可分的情形。参数少,速度快。
    • 多项式核函数:
    • 高斯核函数:主要用于线性不可分的情形。参数多,分类结果非常依赖于参数。
    • sigmoid 核函数:
    • 拉普拉斯核函数:

    如何选择核函数

    我用的比较多的是线性核函数和高斯核函数,线性用于特征多,线性问题的时候,高斯核函数用于特征少,非线性问题需要升维的时候

    常用核函数的定义?

    在机器学习中常用的核函数,一般有这么几类,也就是LibSVM中自带的这几类:

    1. 线性:K(v1,v2) = <v1,v2>
    2. 多项式:K(v1,v2) = (r<v1,v2>+c)^n
    3. Radial basis function:K(v1,v2) = exp(-r||v1-v2||^2)
    4. Sigmoid:tanh(r<v1,v2>+c)

    核函数需要满足什么条件?

    Mercer定理:核函数矩阵是对称半正定的

    为什么在数据量大的情况下常常用lr代替核SVM?

    • 计算非线性分类问题下,需要利用到SMO方法求解,该方法复杂度高O(n^2)
    • 在使用核函数的时候参数假设全靠试,时间成本过高

    高斯核可以升到多少维?为什么

    无穷维
    e的n次方的泰勒展开得到了一个无穷维度的映射

    SVM和逻辑斯特回归对同一样本A进行训练,如果某类中增加一些数据点,那么原来的决策边界分别会怎么变化?

    如果在svm容忍范围内或者在svm的margin外,则不受影响;否则决策边界会发生调整

    各种机器学习的应用场景分别是什么?例如,k近邻,贝叶斯,决策树,svm,逻辑斯蒂回归

    • 线性问题:线性:逻辑回归,线性svm非线性:贝叶斯,决策树,核svm,DNN
    • 数据问题:数据量大特征多:逻辑回归决策树算法数据量少特征少:核svm
    • 缺失值多:树模型

    Linear SVM 和 LR 有什么异同?

    • LR是参数模型,SVM为非参数模型。
    • LR采用的损失函数为logisticalloss,而SVM采用的是hingeloss。
    • 在学习分类器的时候,SVM只考虑与分类最相关的少数支持向量点。
    • LR的模型相对简单,在进行大规模线性分类时比较方便。
    展开全文
  • 聚类分析不需要事先知道样本类别,甚至不需要知道类别个数,因此它是一种无监督学习算法(Unsupervised Machine Learning Technique)。聚类分析一般用于数据探索,还可以作为预处理步骤和其...

    1、什么是聚类?

    聚类分析简称聚类(clustering),是一个把数据集划分成子集的过程,每一个子集是一个簇(cluster),在同一个簇中样本彼此相似,但簇与簇之间样本不相似。

    聚类分析不需要事先知道样本的类别,甚至不需要知道类别的个数,因此它是一种无监督的学习算法(Unsupervised Machine Learning Technique)。聚类分析一般用于数据探索,还可以作为预处理步骤和其他算法一起使用。

    2、K-means聚类算法

    K-means聚类算法,又被称为K-均值算法,是一种广泛使用的聚类算法。该算法的主要功能是:将所有输入数据划分成K个子集,并且要求每个子集内各个元素之间的差异尽可能小,而不同子集的元素差异尽可能大。

    问题描述:给定一个n个对象的数据集,它可以构建数据的K划分,每个划分就是一个簇,并且K≤n。同时还有满足:

    • 每个组至少包含一个对象;
    • 每个对象必须属于且仅属于一个簇。
    2b083e6514b5be2172054675c590b1c2.png

    3、K-means算法实现

    由于K-Means算法针对给定的完整数据集进行操作,不需要任何特殊的训练数据,所以K-Means是一种无监督的机器学习方法。

    K-Means算法最常见的实现方式是使用迭代式的Lloyd's algorithm。

    • 给定划分数量K。创建一个初始划分,从数据集中随机地选择K个对象,每个对象初始地代表了一个簇中心(Cluster Centroid)。对于其他对象,计算其与各个簇中心的距离,将它们划入距离最近的簇。
    • 采用迭代的重定位技术,尝试通过对象在划分间移动来改进划分。所谓重定位技术,就是当有新的对象加入簇或者已有对象离开簇的时候,重新计算簇的平均值,然后对对象进行重新分配。这个过程不断重复,直到各簇中对象不再变化为止。
    1391d8b7e73815620a5fc5c8b54d576b.png

    4、聚类算法的评价指标

    • 簇内误差平方和(with-cluster Sum of Squared Errors, SSE),取值越小表示效果越好;
    • 轮廓分析(silhouette analysis),取值范围在-1到1之间,数值越接近1表示效果越好。

    5、K-means算法的优缺点

    优点

    • 原理比较简单,算法容易实现;
    • 当结果簇是密集的,而且簇和簇之间的区别比较明显时,K-Means的效果较好;
    • 主要需要调整的参数仅仅是簇数K。

    缺点

    • 需要预先给定K值,很多情况下K值的估计是非常困难的;
    • K-Means算法对初始选取的质心点是敏感的,不同的随机种子点得到的聚类结果完全不同 ,对结果影响很大;
    • 对孤立点数据敏感;
    • 含少量噪声数据就能对平均值造成极大的影响;
    • 采用迭代方法,可能只能得到局部的最优解,而无法得到全局的最优解。

    (本文部分内容来自https://www.cnblogs.com/gaochundong/p/kmeans_clustering.html)

    展开全文
  • -------------------------------------------------------------美团AI算法提前批(已拿两提前批offer和一个转正offer) 提前批 第一轮: 17号清华双选会,一人可以选两个部门面试,每个面试就大概...
  • 作者:*MHJ*链接:https://www.nowcoder.com/discuss/155532来源:牛客网总结一下这几个月面试吧。这一路走来确实不易。面经主要公司是:网易+滴滴+爱奇艺+平安科技+新浪网易 人工智能实习生一面1.自我介绍 2.项目...
  • 概述-HappyHalloween -说到聚类算法,首先需要先介绍一下无监督学习。所谓无监督学习,就是训练样本中标记...聚类算法可以对数据进行数据归纳,即在尽可能保证数据完整前提下,减少数据量级,以便后续处理。...
  • 优点: 原理简单(靠近中心点),实现容易(1、2 天),聚类效果中上(依赖K选择) ...4. 局部最解而不是全局 (这个和初始点选谁有关) 5. 结果不稳定 (受输入顺序影响) 6. 无法增量计算 (同...
  • 本篇大纲:1、背景知识:一些常见距离度量/相似度计算方式2、聚类算法Kmeans3、kmeans优缺点及其改进4、kmeans的简单代码实现上上期回顾1、我们先做了基本铺垫,对于最值求解问题进行三种类别划分,包括无约束...
  • ---KMEANS的优缺点 密度等的脚本-- 优点 k-平均算法是解决聚类问题的一种经典算法算法简单、快速。 对处理大数据集,该算法是相对可伸缩的和高效率的,因为它的复杂度大约是O(nkt),其中n是所有对象的数目,...
  • kmeans算法

    2019-09-05 18:06:25
    K均值优缺点、 优点:1.原理简单,容易实现,收敛速度快,可解释性强;2.需要调节参数较少(主要是聚类簇数K),且聚类效果好。 缺点:1.聚类簇数K不好把握,一般只能通过暴力搜索法来决定;2.只适合簇型数据,...
  • Sklearn之KMeans算法

    千次阅读 2018-12-21 11:43:17
    K-means的优缺点 优点: 1.算法快速、简单; 2.对大数据集有较高的效率并且是可伸缩性的; 3.时间复杂度近于线性,而且适合挖掘大规模数据集。K-Means聚类算法的时间复杂度是O(n×k×t) ,其中n代表数据集中对象的数量...
  • kmeans-聚类,优缺点

    千次阅读 2019-07-18 20:17:59
     1)对于K-Means算法,首先要注意是k值选择,一般来说,我们会根据对数据先验经验选择一个合适k值,如果没有什么先验知识,则可以通过交叉验证选择一个合适k值。  2)在确定了k个数后,我们需要选择k...
  • 大家晚上好,我是阿涛。今天主题是聚类算法,小结一下,也...算法介绍kmeans算法又名k均值算法,K-means算法中k表示是聚类为k个簇,means代表取每一个聚类中数据值均值作为该簇中心,或者称为质心(质量中心...
  • 这是最近在某呼收到的一个提问“k-means聚类算法的优缺点,以及有没有什么改进的方法?”下面就来谈谈自己的观点。 优点: 应用广泛,速度快,鲁棒性强;对于未知特性的数据集都可以先用K-means去试试。 缺点: 有...
  • 03-0005 Kmeans算法(Python)

    2019-04-26 17:09:41
    Kmeans算法-Python1.介绍2.流程3.优缺点3.1优点3.2缺点4.源码5.结果6.总结 1.介绍 k-平均算法(英文:k-means clustering): 源于信号处理中一种向量量化方法,现在则更多地作为一种聚类分析方法流行于数据挖掘...
  • 算法优缺点 优点: 收敛速度快 需要参数少 缺点: K值选择较难 初始点随机种子对结果影响很大 对异常值敏感 可能只能得到局部最优解,而无法得到全局最优解 kmeans算例 import numpy as np import ...
  • K-Means算法的目标函数K-Means算法要实现的目标函数是:其中,C1,C2,...,Ck是分别是k个cluster的中心点;C(Xi)表示Xi这个点所属于的cluster的中心点;d²( , )表示求两个点的距离的平方。用通俗的话说,K-Means...
  • kmeans优缺点 及改进

    千次阅读 2016-04-29 10:49:53
    Kmeans: 优点: 简单易实现 缺点: 可能收敛于局部最小值(对初始k个聚类中心选择敏感),在大规模数据集上收敛较慢 适用数据类型:数值型数据 度量聚类效果指标: SSE(sum of squared error, 误差平方...
  • 本篇大纲:1、背景知识:一些常见距离度量/相似度计算方式2、聚类算法Kmeans3、kmeans优缺点及其改进4、kmeans的简单代码实现上上期回顾1、我们先做了基本铺垫,对于最值求解问题进行三种类别划分,包括无约束...
  • K-meansK-means算法简述K-means算法思考常用的几种距离计算方法KMean算法的算法优缺点与适用场景优点缺点代码2D数据3D数据 K-means算法简述 K-means算法,也称为K-平均或者K-均值,一般作为掌握聚类算法的第一个...
  • Kmeans 聚类算法

    2021-02-20 12:36:24
    KMeans算法属于无监督学习,解决聚类问题 对于数据集D, 不需提供数据标记,大大减少工作量 数据集D必须是凸集,非凸数据集难以收敛 必须先指定聚类簇数k k-means优点 原理简单,实现容易,可解释性较强 聚类...
  • kmeans优化算法

    千次阅读 2018-08-28 18:07:03
    k-means算法的优缺点 1、优点: ①简单、高效、易于理解 ②聚类效果好 2、缺点: ①算法可能找到局部最优的聚类,而不是全局最优的聚类。使用改进的二分k-means算法。 ②算法的结果非常依赖于初始随机选择的...
  • 一、k-means算法优缺点 k均值简单并且可以用于各种数据类型,它相当有效,尽管常常多次运行。然后k均值并不适合所有数据类型。它不能处理非球形簇,不同尺寸和不同密度簇。对包含离群点(噪声点)数据进行...
  • 1.标准Kmeans 经典的标准kmeans算法无需多言,每个无监督学习的开场白一般都是标准kmeans算法。...标准的kmeans的优缺点,上面的文章也有详细介绍,再详细说一说kmeans++对于初始中心点的优化 kmeans++中心点初始...
  • Mahout系列之----kmeans 聚类

    千次阅读 2015-01-21 08:46:54
    Kmeans是最经典的聚类算法之一,它的优美简单、快速高效被广泛使用。 Kmeans算法描述 输入:簇的数目k;包含n个对象的数据集D。 输出:k个簇的集合。 方法: ...从D中任意选择k个对象作为初始簇...Kmeans 算法的优缺点
  • 1. 算法原理 kmeans的计算方法如下: 随机选取k个中心点 ...遍历所有数据,将每个数据划分到最近的中心点中 ...重复 2-3 ,直到这k个中线点不再变化(收敛了),或执行了足够多的...3. kmeans的优缺点 4. 代码 ...
  • 一、算法原理1、k-means参数sklearn.cluster.KMeans(n_clusters=8,init="k-means++", n_init=10, max_iter=300, tol=0.0001, precompute_distances="auto", verbose=0, random_state=None, copy_x=True, n_jobs=1,...

空空如也

空空如也

1 2 3 4 5
收藏数 86
精华内容 34
关键字:

kmeans算法的优缺点