“全文约1000字,阅读时间约3分钟。”
什么是机器学习?
机器学习(Machine Learning),简称ML。它并不是像字面意思所理解的那样,让冷冰冰的机器去学习,或者就是让机器人去学习。
机器学习,从本质上来说,可以理解为算法学习(Algorithm Learning)、模型学习(Model Learning),或者干脆直接叫函数学习(Function Learning)也是可以的。
比如,给你一堆邮件,让你把它们分成垃圾邮件(spam email)和正常邮件。
传统方法会怎么做呢?
我们会找专家来编写相关的规则,满足规则的分成一类,不满足的分成另一类。
但这样做,会有很多缺陷:
遇到复杂的问题,我们就会编写更多的规则,无形中拖慢了效率。
人为编写的规则,总有不完善的地方,经常会有突发的状况无法写进规则。
换成机器学习的方法呢?
它会从已有的邮件中,自动学习到邮件内容和邮件类别的关系。也就是建立一个邮件内容到邮件类别的函数,输入一个邮件的内容,输出该邮件所对应的类别。
而且,已有的邮件数据量越大,函数的输出就越准确,邮件被分错类别的几率就越小。
换句话说,当我们建立了一个模型之后,它就会自动学习并且自我完善。喂给它的东西越多,它吐出来的就越是精华。
机器学习的类别
机器学习主要有这四类:
监督学习、非监督学习、半监督学习和强化学习
这里只介绍前面两个常见的、比较容易理解的类型。
监督学习
监督学习,说明我们的数据集是有“标签”的。
比如上文中的邮件分类,邮件的类别(垃圾邮件/正常邮件)就是一种标签。
再比如我们要根据房屋的面积、房屋数量、房屋位置等因素来预测房屋的价格,那么这个价格也是一种标签的体现。
前者是离散型变量,我们叫做分类;后者是连续型变量,我们叫它回归。
其中的标签可以被看做是一种“监督”行为,因此叫做监督学习。
非监督学习
与监督学习相对的,自然就是非监督学习了。
在非监督学习中,我们只有一堆数据,我们也不知道可以用来干什么,需要让算法自己去学习。
这其中主要有2类任务:
其一是聚类。
我们用某种算法将原有数据分成若干块,每一块内部的相似度是最大的,而每一块之间的相似度是最小的。相当于一种聚合的作用。
其二就是降维。
假设原始数据有很多维度,其中含有一些冗余的维度,或者说我们希望精简一些维度,便于分析。此时,运用降维方法就可以将原来的高维变成低维。
旅程的约定
假设原始的数据有m个实例,n个特征,我们经常用
来表示第m个数据的第n个特征(维度)。
也就是说,上角标代表的是第几行数据(每一行代表一个样本),而下角标表示的是在这个样本中的第几个特征(每一列代表一个特征)。
新手村的任务到这里就结束了,勇士,准备好踏上机器学习的旅程了吗?
领取专属 10元无门槛券
私享最新 技术干货