机器学习的定义:Arthur Samuel在1959年提出了一个想法,打算让他的程序比自己更会下棋。但是他并没有给出具体的教程。1998年的时候,Tom Mitchell给出了关于机器学习的定义,他提出,一个合理的学习问题应该这样定义:对于一个计算机程序来说,给它一个任务T和一个性能测量方法P,如果在经验E的影响下,P对T的测量结果得到了改进,那么就说改程序从E中学习。因此在下棋的例子中,经验E对应着程序不断和自己下棋的经历,任务T是下棋,性能测量方法P可以是它和人类棋手对弈的胜率。
监督学习(supervised learning):监督学习包括连续问题还有分类问题,连续问题,比如房屋价格和房屋大小之间的关系。我们可以通过回归关系确定,对于特定大小的房屋,其价格为多少。分类问题,比如肿瘤大小和肿瘤性质(良性还是恶性)之间的关系。监督学习的结果是已知的,已经有所谓的标准答案了。
无监督学习(unsupervised learning):与监督学习相对,无监督学习是指,你知道有一组数据,但是你不知道这组数据各自对应的标准答案是什么。你需要在数据中找到一些有趣的结构。因此无监督学习不需要你给出任何标准答案。聚类学习就是一个常见的无监督学习。
机器学习算法可以用一行代码表示:
[W,s,v]=svd((repmat(sum(x.*x,1),size(x,1),1).*x).*x');%ICA algorithm
强化学习算法:这个算法的背后指的是回报函数。以一条狗为例,当你在训练狗时,如果他做了正确的事情,你就对它说,“乖狗狗”,同时给予奖励,如果他做了错误的事情,你就对他说“坏狗狗”。渐渐的,你的狗狗就学会了做正确的事情。所以强化学习算法的关键是:找到一个恰当的定义,说明什么是好的行为,什么是坏的行为。