《白话深度学习与TensorFlow》——1.1 聚类

1.1 聚类

聚类(clustering)是一种典型的“无监督学习”,是把物理对象或抽象对象的集合分组为由彼此类似的对象组成的多个类的分析过程。
聚类这种行为我们不要觉得很神秘,也不要觉得这个东西是机器学习所独有的,恰恰相反,聚类的行为本源还是人自身。我们学习的所有的数据挖掘或者机器学习的算法或者思想的来源都是人类自己的思考方式,只不过我们把它教给机器代劳,让机器成为我们肢体和能力的延伸,而不是让它们替我们做创造和思考。
聚类是一种什么现象呢?我们人类在认识客观世界的过程中其实一直遇到容量性的问题,我们遇到的每一棵树、每一朵花、每一只昆虫、每一头动物、每一个人、每一栋建筑……每个个体之间其实都不同,有的差距还相当大。那么我们人在认知和记忆这些客观事物的过程中就会异常痛苦,因为量实在是大到无法承受的地步。
因此人类才会在“自底向上”的认识世界的过程中“偷懒”性地选择了归纳归类的方式,注意“偷懒”的这种方式是人类与生俱来的方法。
小时候,我们被父母用看图说话的方式来教咿呀学语就有过类似的体会了,图片上画了一只猴子,于是我们就认识了,这是一只猴子;图片上画了一辆汽车,于是我们就了解了,这是一辆汽车……当我们上街或者去动物园的时候再看,猴子也不是画上的猴子,而且众多猴子之间也长得各式各样,每个都不同,我们会把它们当成一个一个的新事物去认识吗?我们看汽车也同样,大小、颜色、样式,甚至喇叭的声音也是形形色色、五花八门,它们在我们眼里是一个个新的事物吗?不,它们都还是汽车。这些事物之间确实有所不同,但是它们给我们的认知带来了很大的困扰吗?并没有。我们无论如何也不会把猴子和汽车当成一类事物去认知的,猴子彼此之间是不同,但是体格、毛发、行为举止,种种形态让我们认为这些不同种类的猴子都还是猴子一个大类的动物,别说是和汽车混为一谈,就是跟狗、马、熊这些哺乳动物也能轻易地分开。
人类天生具备这种归纳和总结的能力,能够把认知的相似事物放到一起作为一类事物,它们之间可以有彼此的不同,但是有一个我们心里的“限度”,只要在这个限度内,特征稍有区别并无大碍,它们仍然还是这一类事物。
在这一类事物的内部,同样有这种现象,一部分个体之间比较相近,而另一部分个体之间比较相近,我们人还能够明显认知到差别,那么大类别又可以细分为小类别进行认知。比如汽车直观从样子上可以分成小轿车、卡车、面包车等种类,虫子们也被人轻易地从外形上区别为飞虫、爬虫、毛毛虫……
在没有人特意教给我们不同小种群的称谓与特性之前,我们自然具备的这种凭借主观认知的能力——特征形态的相同或近似的划在一个概念下,特征形态不同的划在不同概念下,这本身就是“聚类”的思维方式。
比较常用的聚类算法有K-Means、DBSCAN等几种,基本思路都是利用每个向量之间的“距离”——空间中的欧氏距离或者曼哈顿距离,从远近判断是否从属于同一类别。假如有三个一维样本:一个180、一个179、一个150,如果这三个向量要分成两类的话,应该是180和179这两个分在一个类别,150是另一个类别。因为180和179的距离为1,而150距离180与179分别为30和29个单位——非常远,就是从肉眼感官上来看也是这样。用机器来做学习的话,它也能够通过算法自动去感知到这些向量之间的距离,然后将那些彼此之间靠得近的分在一起,以区别于其他类簇。

在用机器做聚类学习的时候,我们每种算法都对应有相应的计算原则,可以把输入的各种看上去彼此“相近”的向量分在一个群组中。然后下一步,人们通常更有针对性地去研究每一组聚在一起的对象所拥有的共性以及那些远离各个群组的孤立点——这种孤立点研究在刑侦、特殊疾病排查等方面都有应用。
在这个过程中,从获得到具体的样本向量,到得出聚类结果,人们是不用进行干预的,这就是“非监督”一词的由来。

时间: 2025-01-08 04:27:04

《白话深度学习与TensorFlow》——1.1 聚类的相关文章

《白话深度学习与TensorFlow》——导读

**前言**为什么要写这本书近些年来,伴随着计算机计算能力的不断升级,很多原来只有在科幻电影里才有的桥段越来越多地出现在我们身边了,并给了我们更多的想象空间与期待.在2016年,人工智能界最令人瞩目的事情莫过于谷歌的AlphaGo以4:1的悬殊比分轻松击败韩国著名九段围棋大师李世石.之后化名"Master"的AlphaGo更是一路大开杀戒,分别在对弈网站"弈城"和"腾讯围棋"登录,先后打败了柯洁九段.朴廷桓九段.陈耀烨九段以及创造日本大满贯传奇的

《白话深度学习与TensorFlow》——3.3 其他特点

3.3 其他特点 TensorFlow有很多的特点,当然这些特点不见得都是独一无二的. 1 .多环境与集群支持 首先,TensorFlow支持在PC的CPU环境.GPU环境甚至是安卓环境中运行.它不仅可以支持在单个计算单元(一颗CPU的多核心或一颗GPU的多核心)上进行运算,也支持一台机器上多个CPU或多个GPU上并行计算. 2016年4月14日,Google发布了分布式TensorFlow,能够支持在几百台机器上并行训练.分布式的TensorFlow由高性能的gRPC库作为底层技术支持.Ten

《白话深度学习与TensorFlow》——3.2 与其他框架的对比

3.2 与其他框架的对比 1)?TensorFlow:深度学习最流行的库之一,是谷歌在深刻总结了其前身 DistBelief 的经验教训上形成的:它不仅便携.高效.可扩展,还能在不同计算机上运行:小到智能手机,大到计算机集群:它是一款轻量级的软件,可以立刻生成你的训练模型,也能重新实现它:TensorFlow有强大的社区.企业支持,因此它广泛用于从个人到企业.从初创公司到大公司等不同群体. 2)?Caffe:卷积神经网络框架,专注于卷积神经网络和图像处理,是用C++语言写成 的,执行速度非常快.

《白话深度学习与TensorFlow》——2.2 深度神经网络

2.2 深度神经网络 2016年3月,随着Google的AlphaGo以4∶1的悬殊比分战胜韩国的李世石九段,围棋--这一人类一直认为可以在长时间内轻松碾压AI的竞技领域已然无法固守,而深度学习(deep learning)这一象征着未来人工智能领域最重要.最核心的科技也越来越成为人们关注的焦点.这里所谓的深度学习实际指的是基于深度神经网络(deep neural networks,DNN)的学习,也就是深度人工神经网络所进行的学习过程,或称作Deep Learning.这个Deep指的是神经网

《白话深度学习与TensorFlow》——3.4 如何选择好的框架

3.4 如何选择好的框架 作为计算模型来说,深度学习中的绝大部分基本理论早已沉淀成了固化的计算模块.函数或者算法包.就计算模型本身来说,框架之间的差别不会太大,也不可能太大,除非这个领域的理论层面得到了极大的突破,而且这个突破还是不同方向且掌握在个别组织手里的.而现在框架之间的差别主要出现在这几个地方.第一,性能方面.这一属性主要由底层的实现语言决定,底层运行比较快的仍旧是实现的语言.理论上说,运行速度最快的仍旧是C或C++一类,离着CPU指令近一些语言效率高一些.笔者用过Torch.Tenso

《白话深度学习与TensorFlow》——第3章 3.0TensorFlow框架特性与安装

第3章 3.0TensorFlow框架特性与安装 随着深度学习技术的逐步兴起,世界范围内支持深度学习的框架也如雨后春笋.那些各大学实验室制作出来的不出名的小项目就不必提了,单说现在在业界使用比较普遍的框架就有TensorFlow.Caffe.Theano.Torch等不下十种.我们在这本书中选用TensorFlow是因为笔者认为TensorFlow作为谷歌重要的开源项目,其未来的社区热度应该是容易保证的.而一个火热的社区对于推动一个开源项目发展有着至关重要的作用,它能让项目有旺盛的生命力且在生命

《白话深度学习与TensorFlow》——第1章 1.0机器学习是什么

第1章 1.0机器学习是什么 机器学习是一个跟"大数据"一样近几年格外火的词汇.我们在了解深度学习之前,还是有必要了解和认识机器学习这个词的.机器学习究竟是一个什么过程或者行为呢? 机器学习--我们先想想人类学习的目的是什么?是掌握知识.掌握能力.掌握技巧,最终能够进行比较复杂或者高要求的工作.那么类比一下机器,我们让机器学习,不管学习什么,最终目的都是让它独立或至少半独立地进行相对复杂或者高要求的工作.我们在这里提到的机器学习更多是让机器帮助人类做一些大规模的数据识别.分拣.规律总结

《白话深度学习与TensorFlow》——第2章 深度学习是什么 2.1 神经网络是什么

第2章 深度学习是什么 2.1 神经网络是什么 要说深度学习(deep learning),就必须先说神经网络,或者称人工神经网络(artificial neural network,ANN).神经网络是一种人类由于受到生物神经细胞结构启发而研究出的一种算法体系. 人的神经细胞就像图上这样,枝枝杈杈很多,远远看上去一边比较粗大一边比较纤细.最上端粗大的这一边就是细胞体的所在,细胞体上有一些小枝杈叫做树突,细长的这一条像尾巴一样的东西叫做轴突.不同细胞之间通过树突和轴突相互传递信息,它们的接触点叫

《白话深度学习与TensorFlow》——2.4 深度学习应用

2.4 深度学习应用 我们在第1章所介绍过的谷歌无人驾驶汽车仅仅是深度学习的一个典型应用,深度学习的应用领域越来越多,而且是几乎在任何一个产业中都有其落地的身影.我们先来看几个有趣的应用.2.4.1 围棋机器人--AlphaGo 击败李世石的谷歌AlphaGo就不用说了,它已经进入我们的视线很久了. 它由谷歌旗下DeepMind公司的戴维·西尔弗(David Silver).艾佳·黄和戴密斯·哈萨比斯(Demis Hassabis)与他们的团队开发,这个程序利用价值网络(value networ

《白话深度学习与TensorFlow》——1.3 分类

1.3 分类 分类是机器学习中使用的最多的一大类算法,我们通常也喜欢把分类算法叫做"分类器".这个说法其实也非常形象,在我们看来,这就是一个黑盒子,有个入口,有个出口.我们在入口丢进去一个"样本",在出口期望得到一个分类的"标签".比如,一个分类器可以进行图片内容的分类标签,我们在"入口"丢进去一张老虎的照片,在"出口"得到"老虎"这样一个描述标签:而当我们在"入口"