第一次的机器学习:机器学习基础概念和名词

尽管机器学习从分类上而言只是人工智能(也就是常说的AI)的分支之一,但其本身也是一个相当巨大的命题。在未来的一段时间里,我将花时间在专栏写一些我比较熟悉的机器学习相关的概念和算法,最主要的目的是为了梳理自己的知识体系,也是希望和大家分享学习的历程和感悟,以达到交流的目的。

这两年大数据火了,机器学习、神经网络、数据挖掘、强化学习等等这些名词都火了,然而我常常在想,把这些名词挂在嘴边的我们,究竟能否在这个领域飞速发展的情况下,清楚地了解到自己说的每一个名词——谁是谁的分支,哪个和哪个又是同等关系或是没有关系的——在名词爆炸的状态下,想学什么,了解其基础概念是必不可少的。

与数据相关的概念

假如我们有一组天气数据,是来自全世界不同国家和地区的每日天气,内容包括最高温度、最低温度、平均湿度、风速之类的相关数据,例如数据的一部分是这样的:

城市最高温度最低温度相对湿度某时刻风速
A市36℃28℃58%16.7km/h
B市28℃17℃86%/
C市34℃29℃39%20.4km/h

在这组数据中,我们将称A市、B市、C市等市以及其情况的总和称为数据集(data set)。表格中的每一行,也就是某城市和它的情况被称为一个样例(sample/instance)。表格中的每一列(不包括城市),例如最高温度、最低温度,被称为特征(feature/attribute),而每一列中的具体数值,例如36℃ 、28℃,被称为属性值(attribute value)。数据中也可能会有缺失数据(missing data),例如B市的某时刻风速,我们会将它视作缺失数据。

如果我们想预测城市的天气,例如是晴朗还是阴雨天,这些数据是不够的,除了特征以外,我们还需要每个城市的具体天气情况,也就是通常语境下的结果。在机器学习中,它会被称为标签(label),用于标记数据。值得注意的是,数据集中不一定包含标签信息,而这种区别会引起方法上的差别。我们可以给上述示例加上一组标签:

城市天气
A市晴朗
B市阴雨
C市晴朗

视具体情况,用来进行机器学习的一个数据集往往会被分为两个数据集——训练数据(training data)测试数据(testing data)。 顾名思义,训练数据在机器学习的过程中使用,目的是找出一套机器学习的方法;而测试数据用于判断找出的方法是否足够有效。如果在训练的过程中需要确定方法的准确度,有时会将训练数据分成训练集(training set)验证集(validation set)——验证集合测试数据不同的地方在于验证集在训练过程中使用,而测试数据事实上是在模型建立后才被使用的。

与方法相关的概念

根据数据有没有标签,我们可以将机器学习分类为监督学习(Supervised Learning)无监督学习(Unsupervised Learning)半监督学习(Semi-Supervised Learning)

监督学习是学习给定标签的数据集,比如说有一组病人,给出他们的详细资料,将他们是否已确诊癌症作为标签,然后预测一名(其他的)病人是否会患有癌症,就是一种典型的监督学习。监督学习中也有不同的分类,如果我们训练的结果是得癌症和不得癌症之类离散的类型,则称为分类(Classification),如果只有两种类型的话可以进一步称为二分类(Binary Classification);如果我们训练的结果是得癌症的概率为0.87之类连续的数字,则称为回归(Regression)

无监督学习是学习没有标签的数据集,比如在分析大量语句之后,训练出一个模型将较为接近的词分为一类,而后可以根据一个新的词在句子中的用法(和其他信息)将这个词分入某一类中。其中比较微妙的地方在于,这种问题下使用聚类(Clustering)(方法)所获得的簇(Cluster)(结果),有时候是无法人为地观察出其特征的,但是在得到聚类后,可能会对数据集有新的启发。

半监督学习的数据集比较特殊,是部分有标签部分无标签的数据集。由于有标签的数据很多时候需要花大量人力物力去分类和生成,半监督学习也被视作当前机器学习的重要部分。半监督问题往往会利用一些假设,将半监督学习转化为传统的监督学习或非监督学习问题。

与结果相关的概念

二分类问题

衡量结果精度的有一些相关术语,首当其冲的是准确率(Accuracy)精确率(Precision)召回率(Recall)。这三个词汇应用于二分类问题:将数据分为正例(Positive Class)反例(Negative Class)

 

 

一张形象的维基百科图:

也就是说,准确率是预测和标签一致的样本在所有样本中所占的比例;精确率是你预测为正类的数据中,有多少确实是正类;召回率是所有正类的数据中,你预测为正类的数据有多少。这三个数据往往用来衡量一个二分类算法的优劣。

回归问题

回归问题往往会通过计算误差(Error)来确定模型的精确性。误差由于训练集和验证集的不同,会被分为训练误差(Training Error)验证误差(Validation Error)。但值得注意的是,模型并不是误差越小就一定越好,因为如果仅仅基于误差,我们可能会得到一个过拟合(Overfitting)的模型;但是如果不考虑误差,我们可能会得到一个欠拟合(Underfitting)的模型,用图像来说的话大致可以这样理解:

如果模型十分简单,往往会欠拟合,对于训练数据和测试数据的误差都会很大;但如果模型太过于复杂,往往会过拟合,那么训练数据的误差可能相当小,但是测试数据的误差会增大。好的模型应当平衡于这两者之间:

聚类问题

聚类问题的标准一般基于距离:簇内距离(Intra-cluster Distance)簇间距离(Inter-cluster Distance)。根据常识而言,簇内距离是越小越好,也就是簇内的元素越相似越好;而簇间距离越大越好,也就是说簇间(不同簇)元素越不相同越好。一般来说,衡量聚类问题会给出一个结合簇内距离和簇间距离的公式。

总结

机器学习的基本概念并不多,但搞清楚具体每个算法适用于怎样的数据、应当怎样去评价是比较重要的一点。

在之后的专栏中,我们将更多的讨论具体的算法,比较它们的优劣,研究它们的局限性和适用性。

希望大家在了解机器学习的时候把一句话永远放在心中:

All models are wrong but some are useful.



作者:乙醚_
链接:https://www.jianshu.com/p/891d71729c43
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值