when can machine learning

什么时候,机器能够学到东西 ?

以下内容整理自台湾大学林轩田老师的线上课程 -《机器学习基石》

  要弄清楚什么这个问题,首先我们得弄明白另一个问题,那就是: 什么是机器学习 ?

  举个例子 , 如果某人想去学习英语口语,那么他会怎么做呢? 方法自然不会只有一种,但不管用什么方法,都必须得找到一些学习资料。找到学习资料之后呢? 必须得练习吧,比如大声读度音标,原声模仿文章等。经过一番费劲训练,某人对口语终于有所领悟了。

  学习的资料,是知识源(输入)。练习,是把资料蕴含的知识转化到脑袋里去。最终口语技能获得长进(输出)。

  • 机器学习,其实就是模仿这样一个过程 。
      对应过来,机器的学习资料是数据(data), 机器的训练是跑演算法(algorithm), 最终提升某种技巧(skill)。

  那对机器来说,这里的skill指什么呢?就是某种表现的提升,也就是犯更少的错误(类比上面的例子就是口语的语音语调更标准)。

  搞清楚了what is machine learning , 现在就来思考:

When can machine learning

  如果你要让机器判断两个数的大小,很容易,为什么呢?因为比较两数的大小有明确且简单的定义(通过判断差是大于0,或小于0,或等于0)。那么,如果让机器识别这张图片所拍下的东西是不是一颗树呢?

  能不能通过程序定义规则去判断呢?比如统计绿色像素点的频率等等。但实际上,很多树的姿态是不一样的,叶子的颜色也不见得以绿色为主(比如说枫树),还有天气的影响,另外就是拍摄的角度问题。 显然,通过规则去定义一颗树是很困难的。
  回想一下,我们人类是怎么学会辨认一颗树。不是因为记住了很多很多的规则,而是从小我们就被告知,那些是树,哪些不是树,久而久之,我们就学会了辨认树。
  这种情况请下,我们就可以用机器学习的方法令机器具有识别树的能力。具体的来说,我们可以应用数字图像处理的方法,在预处理后,提取多个特征,比如灰度直方图,骨架,某些阶数的统计矩等等,再运用logistic regression 做一个“ 软 ”(即有多大的概率是一颗树) 判断。
总结一下,机器学习需要的三个条件

  • 问题的本身要存在规律
  • 这个规律很难用程序去定义
  • 有足够的反应这个规律的记录(数据)
      第一条,想想看,当问题本身就是无规律的,对于无规律的规律,咋学习?
      第二条,如果能用程序去定义的话,那就不需要机器学习了,直接用程序写规则解决问题。
      第三条,即使前面的条件都满足了,但是如果没有足够的资料的话,机器拿什么东西去学习呢?
      那么,但这三个条件都满足了,机器是不是就一定能学到东西呢?

    Not really , 不一定 !

  回到最初那个例子,如果某人找到的资料不够理想,练习的方法也不太恰当(不敢抓老外),你说,这口语能练好吗?
  所以 ,满足了上面的三个基本条件,也只能说,机器学习可能做到学习。要确保机器真正能学到东西,还需要良好的资料,合适的演算法。具体如何做到,在林老师后续的课程会慢慢揭晓。