首页 » Web前端 » phpurldecode输出小写技巧_从无监督进修说起算法模型有哪几种

phpurldecode输出小写技巧_从无监督进修说起算法模型有哪几种

duote123 2024-12-08 0

扫一扫用手机浏览

文章目录 [+]

在上一篇条记里我们大略地学习了监督学习的几种算法模型,本日就来学习一下无监督学习的基本观点和相应的几种算法模型。

无监督学习(Unsupervised Learning)是和监督学习相对的另一种主流机器学习的方法,我们知道监督学习办理的是“分类”和“回归”问题,而无监督学习办理的紧张是“聚类(Clustering)”问题。

phpurldecode输出小写技巧_从无监督进修说起算法模型有哪几种

监督学习通过对数据进行标注,来让机器学习到,比如:小曹多重多高便是胖纸,或者用身高体重等数据,来打算得到小曹的BMI系数;而无监督学习则没有任何的数据标注(超过多高算高,超过多重算胖),只有数据本身。

phpurldecode输出小写技巧_从无监督进修说起算法模型有哪几种
(图片来自网络侵删)

比如:有一大群人,知道他们的身高体重,但是我们不见告机器“胖”和“瘦”的评判标准,聚类便是让机器根据数据间的相似度,把这些人分成几个种别。

那它是怎么实现的呢?怎么才能判断哪些数据属于一类呢?

这是几种常见的紧张用于无监督学习的算法。

K均值(K-Means)算法;自编码器(Auto-Encoder);主身分剖析(Principal Component Analysis)。

K均值算法

K均值算法有这么几步:

随机的选取K个中央点,代表K个种别;打算N个样本点和K个中央点之间的欧氏间隔;将每个样本点划分到最近的(欧氏间隔最小的)中央点种别中——迭代1;打算每个种别中样本点的均值,得到K个均值,将K个均值作为新的中央点——迭代2;重复234;得到收敛后的K个中央点(中央点不再变革)——迭代4。

上面提到的欧氏间隔(Euclidean Distance),又叫欧几里得间隔,表示欧几里得空间中两点间的间隔。
我们初中学过的坐标系,便是二维的欧几里得空间,欧氏间隔便是两点间的间隔,三维同理,多维空间的打算办法和三维二维相同。

举栗子:

我们现在有三组身高体重数据180kg、180cm,120kg、160cm和90kg、140cm,提问:这三个人里,哪两个人的身材比较附近呢?

这三组数据可以表示为A(180,180),B(120,160)和C(90,140),这便是我们很熟习的平面直角坐标系里的三个点,他们之间的间隔大家都知道算。

从结果可以看到Bc间的间隔最小,也便是Bc的身材最相似。
我们再增加一个维度,腰围,分别是100cm、120cm和140cm(随便编的不要当真),那现在这三组数据可以表示为A(180,180,100),B(120,160,120)和C(90,140,140),这就变成了我们高中学过的空间直角坐标系里的三个点,要打算它们之间的间隔也很大略。

现在还是Bc的身材最相似,如果我们增加N个维度,数据就可以用(X₁,X₂,X₃,…..,Xn)和(Y₁,Y₂,Y₃,…..,Yn)来表示,他们之间的间隔便是

K均值算法里样本点到中央点的间隔便是这么打算的,这个用空间点,来表示数据的思想,在机器学习领域是非常常见和主要的,往后还会常常见到。
值得把稳的是:虽然K隔壁算法和K均值算法没有什么关系,但是它们的思想有想通之处,并且原始模型实际利用起来打算起来都比较慢。

自编码器

自编码器(Auto-encoder)(实在相称于一个神经网络,但这里不用神经网络的构造来解读)做的事情很故意思,它的基本思想便是对输入(input)编码(encode)后得到一个隐含的表征再解码(decode)并输出(output),这么看起来不是在绕圈圈吗?

如果说我们的自编码器只是为了得到一个和输入千篇一律的输出,那我们的行为确实没什么用,但是细心的胖友,你们以为这张图里什么是关键呢?

对了,是中间的隐含表征(latent representation)!

自编码器的两个紧张运用是降噪(denoising)和稀疏化数据(sparse)。

什么叫降噪和降维呢?

让我们用这张图来理解,图中有三层,输入、隐含和输出层,每一层的么一个圈圈代表一个特色。
输入层经由编码变成了中间的隐含层,隐含层解码后得到后面的输出层。
可以看到,隐含层只有输入层的一半,原来的6个特色变成了3个特色,这意味着什么?

又到了举栗子的韶光:

如果要来表示小明的身材,输入的六个特色分别为“肉多”、“体脂率高”、“质量大”、“个子不高”、“总是心情好”、“喜好笑”而隐含层的三个特色为“肉多”、“体脂率高”、“个子不高”,这个自编码器便是用来降噪的。

噪音(noise)指的是影响我们算法模型的不干系成分;降噪呢,便是用特定的方法去掉这些不干系的成分。

如果要来表示小明的紧张特色,输入的六个特色还是“肉多”、“体脂率高”、“质量大”、“个子不高”、“心情好”、“喜好看剧”而隐含层的特色变成了“胖”、“矮”和“爽朗”,这个自编码器便是稀疏自编码器。

稀疏化数据,便是指将密集的浅层含义的数据(比如说:肉多这样的外在表现)表示为稀疏的更抽象的数据(将外在表现提炼为总结性的特色,比如:胖)。

完成上述两个任务,都须要构建得当的丢失函数(loss function)(理解一下)。

(后面的依据个人兴趣选择是否阅读)

隐含层的层数是可以增加的,每一层都可以作为我们须要的特色,多层的构造能够让自编码器对特色的剖析更加准确和稳定,而如果这个层数再增加一些(很多很多很多层)。

(省略了后面的解码步骤)

它便是堆叠/卷积自编码器(Convolution autoencoder),可以说是一种卷积神经网络(Convolutional neural network,CNN),更多的关于神经网络的知识会在后面详细说。

而回到最开始的图,我们刚才一贯在说的是隐含层的意义和变革,那末了的输出一点用都没有吗?

这里不得不提一下天生式对抗网络(Generative adversarial networks,GAN)。

天生式对抗网络的精髓便是两个网络,一个网络天生图片,一个网络辨别图片是不是真实的,当天生图片的网络能够“欺骗”识别图片的网络的时候,我们就得到了一个能够天生足够真实图片的网络。

这是一个很有趣的模型,机器根据已有的实物创造了实际中不存在的事物,下图是从真实图片转化为天生图片的过程。

这个思想能够实现一些很神奇的事情,比如:将笔墨变成图像,用对抗网络来布局药品和疾病的对抗等(https://www.jiqizhixin.com/articles/2017-08-23-6)

而对抗自编码器(Adversarial Autoencoder,AAE),利用了最近提出的天生对抗网络(GAN),通过任意先验分布与VAE隐蔽代码向量的聚合后验匹配,来实现变分推理。

大略地说,便是它把GAN和自编码器组合成了一个具有天生能力的模型,也便是对抗自编码器。
AAE能够在监督、无监督的条件下,都展现出不错的识别和天生能力。
由于干系资料和文献不算很多,我也没有很清楚它的详细运用处景,这里就不做过多的解读了,欢迎大家给出一些指示。

主身分剖析

主身分剖析(Principal Component Analysis)是一种数据降维的方法,我们可以大略地把数据降维和稀疏化数据当成一个意思来理解(还是有差异的)。

从数学的视角来看,二维平面中的主身分剖析,便是用最大方差法将坐标系里分布的点投影到同一条线上(一维的);三维空间中的主身分剖析,便是同理将空间中的分布点投影到同一个(超)平面上。

最大方差法不做过多阐明(要摆公式),但我们知道方差是表示一组数据间差异大小的,方差最大就担保了数据的间隔足够大,这也就意味着数据在降维后不随意马虎发生重叠。
比如:上面的图,我们会用F₁而不是F₂。

其实在实际运用中主身分剖析紧张是数学方法,但是为了帮助理解还是打个比方。

上文中提到的身材的特色的稀疏化,表达实在就可以理解为主身分剖析。
顾名思义,“把紧张身分提取出来剖析”,就像我们在谈论一个国家经济实力的时候,不会谈论这个国家一年生产多少石油,出口多少商品,入口多少原材料,国民统共又拿了多少人为。
我们会用国民生产总值和国民人均生产总值,来代表上面所说的哪些零散的数据,这便是主身分剖析。

参考资料

K均值算法观点及其代码实现:https://my.oschina.net/keyven/blog/518670

欧几里得间隔:https://en.wikipedia.org/wiki/Euclidean_distance

K-means算法实现:https://feisky.xyz/machine-learning/clustering/k-means/

自编码器与堆叠自编码器简述:http://peteryuan.net/autoencoder-stacked/

对抗自编码器:https://blog.csdn.net/shebao3333/article/details/78760580

从自编码器到天生对抗网络:一文纵览无监督学习研究现状:https://zhuanlan.zhihu.com/p/26751367

翻译:AAE 对抗自编码(一):https://kingsleyhsu.github.io/2017/10/10/AAE/

天生对抗网络事理与运用:GAN如何使生活更美好:https://www.jiqizhixin.com/articles/2017-08-23-6

对抗天生网络详解:https://cethik.vip/2017/01/11/deepGan/

主身分剖析(PCA)-最大方差阐明:https://blog.csdn.net/huang1024rui/article/details/46662195

主身分剖析(principal components analysis, PCA)——无监督学习:https://www.cnblogs.com/fuleying/p/4458439.html

图片来源:google、个人

作者:小曹,"大众号:小曹的AI学习条记

本文由 @小曹 原创发布于大家都是产品经理。
未经容许,禁止转载

题图来自Unsplash,基于CC0协议

相关文章