机器学习的概念
“机器学习是一个研究领域,让计算机无需进行明确编程就具备学习能力”
————亚瑟·萨缪尔
当人们听到“机器学习”这个词汇时,可能相到的时某个科幻电影中的机器人。
但是近几年来,人工智能已经逐渐出现在了我们生活的方方面面了,人工智能的强大或许会引起一些人的恐慌,担心最终是否会控制人类
但当我们了解人工智能的基本原理后,就会发现目前来说,机器很难产生智能,让我们来具体了解机器学习吧
机器学习的应用场景
生活需求推动科技的进步,同时结合现实我们也能更好地理解一门知识
(1)垃圾邮件处理
传统的垃圾邮件处理方式或许是标记一些垃圾邮件中常出现的词,例如广告,销售等行业的词汇,但是这样的方法不具有普适性,当垃圾邮件发送者修改一下词汇可能你就得改变你的程序,这样的可维护性将非常差
使用机器学习算法时,我们给模型适量的垃圾邮件和正常邮件的内容数据,算法将找到垃圾邮件共有的某种规律,这些规律可能是我们不太能发现的,但是设定好算法后机器能发现,由此产生的垃圾邮件处理器将不需要我们常去修改维护。
(2)多指标预测房价
预测任务也是机器学习任务中一个常见的类型,以预测房价为例,我们给予模型往年的多个指标,例如离学校的距离,房子修建时间,交通等,然后给定以往每年的房价,训练后,当我们给出今年的指标时,它就能预测出一个相应的房价,实际上在这个任务中,数学表达就是一个多项式的拟合
x即为各项指标,然后机器学习算法将会拟合出合适的a值,同样是找到某种“规律”
(3)其他任务
其他还有各种文本分类,语音识别等任务,实际上都是需要先用数据来训练模型,然后模型找到其中的规律,来保证任务完成的好坏,当然,合适的机器学习算法也是必不可少的,我们将在以后的文章中介绍。
机器学习的分类
按是否在监督下训练为分类指标
(1)监督学习
在监督学习中,我们通常会告诉模型我们想要的结果,例如房价预测中给定房价,垃圾邮件分类中给定什么是垃圾邮件,这样模型就会向着这个结果去学习,监督学习常用在回归和分类任务中
(2)无监督学习
无监督学习任务中,我们往往也不知道结果,例如给定一批花的特征数据,让模型辨别有几类花品种,在这个任务中,我们事先也不知道有几种,模型通过算法寻找它们的共性来进行分类,这种任务我们常称为聚类。
(3)半监督学习
半监督学习出现的场景往往是,给数据做标记太耗费资源,但是完全不做又会影响模型性能,于是我们给一部分数据打上标记,这就被称为半监督学习
(4)强化学习
强化学习比起上面三种类别更为复杂,它有许多因子,智能体,环境,行动,回报等,我们将虚拟定义这些因子,让智能体在环境中做出行动,以获得最高回报,常见于训练机器人行走,以及训练玩游戏的场景中
按是否可以动态学习为分类指标
(1)批量学习
批量学习是指一次性把数据都投入到模型中进行训练,之后要加入新的只能把新的和旧的再重新一起训练,由此可知,如果每次要加入新的数据时,还要将旧的数据重新训练,将浪费很多资源,于是在线学习就出现了
(2)在线学习
在线学习允许模型只将新的数据加入进来,而不需要重新训练所有数据,这种方式大大节省了资源,同时它们可以实时更新,不需要工程师重新进行操作
深度学习
其实按照定义来看,深度学习也是机器学习的一种(也是通过数据学习到某种规律),只是由于它的不断发展,逐渐形成一个大的体系,但是本质可以认为它也是机器学习的一种
机器学习的主要挑战
我们已经知道,机器学习就是一个算法模型通过数据学习到解决某种问题的方法,那么我们就需要重点观察数据与算法两个层面
数据
大数据时代,极大地促进了机器学习的发展,但同时也带来了许多问题
(1)无关数据
有时候我们无法判断,就会给模型一些跟结果无关的数据,这样将影响模型最终的性能
(2)过拟合
我们的机器学习任务是要投入到普适场景中的,也就是我们常说的泛化能力,当模型完美契合完美训练的场景时,可能在普适场景中会出问题
以上为三种拟合情况,第一种为欠拟合,第二种刚刚好,第三种则过拟合了
算法
其次就是算法与算力的支持,这需要研究者不断开发出更高效的机器学习算法,同时面临海量数据时,硬件支持也显得尤为重要
书籍推荐
最后推荐一本机器学习入门书籍
中文名为机器学习实战:基于Scikit-Learn、Keras和TensorFlow
(1)清晰明了地解释了各种定义
(2)详细地介绍了机器学习各种算法模型
(3)有具体的代码演示