什么是机器学习machine learning?

机器学习致力于研究如何通过计算的手段,利用经验来改善系统自身的性能,主要是通过数据产生模型的算法——“学习算法”。机器学习的定义有多种说法,但是我们可以重点了解其中的两种。

第一个机器学习的定义来自Arthur Samuel,他定义机器学习为“在进行特定编程的情况下,给予计算机学习能力的领域”。Samuel的定义可以回溯到50年代,他编写了一个西洋棋程序。这程序神奇之处在于,编程者自己并不是个下棋高手,通过编程,让西洋棋程序自己跟自己下了上万盘棋。通过观察哪种布局会赢,哪些布局会输,一段时间后,跳棋游戏程序就学到了什么是好的布局,什么是不好的布局,最终,程序就学会了玩棋,而且水平超过了Samuel,这绝对是令人注目的成果。尽管编写者自己是个菜鸟,但因为计算机有着足够的耐心去下上万盘棋,通过这些练习,计算机获得无比丰富的经验,于是渐渐成为了比Samuel更厉害的西洋棋手。这是有点不太正式的定义,也是较老的一个定义。

另一个年代近一点的定义,由Tom Mitchell提出,他来自卡内基梅隆大学。Tom定义的机器学习是这样的:“一个好的学习问题定义如下:‘一个程序被认为能从经验E中学习,解决任务T,达到性能度量值P,当且仅当,有了经验E后,经过P评判,程序在处理T时的性能有所提升’。”在西洋棋的例子中,经验E就是程序上万次的自我练习的经验;而任务T就是下棋;性能度量P就是它在与一些新的对手比赛时,赢得比赛的概率。


要简单认识机器学习,我们除了知道大概的定义外,还要了解两个术语:监督学习和无监督学习。

监督学习:意指给出一个算法,需要部分数据集已经有了正确的答案(比如给定房价数据集,即数据集中的每个房子大小对应着一个房价,那么对于里面的每个数据,算法都知道对应的正确房价,即这房子实际卖出的价格),算法的结果就是算出更多的正确价格(比如有个新房子,你想要卖掉,算法会根据已有的数据集答案算出你的房价)。用更术语的方式来定义,监督学习又叫回归问题,意指要预测一个连续值的输出,比如房价,虽然从现实生活看,一般把房价记到分单位,实际还是个离散值,但通常把它看作实际数字,是一个标量值,一个连续值的数。

无监督学习:意指让机器自己学习,在给出的数据集中是没有对应的正确答案的(比如肿瘤的大小和良恶性的关系,数据集不会给出“肿瘤大就恶性或良性”这样的答案),而是需要算法根据数据集的特征进行分类,再得出答案。因此聚类是无监督学习的代表。

以上是机器学习主要的两种方式。


此外,算法的归纳偏好也是很重要的一点。归纳偏好,我的理解就是,因为新的训练集或者是旧的训练集外的空间,是未知的,需要算法去得出答案。但算法往往是根据以往的数据集产生的,那么面对未知的数据空间时,算法的性能是不一样的,也就是不同的数据集偏好的归纳特征是不一样的。因此要讨论算法的相对优劣,必须要针对具体的学习问题;在某些问题上表现好的学习算法,在另一些问题上却可能不尽如人意,学习算法自身的归纳偏好与问题是否相配,往往会起决定性作用。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容