简述机器学习与深度学习的各自优缺点_Unsupervised Machine Learning无监督学习方法简述、深度学习及强化学 ...

论坛 期权论坛 编程之家     
选择匿名的用户   2021-5-31 20:16   36   0

Unsupervised Machine Learning 无监督学习方法简述 及 深度学习(Deep Learning)、强化学习(Reinforcement Learning)简介

(I)Unsupervised Machine Learning 无监督学习

无监督学习最大的特点就是没有label,最典型的方法就是聚类(Clustering),另外还有主成分分析法(Prcincipal Components Analysis,PCA)

主成分分析法(Prcincipal Components Analysis,PCA)

主成分分析法(Prcincipal Components Analysis,PCA)主要是用来给模型降维的,之前我们提到模型中features如果太多,会导致模型出现overfitting(过度拟合)等一系列问题。

那么我们不如挑一挑,把几个有关系的features(X1,X2,X3 | X4,X5 | X6,X7,X8,X9)组一起,定义成一个新的features组合(Z1 | Z2 | Z3),这个组合也叫composite variable,这样就实现了降维的效果。

8ea585f1bba09b35b0e50da6c3f26103.png

上图左边一大堆X,经过主成分分析后,变成了右图中仅剩四个feature组(composite variable),组内的X们都是有很强统计相关关系的。

PCA不仅仅是给你做一个简单的聚类降维,还会通过特征向量(eigenvectors)特征值(eigenvalue)将这几个composite variable根据对Y的解释力度大小进行排序,挑选,剔除

对Y的解释力度大小(proportion of total variance in initial data)就是每个composite variable的特征值,特征向量还为其增添了方向。

PCA根据根据特征值将composite variable排序,解释力度最大的定义为the first principal components,其次为the second principal components…

然后形成scree plots(崖低碎石图/陡坡图),根据解释力度的大小,我们可以自行选择需要保留的维度,就是留几个independent variable(Z)。

c339f36207068c48d5af6f614b22c44f.png

实践上,我们至少要保留可以解释85%~95%的composite variable,剩下的剔除掉,以免留的太多产生overfitting问题,实现信息损失和过度拟合的均衡(trade-off)。

Clustering聚类

聚类其实就是把一堆散乱的小点点,给他们划定一个圈一个圈,变成一个个类别。根据不同的实现途径,聚类可以分成k-Means聚类 分级(Hierarchical)聚类,另外还有树状图(Dendrograms)

56d7b21df3425b43bddda22bec08e796.png

88cc67fff88c2ac1566b65e9605ec3d0.png

k-Means Clustering (k均值聚类)

我第一次听到k-means聚类方法是在课上的时候,这是一种非常有趣的聚类方法。

k-Means将实现聚类内距离之和最小,聚类外距离之和最大——这句话是k-means聚类的精髓。

1761b4527c96d05985a4f8876f8b12ab.png

在一群散乱的数据点中,随意选定三个点,作为中心(centroid),然后每个点分别计算自己离哪个中心最近,就跟着哪个中心所属的聚类

当全部划割好之后,每个聚类内重新计算出一个新的中心,然后取消之前定好的聚类

412df430f4eeca26566e7d39c8e89d04.png

再重新计算每个点分别离哪个中心最近,就跟着哪个中心所属的聚类。

如此反复迭代,直到不能变化为止,最终稳定的聚类,就是k-means聚类的结果。

b5690bf4cb828d229081d7dec96aa23c.png

刚才我们提到随意选定三个点,这三个点就是k=3的意思。

k是一种超参数(hyperparameter),在开始前由我们人为设定。

Hierarchical Clustering(分级聚类)

分级聚类从小聚合到大叫Agglomerative Clustering(自下而上聚合),从大到小裂变叫Divisiver Clustering(自上而下裂变)

Agglomerative Clustering(自下而上聚合)

3da2d48dc03ef562c4bc60aadd938bd0.png

起初每一个individual observation自己是自己;然后挑选离自己最近的一个,两个人组合,变成一个聚类;然后每个组合再挑选离自己最近的组合,两个组合再组合,变成一个更大的聚类…如此迭代反复。

Divisiver Clustering(自上而下裂变)

41a1ff65e3372a4a86a953821d6e85ad.png

起初所有的样本观察点大家都是一家人;然后根据距离将单一聚类分成两个小聚类,然后再分裂…如此迭代反复。

两种分级聚类方式的结果是一致的

Agglomerative Clustering聚合聚类更适合小聚类,辨别个体特征。Divisiver Clustering裂变聚类更适合大聚类,辨别整体特征

Dendrograms 树状图

树状图(Dendrograms)有点类似于聚类的另外一种可视化形式。

9ff1f46ab028028ad5d72fe63387e1fb.png

横轴是聚类类别Cluster,形成拱门(Arch)。

纵轴是聚类之间的距离,形成树突(Dendrite)。

(II)深度学习(Deep Learning)、强化学习(Reinforcement Learning)及人工神经网络(Neural Networks)

人工神经网络(Neural Networks)

考试写选择题,你读题目的过程就是input,大脑思考解题的过程是hidden,最终写出来ABCD的过程是output。

题目一行字,选项一个字母,input和output似乎很简单。

真正复杂的是隐藏起来大脑内部思考的过程,大脑内部是由一个个神经元连接活动的,这就类似于一个神经网络。

效仿人脑,机器学习的人工神经网络(Neural Networks)也是这么回事。

12d74b39ad170c497b99018dd8539524.png

人工神经网络(Artificial Neural Networks , ANN)简单分为三个层次,分别为输入层(input layer)隐藏层(Hidden Layer)输出层(Output Layer),每个结点(nodes/circles)由线(arrows)进行连接。

输入层和输出层很好理解,ANN机器学习的核心精髓在隐藏层

隐藏层(Hidden Layer)有两个功能:加和(Summation Operator)调权(Activation Function)

比如第一个隐藏层结点是有四个input信息输入的,加和功能(Summation Operator)将四个信息都考虑了进去

调权功能(Activation Function)既将不同的input给予不同的权重,又将结果标准化至[0,1]的区间

调节权重:起初随机给予权重,经过不断迭代和监督学习(向前传递调权Forward Propagation,向后传递调权 Backward Propagation),实现更优的权重。

标准化输出:实现非线性(如S-shaped/sigmoidal)的输出,结果在[0,1]区间内。

d612c3963625f3e74e3bc39575c4031a.png

深度学习(Deep Learning)、强化学习(Reinforcement Learning)

最后简单提一下深度学习和强化学习。

深度学习就是指hidden layer隐藏层的深化。告诉你input的信息,你要通过加多隐藏层神经元的连接活动(逻辑层),来实现更精准的output结果。

强化学习就是指在学习过程中给予一定的反馈结果正确了给一句鼓励,结果错误了给一句批评,通过不断的试错来发现pattern。

参考资料: CFA Level II <Quantitative Methods>

文 by / 杨翊守 公众号:拂晓Palpitate

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP