天天看点

机器学习基础知识

作者:中米AI

任何有抱负的数据科学家在开始他/她的职业生涯时都会有很多担忧。为什么我们今天必须关注机器学习,或者为什么机器学习被如此多的讨论?机器学习是最近才出现的吗?我认为有几十种可用的定义和数十种理由,为什么有人应该进入它。我们不想在这里重新发明轮子,但想解决与有抱负的数据科学家相关的几个重要方面。

为什么选择机器学习

我们知道,每分钟都会产生大量的数据,例如零售支付、GPS、照片、博客、视频、电子商务、投资、保险、医疗保健、会计、物流、公用事业等等。正因为有这么多的数据,就有机会在所有这些方面进行预测。预测意味着通过在当下做出正确的决定来为未来做好准备。

机器学习基础知识

定义

机器学习是计算机科学、统计学和数学的研究,用于做出预测或聚类数据。最广泛使用的定义是,机器学习是人工智能 (AI) 的一种应用,它使系统能够在没有明确编程的情况下自动学习和改进经验。

机器学习基础知识

词汇表

  1. 自变量:有一组变量/字段(通常称为特征),当它们组合在一起时会得出数据的输出。例如,可以借助多个字段/变量来预测任何地方的降雨预测,例如该地区的地理状况(热带、沿海、山区等)、一年中的月份、前一天的状态、湿度水平等。这些字段/变量称为因变量或特征。任何数据集中通常都有多个自变量。
  2. 因变量:我们打算预测的数据点是因变量。在上面的例子中,因变量将是降雨预报(是或否)或我们预计降雨量(以毫米\为单位)。任何数据集中通常有 1 个因变量,但也可能有多个因变量。

3.数据集:自变量和自变量的组合称为数据集。换句话说,围绕一个业务问题,许多不同的数据点组合在一起称为数据集。对于基本的机器学习问题,它通常采用表格形式:每行是一个数据条目,每列是一个特征(或自变量)。例如,在上面的降雨预报示例中,将 300 个示例(300 天的数据)或行和 5 列(跨 4 个要素和 1 个输出)组合在一起称为数据集。在上面的示例中,每天将引用行,而湿度、温度、海拔、星期几等不同维度将引用列。

  1. 训练数据:完整的数据集分为 3 个部分,训练数据通常是划分数据集中最大的部分。这被称为训练数据,因为通常机器学习算法在这个集合上工作并创建其模型(技术上称为方程)
  2. 验证数据:这是第 02 个数据块(来自更大的完整数据集),用于验证所创建模型的准确性或正确性。模型或方程(在训练期间创建)在此验证集上运行,在运行模型时,模型会更改超参数以进一步提高准确性。
  3. 测试数据:这是运行模型以预测准确率分数的数据集的最后一块
  4. 拟合数据(或训练):每当有人说数据正在拟合或数据正在训练时,就意味着机器学习算法正在创建一个模型或创建一个数据可以拟合的广义方程。例如,二维空间中圆的方程是 (x-h)2 — (y-k)2 = r2 其中 r 是半径,圆的中心是 (h,k)。现在,这个方程是一个广义方程,我们把任何 x,y 放在其中,它将创建一个圆。同样,在创建模型后,每当我们输入自变量的新值时,机器学习模型都会给出因变量的值。

8.损失:损失是指单个训练记录的预测值与实际值之间的差值。这给出了预测值与实际值的估计值相差多远

  1. 成本函数:成本函数是所有训练样本的损失平均值

10.优化:这是一个通过调整权重或参数来最小化损失的过程。它是通过对相对于成本函数的所有权重进行偏导数(微分)来实现的

参数:参数是与每个自变量关联的权重。这些权重会随着每次优化迭代而改变。当这些权重没有变化或显着更新时,我们假设优化已完成

机器学习基础知识

机器学习的类别

让我们了解机器学习对数据有效,也对数字数据有效。这意味着必须将所有文本转换为数字数据,然后应用机器学习算法。这将在流程的后面部分讨论。

  1. 监督学习:当我们将自变量(输出)分配给每组因变量(数据集中的特征或列)时,需要此类算法。问题在于在给定一组新的因变量(特征)的情况下预测自变量(输出)。
  2. 无监督学习:当需要对数据集进行聚类或分离时,需要或使用此类算法。例如,如果我们根据学生的特征(地址、身高、体重、年龄、去年获得的分数、绘画技巧、运动奖牌、音乐技能、戴眼镜与否等)将学校的学生分为多个类别。 基础数据 在这些特征中,无监督模型可以将学生分为 3 或 4 类,即 a) 好学,b) 运动员, c) 艺术家。

强化学习:强化学习是机器学习的一个子集,其中模型计算所有可能的路径/选项以到达/计算目的地,然后选择以最小的惩罚(负分)提供奖励(正分)的路径/选项

算法

以下是常用算法列表

  1. 线性回归
  2. 逻辑回归
  3. 决策树
  4. 支持向量机
  5. 朴素贝叶斯
  6. kNN
  7. K-手段
  8. 随机森林
  9. 降维算法
  10. 梯度提升算法

a) GBM的

b) XGBoost

机器学习基础知识

过程

我们已经在数据科学部分解释了这个过程,由于机器学习是数据科学的一部分,机器学习的所有步骤都类似于数据科学中的步骤。请阅读本文直到最后,因为最后一步是您的奖励项目

  1. 数据收集:数据收集是任何机器学习问题的基础构建块。数据可以通过结构化格式(数据库、可用数据集、互联网历史记录)或非结构化格式(视频、博客等)收集。
  2. 清理数据:清理/清理数据是指数据没有 NULL 值、数据没有太多异常值、删除不相关列等的过程
  3. 探索性数据分析:借助图表可视化数据,以识别模式、异常值或关键洞察基础,下一步(特征工程)中需要采取进一步行动
  4. 特征工程:完成此步骤是为了在以下方法的帮助下实现正确的特征集 — a) 在数据集中添加更多记录,b) 添加更多特征,c) 分组运算(例如最大值、最小值、枢轴值) d) 数据的归一化/缩放,e) 对数或指数变换,f) 重新设计特征以进行降维或识别共线性, g) 独热编码,还有更多

5.算法选择:有多种算法可以应用于单个业务问题,因此我们可以测试多种算法。例如,在分类的情况下,我们可以使用逻辑回归或决策树或朴素贝叶斯,具体取决于哪种算法提供更好的准确性。

  1. 建模:这包括训练模型,这意味着找到正确的权重集(与列/特征/数据相关联)以创建广义方程。它包括借助交叉验证和更新超参数来调整模型。然后,通过在看不见的数据(称为测试数据)上运行模型来评估模型的准确性。一旦准确性达到业务预期阈值,就会将其移至生产环境。
  2. 生产部署:生产部署是任何模型中非常关键的元素,很少被谈论/解释。以下是我们在部署模型时需要考虑的切线

a) 该模型是为基于 Web 的交互还是基于设备的交互而开发的?

b) 我们是否需要模型的实时扩展(期望在特定时间段内有更多的用户)或用户不会改变?

c) 它是否需要与网络摄像头、电子商务门户等外部设备集成?

d) 使用该模型对安全有何影响?

e) 我们是希望客户每次都初始化算法并调用预测函数,还是希望为我们的模型使用 REST API?

机器学习基础知识

关于如何详细学习机器学习的总体规划

  1. 使用Youtube(首先)了解监督学习和无监督学习。停放强化学习几个月,直到您对监督和无监督有信心
  2. 报名参加 Coursera、Udemy 或任何其他在线平台的几门课程。寻找免费的或任何可以获得经济援助的地方都没有坏处,但是请查看内容并将其与上述内容相匹配

3.在多个不同的数据集上练习一些算法(你可以在线获得很多免费的数据集)

  1. 重要

一个。使用 Kaggle 创建帐户并下载数据集

b.在 github 上创建个人资料并在 github 上展示您的作品

同样,在LinkedIn上更新您的个人资料

这是在非常基本的层面上解释的,我们建议为每种类型的机器学习练习至少 2-3 种算法,以开始获得信心。

继续阅读