【Stanford机器学习笔记】11-Unsupervised Learning
2016-05-14 21:05
330 查看
前几节主要讲了4种应用比较广泛的监督机器学习算法:线性回归,逻辑回归,神经网络,SVM。并对如何评价机器学习算法做了简要概述,其中主要包括欠拟合,过度拟合,学习曲线,正则化,precision and recall等等,接下来主要讲几种比较常用的非监督机器学习算法,例如K-means等。以及数据处理方法:PCA。
非监督分类也有很多应用。
(1)假设我们要从数据中分出两类,首先随机选择两个(K=2)聚类中心Centroids
(2)计算每一个样本点与各聚类中心的距离,根据距离的大小将样本点分配给距离最小的聚类中心类别c(i)。
(3)对分配给某一聚类中心的所有样点求取平均值,移动聚类中心到新的聚类中心,然互再进行第二步,将所有样本点重新计算
(4)依次循环第二步和第三步,直至算法收敛(迭代结束)
K-Means算法的要点:
输入K个聚类中心
输入所有样本点
样本点为n维,即没有了偏差项X0
需要注意的是,如果一个聚类中心在迭代过程中没有分配任何样点,则一般是删除这个聚类中心,或者是重新随机选择一个聚类中心。
对于明显不存在簇类的数据集,K-Means也能找到合适的聚类中心进行分类,如T-shirt的型号的选择实例。
(2)由于初始化聚类中心的不同,这就可能导致K-Means算法会产生局部最优解。
(3)为了避免因为初始化导致的局部最优问题,我们可以选择
随机选择样本点
多次初始化聚类中心,然后计算K-Means的代价函数,根据失真代价函数的大小选择最优解。
(1)肘部原则
通过失真代价函数关于K大小的函数曲线,代价函数会醉着K的增大逐渐减小,直至趋于稳定,由此我们可以判断,当拐角的时候是最适合的K大小,但是实际情况中,往往我们无法得到一个明显的拐点用于判断。
(2)根据应用目的进行选择
根据K-Means算法的应用目的,选择合适的K的大小,即类别的个数。
1. Clustering
1.1 Unsupervised Learning: Introduction
非监督分类即为训练数据中没有标记数据,我们要做的就是通过合适的算法(聚类)找到数据中存在的一种结构。然后对数据进行成功分类。非监督分类也有很多应用。
1.2 K-Means Algorithm
K-Means算法的主要流程是:(1)假设我们要从数据中分出两类,首先随机选择两个(K=2)聚类中心Centroids
(2)计算每一个样本点与各聚类中心的距离,根据距离的大小将样本点分配给距离最小的聚类中心类别c(i)。
(3)对分配给某一聚类中心的所有样点求取平均值,移动聚类中心到新的聚类中心,然互再进行第二步,将所有样本点重新计算
(4)依次循环第二步和第三步,直至算法收敛(迭代结束)
K-Means算法的要点:
输入K个聚类中心
输入所有样本点
样本点为n维,即没有了偏差项X0
需要注意的是,如果一个聚类中心在迭代过程中没有分配任何样点,则一般是删除这个聚类中心,或者是重新随机选择一个聚类中心。
对于明显不存在簇类的数据集,K-Means也能找到合适的聚类中心进行分类,如T-shirt的型号的选择实例。
1.3 Optimization Objective
K-Means算法的代价函数又叫做失真函数(Distortion Function),目标是找到每一个样本点与对应聚类中心的最小值。1.4 Random Initialization
(1)K-Means算法中最重要的一步就是随机选择初始聚类中心,一般的方法是从样本中随机选择样本点作为聚类中心。(2)由于初始化聚类中心的不同,这就可能导致K-Means算法会产生局部最优解。
(3)为了避免因为初始化导致的局部最优问题,我们可以选择
随机选择样本点
多次初始化聚类中心,然后计算K-Means的代价函数,根据失真代价函数的大小选择最优解。
1.5 Choosing the Number of Clusters
除了初始化聚类中心,另外一个重要的参数时如何选择K的大小:(1)肘部原则
通过失真代价函数关于K大小的函数曲线,代价函数会醉着K的增大逐渐减小,直至趋于稳定,由此我们可以判断,当拐角的时候是最适合的K大小,但是实际情况中,往往我们无法得到一个明显的拐点用于判断。
(2)根据应用目的进行选择
根据K-Means算法的应用目的,选择合适的K的大小,即类别的个数。
相关文章推荐
- 用Python从零实现贝叶斯分类器的机器学习的教程
- My Machine Learning
- 机器学习---学习首页 3ff0
- Spark机器学习(一) -- Machine Learning Library (MLlib)
- 反向传播(Backpropagation)算法的数学原理
- 关于SVM的那点破事
- 也谈 机器学习到底有没有用 ?
- TensorFlow人工智能引擎入门教程之九 RNN/LSTM循环神经网络长短期记忆网络使用
- TensorFlow人工智能引擎入门教程之十 最强网络 RSNN深度残差网络 平均准确率96-99%
- TensorFlow人工智能引擎入门教程所有目录
- 如何用70行代码实现深度神经网络算法
- 量子计算机编程原理简介 和 机器学习
- 近200篇机器学习&深度学习资料分享(含各种文档,视频,源码等)
- 已经证实提高机器学习模型准确率的八大方法
- 初识机器学习算法有哪些?
- 机器学习相关的库和工具
- 10个关于人工智能和机器学习的有趣开源项目
- 机器学习实践中应避免的7种常见错误
- 机器学习常见的算法面试题总结
- 不平衡数据处理技术——RUSBoost