今天主要介绍一下机器学习里面的几个基本概念,我刚开始学的时候,比较纠结的几个概念,主要有监督学习,无监督学习,半监督学习, 深度学习, 还有强化学习,强化学习是我后来才知道的,所以理解不深。刚接触机器学习的时候,基本会碰到监督学习,无监督学习,我觉得这个名字取得对新手不是很友好,想理解这个名字的意思,需要学习了几个机器学习算法之后才能理解监督和无监督的意思,所以开始学的时候,很容易掉进坑里,无法自拔。
首先联系一下我们人类是怎么学习的,想想各位基本也都读了十几年,甚至二十几年的书了,每个人对学习肯定都有自己的理解。那么学习的方式无非是上课听老师讲,还有课下自学。仔细想想在课堂上我们的学习过程,比如今天老师要讲一个新的知识点,那么他自己肯定是心里清楚的,他知道你学会这个以后,应该掌握哪些知识点。而你在学习的过程中,是不知道的,只有等你学习完之后才能知道。那么自学呢,自学的过程是你完全不知道学习完之后,到底掌握了这个知识点没有,有可能走了弯路,你理解的完全都是错的。但是你不知道你学到的是错的,因为没人监督你啊,或者说没人指导你,所以你心里没底。
好,扯回我们的监督学习和无监督学习。首先需要明白一下什么是机器学习,其实我之前也说过了,机器学习并不神秘,机器学习就是一个机器在学习,机器对应的是人,学习对应的教材。那到底学什么,就根据不同的教材,学习不同的内容。而教材就是我们常说的数据!有了数据,机器就会根据一定的规则去学习数据中包含的信息。而监督学习的情况是,数据中包含机器学习结束以后应该知道的东西,也就是说,机器可以参照输出来进行学习的过程。就比如给你一道数学题,只给了你最后的答案,但是没步骤,怎么办?那么你就算啊算啊,如果算出来和答案不一样,那就继续算,如果和答案一样,那就停止。监督学习就是这个意思,,相反无监督学习就是事先不知道答案,不知道答案也分两种情况,有可能是老师把你的答案没收了,也有可能这个问题很难,压根没答案,或者说这是一个开放性问题,没有标准答案,需要你自己去发散思维,得出一个基本合理的答案。无监督学习就是这种情况,机器学习的数据事先没有给定的输出,只给了一堆数据,给,自己去学吧。差不多就是这个道理!明白了?下面继续看看什么是半监督学习。
在机器学习的任务中,基本都是给定数据的,给不给输出不要紧,但没数据怎么学!?是吧。但是如果数据中,有的数据是知道输出的,而有的书不知道输出到的,这样机器在学习的过程中,就是半监督学习。半监督的半,指的是有一部分数据给定了输出,一部分没有,但不一定就是1/2。就好像一张试卷,只要选择和填空有答案,而解答题没答案一样!最后看一下什么是强化学习,强化学习现在是比较火的一个研究方向。吊的一匹的AlphaGo就是利用了强化学习的思想。还是举个栗子,比如你算一个题,正确答案是80,每次你算出一个结果,比如第一次你算了一个50,老师告诉你小了,那你继续算,想想怎么算能把答案变大,再算一个100,老师说大了,然后你就想想那个步骤可以把结果算这么大,就这样算下去,通过老师一次次的提示(激励),最终得到你的正确答案。注意这里老师只给你说大了还是小了,但是不告诉你怎么能让答案变大还是变小!
最后说下深度学习,其实把深度学习和监督,无监督放在一起,不是特别合适,因为深度学习也可以包括无监督和监督。深度学习是相对于传统的机器学习而言,传统的机器学习可以称为浅层学习。从模型结构就能看出来,深度学习的模型往往比较深,参数量也是机器学习的n倍。深度学习这里就不多说了,我想基本都知道,前面讲了很多次了。
到这里,我觉得应该明白了什么是监督,无监督,半监督,强化学习。这里我想说,如果你在看书或者其他资料的时候,遇到这几个概念的公式之类的东西,如果看不懂,其实并不重要,因为他们就没说清楚!机器学习中,这些概念了解了就好,不必纠结太久,看了之后就继续学别的算法,具体的算法才是核心的东西。
下面我按照监督,无监督,强化,深度学习,把我知道的模型,简单分一下类,当然目的不是在于分类,而是让大家有个比较全面的了解,看看机器学习的坑有多大!!!同时欢迎大家留言补充!
监督学习,Supervised learning
1. 关联规则学习算法,Association rule learning algorithms
1.1 Apriori 算法,Apriori algorithm
2. k近邻,k-nearest neighbor
3. 支持向量机,Support vector machines
4. 随机森林,Random Forests
5. 贝叶斯网络,Bayesian networks
6. 贝叶斯信念网络,Bayesian Belief Network
6. 朴素贝叶斯, Naive Bayes
7. 隐马尔科夫模型,Hidden Markov models
无监督学习
1. EM算法,Expectation-maximization algorithm
2. 聚类分析,Cluster analysis
2.1. K均值聚类,K-means clustering
2.2. K中心点聚类,K-medians
既可以是监督学习,也可以是无监督学习
1. 人工神经网络,Artificial neural network
1.1. 自动编码器,Autoencoder
1.2. 反向传播算法,Backpropagation
1.3. 玻尔兹曼机,Boltzmann machine
1.4. 卷积神经网络,Convolutional neural network
1.5. 多层感知机,Multilayer perceptron
1.6 感知机算法Perceptron
1.7.限制玻尔兹曼机,Restricted Boltzmann machine
1.8. 循环神经网络,Recurrentneural network (RNN)
1.9. 自组织映射,Self-organizing map (SOM)
2. 决策树,Decisiontree
2.1 ID3 算法,ID3 algorithm
2.2 C4.5算法, C4.5 algorithm
2.3 C5.0算法, C5.0 algorithm
3. 线性回归,Linear regression
4. 逻辑回归,Logistic regression
半监督学习, Semi-supervised learning
1. 生成模型,Generative models
强化学习,Reinforcement learning
1. Q学习, Q-learning
深度学习,Deep Learning
1. 深度信念网络,Deep belief networks
2. 深度玻尔兹曼机,Deep Boltzmann machines
3. 深度卷积神经网络,Deep Convolutional neural networks
4. 深度循环神经网络,Deep Recurrent neural networks
[参考文献]
1.https://en.wikipedia.org/wiki/Outline_of_machine_learning#Machine_learning_methods
2. 统计学习方法,李航,清华大学出版社