这篇文章会告诉你具体的情况 机器学习路线图 开始您的机器学习之旅。无论您是初学者还是刚刚起步,您都将获得机器学习高级资源的基础知识。就连我也通过这些资源获得了很多关于 ML 的知识。
机器学习、人工智能、深度学习、物联网等正在改变世界。可以说,这些分支将达到顶峰。
因为我们每天生成和存储的数据量正在以指数速度增长。机器学习、人工智能和深度学习帮助组织从他们收集的数据宝库中提取价值,提供业务洞察、自动化任务并提升系统功能。
在开始介绍 ML 路线图之前,让我告诉您为什么此路线图与其他路线图略有不同。
如果您想在人工智能和机器学习领域发展自己的职业生涯,那么在开始时您可能会遇到很多挑战和困惑,因为我们许多人不知道机器学习的正确资源和路径。我们中的一些人可能最终会学习非常先进的 ML 课程并停止 ML 之旅。
但在此机器学习路线图中,您将获得涵盖基本概念和高级 ML 概念的所有资源。
机器学习路线图
开始机器学习之旅的先决条件:
1. 数学
数学是机器学习的核心
在我看来,拥有数学基础知识是开始机器学习的必要条件,因为每个机器学习算法都是建立在数学概念之上的。
如果您是一名大学生,您可能已经具备机器学习所必需的数学基础知识。如果你不是,请不要悲伤。我将引导您了解在进入机器学习之前需要清除的所有数学资源。
这些数学主题如下。
• 线性代数
• 概率与统计
• 微积分
让我们讨论如何在机器学习中使用上述主题并分享一些有用的资源。
我。线性代数
线性代数是数学的一个分支。我们研究向量、矩阵、对称矩阵、正交化和正交化、矩阵运算、投影、特征值和特征向量、向量空间以及线性代数中的范数。
我们在许多机器学习算法中使用这些概念,例如主成分分析 (PCA)、矩阵特征分解、LU 分解、QR 分解/因式分解和奇异值分解 (SVD) 等。
我已经提到了一些学习线性代数的好资源。如果您是初学者,您可以浏览这些资源并学习线性代数的基础知识。
我希望你浏览一下这个播放列表。我没能做到……但我认为这对于基础代数来说是最好的。这是由 YouTube 上的 3Blue1Brown 频道制作的。
二.概率与统计
统计学和机器学习没有太大区别。在机器学习过程中,我们大部分时间都需要与数据及其属性打交道。
我们分析数据、从数据中学习并收集见解和可视化,这将有助于为给定问题或应用程序构建最适合的算法。这就是统计学的意义所在。
概率和统计用于机器学习理论,如组合、概率规则和公理、贝叶斯定理、随机变量、方差和期望、标准分布(伯努利、二项式、多项式、均匀和高斯)、条件分布和联合分布、矩生成函数、先验和后验、最大似然估计 (MLE)、最大后验估计 (MAP) 和采样方法。
我提到了一些关于概率与统计的优秀资源。
我分享了 NPTEL 概率与统计课程……太棒了。
三.结石
微积分有助于理解不同算法和函数的行为和内部工作原理。最好学习微积分以了解函数的行为及其随时间的变化。
我们在微积分中需要学习的主题是微分和积分、偏导数、向量值函数、方向梯度、Hessian、雅可比、拉普拉斯和拉格朗日分布。
最好的微积分应用之一是梯度下降算法,该算法用于神经网络中的反向传播以找到函数的最小值。
我正在附上微积分的资源。这是 3Blue1Brown 在 YouTube 上制作的播放列表。如果您没有数学背景,那么我建议您从这个播放列表中学习微积分的基础知识。
播放列表:微积分
2.Python
要实现 ML 算法、修改它们并执行不同的任务,您必须选择一种编程语言。对于 ML,我更喜欢使用 Python 编程语言。
因为 Python 很流行,所有人都容易学习这种语言。
在机器学习中,您必须使用不同类型的数据来训练模型并对其进行处理。人们过去常常手动完成所有任务,例如编码算法、数学公式和构建模型。与过去相比,现在由于有了各种Python库和模块,训练和制作模型变得很容易。
以下是Python的一些重要库:
• Numpy
• 熊猫
•Matplotlib
• 希博恩
• TensorFlow
• 凯拉斯
• Scikit 学习
• PyTorch
• CV2
如果你想从头学习python,我建议你从Freecodecamp学习。他制作了一个从初级到高级的令人惊叹的播放列表。我不是在推销任何频道,只是向您推荐最好的频道。
最好先学习Python语言的基本概念和一些需要的库,如NumPy、pandas、matplotlib和seaborn。
让我们简单地看一下每个库:
- 麻木: 在机器学习中,你必须使用矩阵和向量,这样 NumPy 才会有用。我们可以使用 NumPy 使用许多函数来执行数学和科学计算。
- 熊猫: 对于处理数据集,pandas 会非常有帮助。例如加载数据、重新排列数据、分析数据、理解数据等。
- matplotlib: matplotlib 通过制作图表来帮助可视化数据和结果,并帮助理解数据。
- 西伯恩: seaborn 是一个与 matplotlib 非常相似的库。你可以说seaborn更新了matplotlib。 Seaborn 也是一个方便的图书馆。
如果您不了解所有这些库,那么我建议您观看 YouTube 上的 Freecodecamp 视频。
机器学习
到目前为止,您已经了解了机器学习先决条件的所有这些资源。现在是时候深入了解核心机器学习算法了。
如您所知,机器学习是一门让机器像人类一样行为并针对不同应用做出决策和预测的研究。掌握机器学习算法的基础知识对你有好处。
让我向您介绍 ML 的主要管道。执行机器学习任务主要有七个步骤。
- 收集数据
- 准备该数据
- 选择型号
- 训练
- 评估
- 超参数调优
- 预言
除了这七个步骤之外,您还需要掌握以下概念和算法。
• 干净的数据
• 填充缺失值
• 删除一些功能
• 特征选择
• 功能扩展
• 正则化
• 特征工程(首先可选)
• 回归算法
• 简单线性回归
• 山脊和套索
• 多元线性回归
• 多项式回归
• XGB 回归器
• 分类算法
• KNN(K 最近邻)
• 逻辑回归
• 决策树
• 随机森林
• 朴素贝叶斯
• XGB 分类器
• 聚类算法
• K 均值
• DBSCAN(基于密度的应用程序空间聚类)
• 降维
• PCA(主成分分析)
•LDA
• t-SNE
我推荐 Coursera 上 Andrew Ng 教授的机器学习完整课程。
深度学习
深度学习是机器学习的一个分支。它涵盖了图像、文本和声音的分类任务。
深度学习是无人驾驶汽车、机器人等背后的技术。
计算机视觉(CV)和自然语言处理(NLP)是深度学习的两个主要分支。
计算机视觉 深度学习从图像、视频和其他视觉输出中获取信息。计算机视觉的一些优秀应用是
• 无人机监测农作物。
• 产量监控。
• 用于对农作物进行分类和排序的智能系统。
• 自动喷洒农药。
• 天气记录。
• 森林信息。
• 智能农业。
• 农田安全。
自然语言处理 深度学习是理解文本并从中收集见解的方法。计算机视觉的一些优秀应用是
• 电子邮件过滤器
• 智能助手
• 搜索结果
• 预测文本
• 语言翻译
• 数字电话
• 数据分析
• 文本分析
我推荐 Coursera 上 Andrew Ng 教授的《深度学习专业化》完整课程。
机器学习和深度学习库
您已经看到了小学推进机器学习和深度学习的所有必要资源。现在是时候看看一些广泛用于执行 ML 任务和操作的 Python 库了。
这些库非常棒,因为它们减少了编写算法代码的工作量。这是我提到的一些库。
- 张量流
- 喀拉斯
- 开放式计算机视觉
- 火炬
- 科学Py
- Scikit-Learn
- 西阿诺
- DL4J
- NLTK
我们来讨论一下上面的几个。
我。张量流
TensorFlow 是由 Google Brain 团队开发的开源库。它主要用于深度学习应用,例如分类和预测回归建模,但它也支持传统的机器学习。
尽管在 TensorFlow 中编写代码非常具有挑战性;我们使用 TensorFlow Keras API 来编写代码。稍后我们会看到 Keras。
我通过 YouTube 上 Daniel Bourke 的视频学习了 TensorFlow。它分为2个部分,初级和高级。
TensorFlow 基础知识:
TensorFlow 高级版:
二.喀拉斯
Keras 是深度学习中最常用的 API。它包含用于构建和测试机器学习模型的不同模块和快捷方式。神经网络在任何深度学习模型中都起着至关重要的作用,而 Keras 是实现神经网络的完美深度学习 API。
使用 Keras 实现神经网络非常容易。Keras 还支持多个后端神经网络计算。
使用 Keras 是一种更好的方法,而不是实现整个神经网络和所有计算。例如,二进制和图像分类通常依赖于 Keras 库。
以下是一些使用 Keras 制作的著名项目:
• 心脏病分类
•石头剪刀布游戏
• 使用多类分类进行人类活动识别
如果您想学习 Keras,请观看此视频。
三.开放式计算机视觉
通过计算机视觉,我们可以了解如何存储、操作和检索图像和视频。它是一个开源计算机视觉和机器学习软件库。它包含许多计算机视觉和机器学习算法,可帮助您构建机器学习模型,例如人脸检测和识别、对象识别、跟踪相机内运动、跟踪移动对象等。OpenCV 广泛应用于公司、政府机构和研究小组。
以下是一些使用 OpenCV 制作的著名项目:
• 口罩检测
• 虚拟绘画应用程序
• 换脸应用程序
• 智能考勤系统
• 社交距离系统
• 边缘非接触式显示界面
• 自动驾驶汽车
• 照片校正应用程序
• 机器人技术
• 街景图像拼接
我建议您参考此视频以获取完整的 OpenCV 指南。
四. Scikit-learn(Sklearn)
Scikit-learn (Sklearn) 是 Python 中最有价值、最强大的机器学习库。 Scikit-learn 通过 Python 中的一致接口提供了一系列监督和无监督学习算法。它通过 Python 中的统一接口为机器学习和统计建模提供了许多有效的工具,例如分类、回归、聚类和降维。该库主要用 Python 编写,基于 SciPy、NumPy 和 Matplotlib 构建。
基于Sklearn的项目:
• 情绪分析
• 预测销售收入
• 多元线性回归
Scikit学习教程:
在此,我为大家提供一些平台的详细信息。你可以在这些平台上练习,也可以参加比赛。
1.卡格尔
您是否知道大多数数据科学家只了解数据科学的理论基础,并且通常他们无法应用迄今为止所学到的知识来解决现实生活中的问题? Kaggle 是一个让数据科学家充满热情地参与解决现实生活问题的平台。
Kaggle 的经验对于帮助您了解如何寻找大数据解决方案非常宝贵。 Kaggle 邀请数据科学家和其他开发人员举办机器学习竞赛、编写和共享代码以及托管数据集。 Kaggle 上发布了许多基于机器学习的现实生活问题。
许多不同的来源在此平台上发布项目。虽然有些只是为了教育目的和有趣的大脑锻炼,但其他一些则是公司试图解决的真正问题。
Kaggle 通过为获胜者和参与者颁发奖品和排名来使环境具有竞争力。奖励是金钱形式的,还可以包括有吸引力的奖励,例如主办比赛的公司提供的工作或免费产品。
Kaggle 不仅可以对您的技能进行排名,而且是每个人都可以比较代码并从 Kaggle 上发布的许多资源中学习新想法的地方
2.纸质代码
Paperwithcode 是免费开放的机器学习论文、数据集、代码、方法、基准测试和评估表资源。该平台包含约 4,995 个基准测试、2,305 个任务和 49,190 篇带有代码的论文。使用这些数据,您可以更熟悉机器学习社区为何有帮助。 paperwithcode 和 Kaggle 有很多相似之处;在我看来,如果你想竞争,你应该更喜欢 Kaggle,如果你正在寻找资源和学习,你可以选择两者。
以下是 paperwithcode 的一些热门论文:
- EfficientDet:可扩展且高效的对象检测
- AutoML-Zero:从头开始发展机器学习算法
- ResNet:分裂注意力网络
- MXNet:“异构干扰系统”的机器学习库
- DeepFaceLab:一个可扩展且简单的换脸框架
以下是 paperwithcode 的一些基准:
- ImageNet:图像分类
- COCO:对象检测/实例分割
- MNIST:图像分类
- Human 3.6M:人体姿势估计
- PASCAL VOC 2012:语义分割
现在,我希望你知道你到底应该做什么来进入机器学习和深度学习时代。仅仅学习概念是不够的;完成这个机器学习路线图后,我建议您开始基于机器学习的项目。您还可以浏览我们的项目,我们将随时为您提供帮助。你应该开始参加 Kaggle 的比赛;这将引导您成为机器学习的大师。摇滚起来!