机器学习小白必知必会

依然范特西╮ 提交于 2021-02-12 04:22:41
机器学习是一门多领域交叉学科,需要很多知识储备。 对于机器学习,很多人也只是一知半解,想要知其然、究其实,但是面对各种各样的书籍、文章却无从下手,摸不清门路。 小白该具备哪些知识点呢?

01

概念初识


机器学习领域内有很多专业术语,如繁星一般,穿插在各种技术文档、文献、书籍等资料中。学习机器学习的第一步就是了解这些专业术语,能够“读懂”各类文档。下面是一些比较常见的概念和定义:

  • 实例:表示具体的一件事物,可以是一本书,一只鸟等等,实例具有诸多属性,比如鸟的羽毛颜色、翅膀长度、鸟喙形状等等,我们可以凭借这些属性来判断鸟属于什么种类。

  • 标签:标签表示我们所关注的实例的“结果”或者“类型”,它是机器学习系统中预测的结果,或者是训练数据中所标识的正确答案。比如一本书可能是中文图书,也可能是外文图书,这就是这本书的标签或者说分类。

  • 属性:属性表示实例本身所具有的特性,实例与属性密不可分。实例往往具有很多属性,而在机器学习过程中,我们只关注对实例打标签有意义的属性。比如在判断书属于什么种类时,很明显出版时间这一属性对我们做决策并没有太大意义。

  • 样本:样本代表实例和实例标签的结合,用于模型训练和效果测试。在模型训练过程中,我们用大量实例的属性值(或特征)以及标签去调节模型中的参数,在测试阶段,使用训练好的模型输入实例的属性值,将模型的预测结果与对应实例的标签做对比。

  • 大数据:无法使用传统常规工具来进行处理的海量数据集。

  • ETL:表示从系统抽取各类业务数据,对这些数据进行脏数据处理、重复数据过滤、数据粒度转换等,并最终加载到数据仓库的过程。通俗地说就是对企业的各种业务数据进行整合,便于企业进行分析决策。

  • 数据仓库:可以简单地理解为新的数据库,因为数据仓库本质上也是一种数据集合。数据仓库与数据库的区别是,传统数据库主要用于日常事务处理,而数据仓库主要应用于联机分析处理,偏向于支持分析和决策。

  • 数据清洗:表示对异常数据(脏数据)进行处理的过程,包括补全缺少数据、过滤去重、离群数据处理、冗余数据处理等。

  • 特征:特征的概念基本类似于属性,有很多属性是可以直接当作特征来使用的,除此之外就需要对属性做一些数据计算或转换来生成特征。比如我们按照年龄段来划分少年、青年、中年和老年,这个过程也叫做分桶。

  • 特征集:表示特征的集合。在机器学习模型训练过程中,我们会选用样本的一系列特征进行训练,比如在预测房价时,房屋面积、地铁距离、城市所在地、楼层等等组成该房屋的特征集。

  • 模型:模型本质上是一个函数,其功能是提供从样本到样本标签的映射,即输入样本数据,输出样本标签。

  • 泛化:表示机器学习模型的适应能力,即模型使用一批样本进行训练之后,在另一批样本上进行决策时(打标签)的准确性性能度量。

  • 决策:表示机器学习模型打标签的过程,即判定样本属于哪一类。

  • 欠拟合:表示机器学习模型拟合函数的能力不足,即模型在训练集和测试集的表现均不佳。通常是由于训练的样本数据集太小、特征集太小、或者模型的复杂度不够等原因导致的。

  • 过拟合:表示机器学习模型拟合能力太强,导致在训练集上表现极佳,在测试集上表现不佳的状况。通常是由于训练集数据过于简单、特征集太大、模型复杂度过大等原因造成。

  • 独立同分布:是概率统计理论中的概念,指随机过程中,任何时刻的取值都为随机变量,如果这些随机变量服从同一分布,并且互相独立,那么这些随机变量是独立同分布。

  • 分类与回归:分类与回归常常放在一起进行论证,两者区别主要是输出类型的不同。分类是定性输出,输出为有限的类别。回归是定量输出,输出为有限或者无限区间内的任意值。比如预测明天天气状况,只有晴天、阴天、雨天等有限的几个类别,那么模型预测结果必定为其中一个,这种模型就是分类模型。而预测明天气温有多少度就是回归问题了。

  • 分类阈值:一种标量值条件,是模型决策结果的判定标准,即正负类别的分类界限。比如在违章检测中,假设模型的分类阈值为0.7,那么模型输出结果大于0.7就代表违章,否则为未违章。

  • 聚类:聚集成类,在一些样本中,我们不清楚每一个样本具体的类别,需要根据样本具备的属性信息或者特征,来将属性或特征类似的样本划分为一个类别,在聚类完成后,同一个类别中的样本属性相似,而不同类别的样本属性相差很大。

  • 协同过滤:协同过滤是推荐系统的核心算法,利用了“集体智慧”的原理,主要有两种方式,一种是通过兴趣相投的群体的喜好来推荐用户可能感兴趣的信息,另外一种是根据个人的多次表现或者与系统的互动记录,过滤掉不感兴趣的信息,推荐用户感兴趣的。比如在一个读书App上,我们阅读了很多玄幻类和历史架空类型的小说,那么该App会根据以前的阅读历史去推荐同类型的小说,协同过滤在视频推荐和商品推荐中也有很广泛的应用。

  • 混淆矩阵:也叫误差矩阵,用于表示分类模型的预测结果与实际结果关系的分析表。混淆矩阵是一个N行N列矩阵,每一列代表模型的预测类别,每一行代表实际标签类别。每一列的总数为模型预测为该类别的总数(包括实际为该类别的样本以及实际非该类别的样本),每一行的总数为实际该类别的总数(包括预测为该类别的样本以及预测为其他类别的样本)。

  • 迭代:模型在训练过程中一次权重参数的更新。

  • 收敛:模型训练过程中,经过多次迭代,训练损失和验证损失变化非常小或者基本不变,我们称模型的这种状态叫做收敛。可以形象地理解为在秤量重物过程中,刚把重物放到秤上时,指针从左右晃动到最后固定不变的情形。

  • 准确率:准确率也叫正确率,表示模型预测结果正确的占比。在模型预测结果中,一般都会有预测正确和预测错误的情况出现,分为四种情况。实际为正类,预测为正类,则为真正类(TP)实际为正类,预测为负类,则为假负类(FN)实际为负类,预测为正类,则为假正类(FP)实际为负类,预测为负类,则为真负类(TN)。准确率即为真正类和真负类在样本总数中的占比。

  • 精确率:在识别为正类别的样本中,确实为正类别占比。即真正类除以真正类和假正类之和。

  • 召回率:在所有正类别样本中,被正确识别为正类别的占比。即真正类除以真正类与假负类之和。

  • 增强学习:增强学习又叫强化学习,是机器学习算法中的一种。增强学习遵循“趋利避害”的原则,采用“试错”模式进行学习。即在当前状态下,通过尝试不同的行为(在尝试各种行为时,会有奖励或者惩罚措施),来决定哪一种行为获得的收益更高,并采用那一种行为。

  • 专家系统:专家系统是人工智能和机器学习系统的前身,内部含有大量的专业领域专家水平的知识和经验。针对一个问题,通过专家系统得到的结论与专家给出的结论一致。

  • 自然语言处理:自然语言处理是人工智能领域的一个重要方向,聚焦于探讨和研究如何让机器“懂”语言,并对语言做出回应。


02

原理探究


数学知识篇

机器学习是建立在数学基础之上的交叉学科。例如,微积分与最优化中的梯度下降是机器学习算法中求解模型参数(无约束优化)最常用的方法;矩阵在计算机视觉中应用广泛(如角点检测、滤波等);期望、方差、协方差用作特征、模型统计量等等。要想掌握机器学习,离不开扎实的数学基础,下面是一些必备知识点:

  • 微积分与最优化:

数列与函数极限

导数与微分

定积分与不定积分

微分中值定理(罗尔定理、拉格朗日中值定理、柯西中值定理)与积分中值定理

洛必达法则

泰勒展式

最优化理论、线性函数、拉格朗日函数、凸函数

目标函数与评价函数

无约束优化与约束优化

线性搜索与置信域

批处理模式、梯度下降、随机梯度下降

最速下降法、牛顿法、共轭梯度法、变尺度法

外罚函数、障碍函数

  • 线性代数

标量、向量、向量空间、张量
行列式与线性方程式
矩阵、线性变换、可逆矩阵、秩
范数、内积、内积空间
特征值与特征向量
  • 概率论与数理统计

样本空间、随机事件
古典概率、条件概率
先验概率、似然概率、后验概率
全概率公式与贝叶斯定理
概率质量函数与概率密度函数
二项分布、泊松分布、高斯分布、正态分布、指数分布
期望、方差、协方差、相关系数
参数估计、点估计(矩估计、最大似然估计、最小二乘法、贝叶斯估计)、区间估计
泛化误差、偏差、方差、标准差、噪声
  • 信息论

信息熵、条件熵
信息散度、相对熵、交叉熵
互信息、信息增益、信息增益比
KL散度
最大熵原理、最大熵模型


算法原理篇

机器学习算法应用广泛,种类繁多,近年来火爆全球的深度学习在计算机视觉中占据着不可忽视的地位,线性回归、朴素贝叶斯、支持向量机等经典算法更是成了机器学习从业人员必知必会的算法模型。面对繁杂多样的公式推导、晦涩难懂的描述,你是否也曾感到迷惘?推荐一本书《机器学习测试入门与实践》,另辟蹊径,从测试的角度剖析机器学习的流程、原理等,帮你轻松入门机器学习。

03

实战拔高



实践是检验真理的唯一标准,参与到各种大数据、机器学习实战项目,是提高机器学习技能最快的方式。以下是一些比较出名的竞赛平台,可以帮你快速提高机器学习编程能力,掌握代码优化技巧。

竞赛

网址

简介

Kaggle

https://www.kaggle.com

Kaggle是提供举办机器学习竞赛、托管数据库、编写和分享代码的平台,在业内有极高的认可度,初学者在这里可以“疯长”见识,学到很多前沿知识,若能在其中占据一榜之位,对于个人能力的提升以及职业发展都有很大帮助。

天池大数据竞赛

https://tianchi.aliyun.com

天池大数据竞赛是由阿里云发起的面向全球的数据分析比赛,致力于打造国际高端算法竞赛,通过算法解决社会和业务问题。网站有入门教程视频,可以帮助初学者快速入门。

科赛

https://www.kesci.com

科赛网是对标于国外Kaggle创建的数据科学家社区,提供K-Lab在线数据分析协作平台,后改名为和鲸HeyWhale

JDATA

https://jdata.jd.com

京东JDATA算法大赛,是京东创办的面向全球算法人才的系列算法竞赛,数据集为京东内部真实脱敏数据,致力于通过算法提升用户体验。

Biendata

https://biendata.com

Biendata是一个人工智能竞赛平台,由北京数竞科技有限公司创立,平台包含人工智能领域各类赛事,且奖金丰厚。






本文分享自微信公众号 - 测试技术圈(SoftwareTesters)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!