机器学习是一门多学科交叉专业,涵盖概率论知识,统计学知识,近似理论知识和复杂算法知识,使用计算机作为工具并致力于真实实时的模拟人类学习方式, 并将现有内容进行知识结构划分来有效提高学习效率。机器学习通过算法学习数据的模式,据此对新的数据进行预测。
其实机器学习的基础理论和算法本身并不是新出现的。无论是过去还是现在,计算机都特别擅长处理重复的任务。所以计算机能够比人类更高效地读取大量的数据、学习数据的特征并从中找出数据的模式。这样的任务也被称为机器学习或者模式识别,以前人们就有用计算机处理这种任务的想法,并为此进行了大量的研究,也开发了很多代码。现在机器学习能做的事情更多了。虽然不可否认这受益于计算机理论的发展,不过我认为主要还是归功于以下两点。
由于互联网的发展,个人行为和生活的一部分已经被数字化,规模大到无法想象的数据也随之而生。不仅是数据量变多了,数据的种类也增加了。其中包括 Web 网站的访问记录、博客上发布的博文和照片、邮件的发送记录、电商网站的购买记录等,数不胜数。多亏有了互联网,我们才可以轻松获取大量这样的数据。
而且现在计算机的性能也越来越高,处理同样多的数据所需的时间变得越来越短,硬盘和 SSD 这样的存储设备也越来越便宜。正因为机器学习具备了能够收集和处理大量数据的环境,所以人们对机器学习的兴趣越来越高。机器学习不仅可以应用在那些方便我们日常生活的应用程序上,还可以帮助商务人士做决策,或者应用在医疗、金融、安全等其他各种领域。
回归(regression)
分类(classification)
聚类(clustering)
回归就是在处理连续数据如时间序列数据时使用的技术。
时间序列数据就是那些连续观测到的因时而异的数据。比如股价、身高体重的数据。
从这样的数据中学习它的趋势,求出“明天的股价会变为多少”“今后的趋势会怎样”的方法就是回归,它就是一种机器学习算法。
分类算法最简单的理解就是给数据贴标签,比如生活中邮件APP自动鉴别垃圾邮件就可以归类为分类问题。分类算法根据邮件的内容,以及这封邮件是否属于垃圾邮件这些数据来进行学习。
像这种只有两个类别的问题称为二分类,有三个及以上的问题称为多分类,比如数字的识别就属于多分类问题。
聚类与分类相似,却又有些不同。聚类考虑的问题是:假设在有 100 名学生的学校进行摸底考试,然后根据考试成绩把 100 名学生分为几组,根据分组结果,我们能得出某组偏重理科、某组偏重文科这样有意义的结论。这里用来学习的数据就是每个学生的考试分数,比如下面这张表
本文系作者在时代Java发表,未经许可,不得转载。
如有侵权,请联系nowjava@qq.com删除。