华盛顿大学 机器学习 笔记. k-means的局限性 k-means 是一种硬分类(hard assignment)方法,例如对于文档分类问题,k-means会精确地指定某一文档归类到某一个主题,但很多时候硬分类并不能完全描述这个文档的性质,这个文档的主题是混合的,这时候需要软分类(soft assignment)模型. k-means 缺陷:(1)只关注聚类中心的表现.(2)聚类区域形状必须为对称圆形/球形,轴平行. 对于聚类区域大小不一.轴不平行.聚类空间重叠等情况,k-means 缺陷显著…
华盛顿大学 <机器学习> 笔记. knn k-nearest-neighbors : k近邻法 给定一个 数据集,对于查询的实例,在数据集中找到与这个实例最邻近的k个实例,然后再根据k个最邻近点预测查询实例的类别. <统计学习方法>中这样描述的: K近邻模型是基于训练数据集 对 特征空间的一个划分. 当k =1 ,为一种特殊情况,称为最邻近法. Knn算法实现的三个重要问题: 距离度量选择.k值选择,分类决策方法. 1. 距离度量选择 常用的距离度量有欧式距离.曼哈顿距离等. &l…
华盛顿大学 machine learning 笔记. K-means algorithm 算法步骤: 0. 初始化几个聚类中心 (cluster centers)μ1,μ2, … , μk 1. 将所有数据点分配给最近的聚类中心; 2. 将每个聚类中心的值改成分配到该点所有数据点的均值; 3. 重复1-2步骤,直到收敛到局部最优(local optimium). #输入: #数据集 data #集群数 k #初始集群中心组 initial_centroids #最多循环次数 maxiter #输…
KNN K-Means 1.分类算法 聚类算法 2.监督学习 非监督学习 3.数据类型:喂给它的数据集是带label的数据,已经是完全正确的数据 喂给它的数据集是无label的数据,是杂乱无章的,经过聚类后才变得有点顺序,先无序,后有序 4.训练过程:没有明显的前期训练过程,属于memory-based learning 有明显的前期训练过程 5.K的含义:来了一个样本x,要给它分类,即求出它的y,就从数据集中,在x附近找离它最近的K个数据点,这K个数据点,类别c占的个数最多,就把x的label…
1.表达式中float类型的操作数不会自动转换为double类型.一般来说,数学函数(如math.h)使用双精度类型的变量.使用float类型主要是为了在使用较大数组时节省存储空间,有时也为了节省机器执行时间(双精度算数元算特别费时). 2.scanf函数调用时,字符串类型不需要写‘&’,因为其本身即为地址. 3.EOF可能被定义为不同的值,使用EOF等标准符号可以增强程序的可移植性,常见值有-1. 4.根据某种特定的状态做不同的行为,可以用define定义状态量,然后定义int state.如…
K-means是一种聚类算法: 这里运用k-means进行31个城市的分类 城市的数据保存在city.txt文件中,内容如下: BJ,2959.19,730.79,749.41,513.34,467.87,1141.82,478.42,457.64TianJin,2459.77,495.47,697.33,302.87,284.19,735.97,570.84,305.08HeBei,1495.63,515.90,362.37,285.32,272.95,540.58,364.91,188.63…
前言:这只是我的一个学习笔记,里边肯定有不少错误,还希望有大神能帮帮找找,由于是从小白的视角来看问题的,所以对于初学者或多或少会有点帮助吧. 1:人工全连接神经网络和BP算法 <1>:人工神经网络结构与人工神经网络可以完美分割任意数据的原理: 本节图片来源于斯坦福Andrew Ng老师coursea课件(此大神不多介绍,大家都懂) 在说明神经网络之前,先介绍一下神经网络的基础计算单元,感知器. 上图就是一个简单的感知器,蓝色是输入的样本,g(z)是激活函数,z=x1*w1+-,a=g(z) 这…
摘要:在数据挖掘中,K-Means算法是一种 cluster analysis 的算法,其主要是来计算数据聚集的算法,主要通过不断地取离种子点最近均值的算法. 在数据挖掘中,K-Means算法是一种cluster analysis的算法,其主要是来计算数据聚集的算法,主要通过不断地取离种子点最近均值的算法. 问题 K-Means算法主要解决的问题如下图所示.我们可以看到,在图的左边有一些点,我们用肉眼可以看出来有四个点群,但是我们怎么通过计算机程序找出这几个点群来呢?于是就出现了我们的K-Mea…
1.算法过程 a.随机选取k个初始点作为中心点 b.依次计算剩余所有点分别与哪个初始点距离较近,则该点属于哪个簇 c.移动中心点到现在的簇的中心 d.重复b,c两步,直到中心点不再变化算法结束 2.优缺点 优点:容易实现 缺点:可能收敛到局部最小值,大规模数据集上收敛速度较慢 3.代码使用中出现的问题思考 调用sklearn中该模块: k=8 kmeans = KMeans(n_clusters=k, random_state=0).fit(X) 也就是需要指定聚类个数,但是如何确定k值?有以下…
机器学习实战之K-Means算法 test10.py #-*- coding:utf-8 import sys sys.path.append("kMeans.py") import kMeans from numpy import * # datMat = mat(kMeans.loadDataSet('testSet.txt')) # mindata = min(datMat[:, 0]) # print(mindata) # # # ranCentK = kMeans.randC…