机器学习基本概念
寻找一个function,使具体的输入值可以有合理的输出
分为:
回归问题
分类问题
结构化问题
如何找到这个function
Training
准备一个function set。这个set里有成千上万的function:f1、f2 …… 这些function有的能输出正确的的对应关系,有的则不然,输入猫的图片结果判断成猴子,这个set叫做model。
之后需要一定量的培训资料,被称为训练集。机器能通过这个训练集确定什么样的输入有什么样的输出,对于任一的算法,可以与之比较。这样就具备了确定set中各个function优劣的能力。
Testing
但是机器只能从set中一个function一个function地比较,效率非常低。需要一种好的演算法从set中海量的function中选出最好的function。
机器学习相关技术
监督学习
即对结果进行准确预测。、
监督学习需要大量的training data,training data包含输入输出之间的关系。training data中的输出叫做label,往往人工来标注。
如拟合一条函数曲线,在许多label的训练后预测下一个x值对应的y值。 监督学习中,如果预测的变量是离散的,我们称其为分类(如决策树,支持向量机等),如果预测的变量是连续的,我们称其为回归。
半监督学习
监督学习需要大量的training data,training data包含输入输出之间的关系。training data中的输出叫做label,往往人工来标注。减少需要label的量的办法也有,比如半监督学习。
假如需要鉴别猫狗,要做一个分类器。现在有少量猫狗的图片和label(输入和输出),但是有大量的无标签图片,无法告诉机器哪些是猫,哪些是狗。这些没有label的data对学习可能也是有帮助的。
无监督学习
在没有label的情况下进行学习。可以在大量的文章中,知道某一个单词是什么意思。比如输入是apple,机器或者function要更说出来是什么意思,也可以用向量来表达其attribute。第二个例子是,动物园的动物看多了,能自己创造一些动物。
迁移学习
假设一样,做猫和狗的分类问题,同样有少量的有label的data,同时还有大量的data,这些data可能有label也可能没有,可能是猫狗中的一种,也可能既不是猫也不是狗。有不相干的data,就要用到迁移学习。
结构化学习
structured learning 中机器输出的是有结构性的结果。举例来说,在语音辨识里面,机器输入是声音讯号,输出是一个句子,句子是要很多词汇拼凑完成。他是一个有结构性的object。
强化学习
在监督学习中是有老师的,老师会告诉他每个问题的答案。reinforcement learning 是learning from critics,他是从评价中去学习的。他只知道他做的好,或者不好。但是他不知道他哪里做得好,还不知道哪做的不好。
reinforcement learning受到重视,就是他比较符合我们人类真正的学习的情景。这是你在学校里面的学习老师会告诉你答案,但在真实社会中没人回告诉你正确答案。你只知道你做得好还是做得不好,如果机器可以做到reinforcement learning,那确实是比较intelligence。那或者是我们用Alpha Go当做例子,对于监督学习就是说,你看到一个下棋的情况,就应该下哪里。对于reinforcement learning就是,机器会不断的下棋,最后赢了,机器就会知道下的不错,但是究竟是哪里可以使他赢,他其实是不知道的。我们知道Alpha Go其实是用监督学习和reinforcement learning去学习的。先用棋谱做监督学习,然后在做reinforcement learning,但是reinforcement learning需要一个对手,如果使用人当对手就会很浪费时间,所以我们采用另一个机器当他的对手。