Introduction
机器学习的过程就是机器自动寻找合适函数的过程,最终的目的就是得到一个函数。有关寻找一个合适函数的方法有三个方面的问题:
1.按照目的,想要找的函数是什么类型的?
(1)如果函数的输出为一个具体的数值,则可以属于回归(Regression),比如房价预测,比如PM2.5预测。
(2)如果函数的输出只有Y和N,是一个判断,则属于分类(Classification);除此之外,如果需要的输出是多重判断,比如给一张图片判断是是猫是狗是老鼠,则属于(Multi-Classification)。
(3)除此之外,生成(Generation)的范围更加广阔,比如让机器自己生成一张某种风格的图像等。
2.按照训练方式,有三种不同的学习方式:
首先明确训练集和测试集,训练集就是用来训练机器得到我们想要的函数的数据集,测试集就是对我们训练出来的函数来进行测试的集合,我们的最终目的是要得到一个在测试集上表现优异的函数。
(1)监督学习(Supervised Learning),给出训练数据的特征(Label),并且给出对应特征的函数输出结果来对机器进行训练。相当于我们做题,在训练集上,老师告诉我们这种类型题目有什么参数,并且教会我们答案;在测试集上,就相当于考试,之后我们考试的时候需要自己根据参数来做出答案。
(2)无监督学习(Unsupervised Learning),训练集上的数据没有特征,完全让机器自己训练,找出数据中的内在关系。输出的结果只是机器根据自己的理解将具有相似特征的数据进行输出,至于这些特征代表什么机器没有概念。
(3)强化学习(Reinforcement Learning),让机器自主学习,中间的步骤完全让机器自主决策。最后如果达到目的则给予机器奖励,否则惩罚,循环往复,直到机器能够有较大概率达到正向的目的。
无监督学习和强化学习的区别:无监督学习完全没有任何反馈,完全是机器自己摸索;强化学习会在机器做出一系列动作之后给出反馈,给机器一个正向或者负向的反馈,从而让机器根据反馈判断刚才的一系列动作应该如何对待。
3.机器要如何找到想要的函数?
(1)限制函数的范围:Linear或者Network Architecture(RNN+CNN)
(2)Learning Algorithm: Gradient Descent