解密:监督学习,非监督学习和强化学习

我们的机器学习有一个输入层和一个输出层,在输入层和输出层之间,还可以有若干个隐藏层。对于没有隐藏层或者只有一个隐藏层的情况,我们称之为浅层学习。对于具有两个以上隐藏层的情况,我们称之为深度学习(图一)。

图一:深度神经网络

根据机器学习的应用情况,我们又把机器学习分为三类:监督学习(SupervisedLearning,SL),非监督学习(Unsupervisedlearning,UL),和强化学习(ReinforcementLearning,RL)。本文主要介绍这三类机器学习。

根据输出层标签的数目(输出层神经元的数目),我们把监督学习(SL)要解决的问题分成两类:回归(Regression)和分类(Classification)。如果输出层只有一个神经元,而且输出值是连续变量,这样的问题就叫回归,比如估算房子价格,估算一个电子邮件是垃圾邮件的概率等等。如果输出层神经元有多个,输出值是不连续的离散值,这样的问题就叫分类,比如手写数字的识别问题,输出层有10个神经元,即0到9十种可能;再比如某种癌症的判定可以有“是”和“非”两种可能。实际应用中,有些问题既可以看成是分类,也可以看成回归,比如垃圾邮件判断。譬如先用回归计算出一个电子邮件是垃圾邮件的概率,然后从概率再转化成“是”与“非”。这样就变成了分类问题。

监督学习的算法有很多,而且很多算法已经被收集到成熟的算法库中,使用者可以直接调用。常用的经典算法有:

1.邻近算法(K-NearestNeighbors,KNN)

2.线形回归(LinearRegression)

3.逻辑回归(LogisticRegression)

4.支持向量机(SupportVectorMachine,SVM)

5.朴素贝叶斯分类器(NaiveBayes)

6.决策树(DecisionTree)

7.RandomForests1

8.神经网络(NeuralNetwork)

另外还有一些比较新的算法,比如卷积神经网络(ConvolutionalNeuralNetworks,CNN)和深信度网络(DeepBeliefNetworks,DBN)。

有时候我们的原始数据只有输入值,却没有已知的输出值标签(Label)。这样的问题就成为非监督学习(UL)了。这可能有点不好理解:没有输出值就不能计算误差,没有误差就无法找到最佳参数,那机器怎么学习呢?

非监督学习(UL)要解决的是另外一种问题。我们喂给机器很多特征数据(输入值),是希望机器通过学习找到输入数据中是不是存在某种共性特征,结构(比如都像猫),或者数据特征值之间是不是存在某种关联。而不是像监督学习那样希望预测输出结果。非监督学习要解决的问题也可以分成两大类:输入数据聚类(Clustering)和输入特征变量关联(Correlation)。

非监督学习怎么学习呢?我们这里也是有模型(分组就是模型),模型里也有参数,比如每一组的中心位置。学习过程也是通过多次迭代找到最佳参数,比如最开始随机选择每组的中心位置,然后通过迭代找到最佳中心位置。图二所示的是一个二维数据(只有两个输入变量)的聚类。我们人眼就可以判断,输入数据可以分成三个组(红、绿、蓝)。每一个组的组员离本组的中心(图二中带X的黑色圆)是最近的(最佳中心位置)。而在多维空间中(比如10维),我们就只能靠想象了,非监督学习就可以比人更有优势把数据分组。

分成组有啥用呢?在现实中用处可就大了。比如你有大量明星照片,非监督学习(UL)的分组技术就可以帮你自动按照明星分类。或者你拍了张不认识花的照片,你想知道是什么花,你可以用非监督学习技术找到类似的花。商业上你可以把客户分组,然后根据客户类型推荐相应产品或评价客户风险。

常用的非监督学习算法有:

1.K均值聚类(K-MeansClustering)

2.具有噪声的基于密度的聚类方法(Density-basedSpatialClusteringofApplicationswithNoise:DBSCAN)

3.主成分分析算法(PrincipalComponentAnalysis,PCA)

4.自组织映射神经网络(Self-OrganizingMap,SOM)

5.受限玻尔兹曼机(RestrictedBoltzmannMachine,RBM)

另外还有一些利用量子理论发展的算法,比如量子系综算法等等。

除了上面讲的三大机器学习类型,随着机器学习的应用越来越广泛,也出现了混合型的应用。比如部分原始数据有输出值,部分没有,称为半监督学习(Semi-SupervisedLearning)。这就需要把监督学习和非监督学习结合起来。常用的半监督学习算法包括协同训练(Co-Training)和转导支持向量机(TransductiveSupportVectorMachine,TSVM)等等。

监督学习(SL)中有已知的输入数据和输出数据,相当于看着样本学习。非监督学习中没有输出数据,相当于自己学习。其学习目的是找到输入数据中存在的结构(Structure)和模式(Pattern)。强化学习即没有输入数据也没有输出数据,只有某种规则,相当于试错学习。其目的是在大量可能路径中寻找最佳决策或者路径。

THE END
1.什么是强化学习强化学习(reinforcement learning,RL) 讨论的问题是智能体(agent)怎么在复杂、不确定的环境(environment)中最大化它能获得的奖励。如图 1.1 所示,强化学习由两部分组成:智能体和环境。在强化学习过程中,智能体与环境一直在交互。智能体在环境中获取某个状态后,它会利用该状态输出一个动作 (action),这个动作也称为决https://blog.csdn.net/qq_39312146/article/details/134478135
2.一文看懂什么是强化学习?(基本概念+应用嘲+主流算法)强化学习是机器学习的一种学习方式,它跟监督学习、无监督学习是对应的。本文将详细介绍强化学习的基本概念、应用场景和主流的强化学习算法及分类。 什么是强化学习? 强化学习并不是某一种特定的算法,而是一类算法的统称。 如果用来做对比的话,他跟监督学习,无监督学习 是类似的,是一种统称的学习方式。 https://easyai.tech/ai-definition/reinforcement-learning/
3.强化学习之原理与应用机器之心强化学习特别是深度强化学习近年来取得了令人瞩目的成就,除了应用于模拟器和游戏领域,在工业领域也正取得长足的进步。百度是较早布局强化学习的公司之一。这篇文章系统地介绍强化学习算法基础知识,强化学习在百度的应用,以及百度近期发布的基于PaddlePaddle深度学习框架的强化学习工具PARL。 https://www.jiqizhixin.com/articles/2019-02-20-8
4.一文了解强化学习虽然是周末,也保持充电,今天来看看强化学习,不过不是要用它来玩游戏,而是觉得它在制造业,库存,电商,广告,推荐,金融,医疗等与我们生活息息相关的领域也有很好的应用,当然要了解一下了。 本文结构: 定义 和监督式学习, 非监督式学习的区别 主要算法和类别 https://www.jianshu.com/p/f4409a8b7f71
5.什么是强化学习强化学习简介强化学习的优势以及应用嘲强化学习是一种机器学习的方法,它通过试错的方式学习如何做出最优的决策。强化学习的基本思想是将一个智能体放置在一个环境中,通过与环境的交互来学习如何做出最优的行动。在强化学习中,智能体通过观察环境的反馈来不断调整自己的行为,以获得最大的奖励。 https://cloud.tencent.com/developer/techpedia/1750
6.强化学习(一):概述51CTO博客最近,强化学习非常的火爆,不论在科研界还是工业界,强化学习一直作为一个新兴的领域,在计算机学科范畴内发挥重要的作用。强化学习(Reinforcement Learning),属于一种机器学习架构(范式)。我们知道机器学习一般分为监督和无监督,所谓监督即是否有外在的标准来约束样本,也就是所谓的标签;无监督则是没有标签的样本。https://blog.51cto.com/u_15919249/5962296
7.深度强化学习深度强化学习是机器学习的一个子领域,结合了强化学习(RL)和深度学习。强化学习考虑的是一个计算代理学习通过试验和错误做出决定的问题。深度RL将深度学习纳入解决方案,允许代理从非结构化的输入数据中做出决定,而不需要对状态空间进行人工设计。深度RL算法能够接受非常大的输入,并决定执行什么行动来优化目标(例如,最大化https://vibaike.com/176843/
8.清华大学出版社图书详情本书构建了一个完整的强化学习入门路径,深入浅出地介绍了强化学习算法的基本原理和实现方法。本书 首先回顾了相关预备知识,包括数学基础和机器学习基础,然后先介绍强化学习的基本概念,给出强化学习的 数学框架(马尔可夫决策过程),随后介绍强化学习的求解算法,包括表格求解法(动态规划法、蒙特卡洛法 和时序差分法),以及近http://www.tup.tsinghua.edu.cn/booksCenter/book_08672301.html
9.强化学习算法与应用综述摘要:强化学习是机器学习领域的研究热点, 是考察智能体与环境的相互作用, 做出序列决策、优化策略并最大化累积回报的过程. 强化学习具有巨大的研究价值和应用潜力, 是实现通用人工智能的关键步骤. 本文综述了强化学习算法与应用的研究进展和发展动态, 首先介绍强化学习的基本原理, 包括马尔可夫决策过程、价值函数、探索-https://c-s-a.org.cn/html/2020/12/7701.html
10.强化学习(ReinforcementLearning)莫烦Python1.1 什么是强化学习 1.2 强化学习方法汇总 1.3 为什么用强化学习 Why? 1.4 课程要求 Q-learning 2.1 什么是 Q Leaning 2.2 小例子 2.3 Q-learning 算法更新 2.4 Q-learning 思维决策 Sarsa 3.1 什么是 Sarsa 3.2 Sarsa 算法更新 3.3 Sarsa 思维决策 3.4 什么是 Sarsa(lambda) 3.5 Sarsa-lambdhttps://mofanpy.com/tutorials/machine-learning/reinforcement-learning/