无监督学习(Unsupervised Learning)

聚类无监督学习

特点

  • 只给出了样本, 但是没有提供标签
  • 通过无监督学习算法给出的样本分成几个族(cluster), 分出来的类别不是我们自己规定的, 而是无监督学习算法自己计算出来的

K-means 聚类算法

规定

  • \(c^{(i)}\): 表示\(x^{(i)}\)属于哪个cluster, 如\(x^{(1)}\)属于\(c^{(1)}\)簇, 如果\(c^{(1)}=1\), 则\(x^{(1)}\)划分在第1个类别
  • \(\mu_k\): 表示第k簇的聚类中心样本点
  • \(\mu_{c^{(i)}}\): 表示样本\(x^{(i)}\)所在的聚类\(c^{(i)}\)的聚类中心
  • \(m\): 样本的数量
  • \(n\): 特征的数量

步骤

  1. 从现有的样本中调出K个样本作为聚类中心(采用随机初始化的方式选择样本)
  2. 计算其余样本分别到这K个样本的欧拉距离
  3. 某个样本距离这K个聚类中心的哪个最近, 就把这个样本归为那个类别, 以此类推, 将所有的样本进行归类
  4. 在已经分好类的基础上, 计算出每一个类别的均值(中心), 再重复2和3步骤, 知道损失函数达到最优点(可能仅仅是达到了局部最优点(local optima), K-means算法最终聚类的结果与第1步中K的随机初始化的值后很大的关系, 因为在结束了K-means算法之后我们应该重复1-4步多次, 得到损失函数最小), 结束K-means算法
  5. 注意: K值的选择需要人工调整

理性的认识

  • 在K-means中主要就是要\(min_{c^{(i)},\mu^{(j)}}J(c^{(1)},c^{(2)},...,c^{(m)},\mu^{(1)},\mu^{(2)},...,\mu^{(k)})\)
  1. 随机初始化K, K要小于m
  2. 在for循环中一个一个的取出样本计算出所有样本到最近的中心的距离, 保证J最小
  3. 在另外一个for循环中取出中心点, 移动中心点
  4. 重复1-3步骤

如何选择K的值

  • elbow method: 画出K与J的图像, 找出凸出点, 那个就是期望的K值
  • 根据实际需求划分

无监督学习(Unsupervised Learning)的更多相关文章

  1. 如何区分监督学习(supervised learning)和非监督学习(unsupervised learning)

    监督学习:简单来说就是给定一定的训练样本(这里一定要注意,样本是既有数据,也有数据对应的结果),利用这个样本进行训练得到一个模型(可以说是一个函数),然后利用这个模型,将所有的输入映射为相应的输出,之 ...

  2. Machine Learning Algorithms Study Notes(4)—无监督学习(unsupervised learning)

    1    Unsupervised Learning 1.1    k-means clustering algorithm 1.1.1    算法思想 1.1.2    k-means的不足之处 1 ...

  3. 【ML入门系列】(三)监督学习和无监督学习

    概述 在机器学习领域,主要有三类不同的学习方法: 监督学习(Supervised learning) 非监督学习(Unsupervised learning) 半监督学习(Semi-supervise ...

  4. Unsupervised learning无监督学习

    Unsupervised learning allows us to approach problems with little or no idea what our results should ...

  5. 1-4 无监督学习(Unsupervised Learning)

    无监督学习定义: [无监督学习]中没有任何的标签或者是有相同的标签或者就是没标签.所以我们已知数据集,却不知如何处理,也未告知每个数据点是什么.别的都不知道,就是一个数据集.你能从数据中找到某种结构吗 ...

  6. 131.005 Unsupervised Learning - Cluster | 非监督学习 - 聚类

    @(131 - Machine Learning | 机器学习) 零. Goal How Unsupervised Learning fills in that model gap from the ...

  7. Machine Learning分类:监督/无监督学习

    从宏观方面,机器学习可以从不同角度来分类 是否在人类的干预/监督下训练.(supervised,unsupervised,semisupervised 以及 Reinforcement Learnin ...

  8. Machine Learning——Unsupervised Learning(机器学习之非监督学习)

    前面,我们提到了监督学习,在机器学习中,与之对应的是非监督学习.无监督学习的问题是,在未加标签的数据中,试图找到隐藏的结构.因为提供给学习者的实例是未标记的,因此没有错误或报酬信号来评估潜在的解决方案 ...

  9. machine learning----->有监督学习和无监督学习的区别

    1.有监督学习和无监督学习的区别: 1.1概述: 有监督学习是知道变量值(数据集)和结果(已知结果/函数值),但是不知道函数样式(函数表达式)的情况下通过machine learning(ML)获得正 ...

随机推荐

  1. sqlServer2008技术内幕笔记总结(实用的sql方法总结)

    over函数的使用: 1.可以实现基于什么求和,省去group by: select xingming,xingbie,COUNT(*) over() as '总人数' from jbxx_xuesh ...

  2. Topshelf + Quartz2.5 创建基于windows服务

    1.创建一个定时调度Quartz类 using Quartz; using Quartz.Impl; using System; using System.Collections.Generic; u ...

  3. 浅谈 kubernetes service 那些事(上篇)

    一.问题 首先,我们思考这样一个问题: 访问k8s集群中的pod, 客户端需要知道pod地址,需要感知pod的状态.那如何获取各个pod的地址?若某一node上的pod故障,客户端如何感知? 二.k8 ...

  4. 最小生成树(kruscal算法)

    其实kruscal算法很简单,把边从小到大排一遍,如果加入此边形成环,就不加,知道这棵树有n-1条边. 代码如下(一定要理解): #include<iostream> #include&l ...

  5. 在Linux环境下的卸载Oracle11G操作

    1.使用SQL*PLUS停止数据库[oracle@OracleTest oracle]$ sqlplus /nolog SQL> connect / as sysdba SQL> shut ...

  6. Xcode9新功能

    1.折叠代码 局部折叠(折叠一个函数):Command+Option+Left/Right 全局折叠(折叠当前文件下的全部函数): Shift+Command+Option+Left/Right 折叠 ...

  7. python merge、concat合并数据集

    数据规整化:合并.清理.过滤 pandas和python标准库提供了一整套高级.灵活的.高效的核心函数和算法将数据规整化为你想要的形式! 本篇博客主要介绍: 合并数据集:.merge()..conca ...

  8. [SinGuLaRiTy] 高级搜索算法

    [SinGuLaRiTy-1039] Copyright (c) SinGuLaRiTy 2017. All Rights Reserved. 迭代加深搜索(ID) 迭代加深搜索,实质上就是限定下界的 ...

  9. javascript中构造器(函数)的__proto__与prototype初探

    背景:最近没什么需求,快要闲出屁了,所以重温了一下js的原型,结果大有收获,且偶然看到Snandy大神的<JavaScript中__proto__与prototype的关系> 这篇文章,感 ...

  10. SpringMVC配置文件dispatcherServlet-servlet.xml

    <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...