Machine Learning 简明教程

Machine Learning - Getting Started

近年来,机器学习已成为一个越来越重要的主题,因为企业和个人生成的数据量继续呈指数级增长。从自动驾驶汽车到流媒体平台上的个性化推荐,机器学习算法现在被用于广泛的应用程序中。

让我们探索机器学习到底是什么。

What is Machine learning?

机器学习是人工智能的一个子集;顾名思义,它被定义为机器学习表现出“智能行为”的能力,就像人类一样。机器学习使用在数据集上训练的算法来理解数据中的模式,并创建能够预测结果的自学习模型。

Types of Machine Learning

我们可以将机器学习算法分为三种不同的类型 - 监督式、非监督式和强化学习。让我们详细讨论这三种类型 −

Supervised Learning

监督式学习使用标记数据集来训练算法以了解数据模式并预测结果。例如,将邮件过滤到收件箱或垃圾邮件文件夹。

监督式学习还可以分为两类:分类和回归。

有不同的监督式学习算法被广泛使用 −

Unsupervised Learning

非监督式学习是一种机器学习,使用未标记数据集来发现模式,而没有任何明确的指导或指令。例如,客户细分,即根据相似性将公司的客户分为不同的组。

此外,我们可以将非监督式学习算法分为三类:聚类、关联和降维。

以下是一些常用的非监督式学习算法 −

Reinforcement Learning

强化学习算法在数据集上进行训练,以通过最小化试错法做出决策并实现优化结果。例如,机器人技术。

以下是一些常见的强化学习算法 −

  1. Q-learning

  2. Markov Decision Process (MDP)

  3. SARSA

  4. DQN

  5. DDPG

Use Cases of Machine Learning

让我们讨论一下不同类型的机器学习算法的一些重要的实际用例

Supervised Learning

以下是监督式学习的一些实际用例 −

  1. Image Classification

  2. Spam Filtering

  3. House Price Prediction

  4. Signature Recognition

  5. Weather Forecasting

  6. Stock price prediction

Unsupervised Learning

非监督式机器学习的一些用例如下 −

  1. Anomaly detection

  2. Recommendation systems

  3. Customer segmentation

  4. Fraud detection

  5. Natural language processing

  6. Genetic search

Reinforcement Learning

以下是一些强化学习的使用示例 -

  1. Autonomous vehicles

  2. Robotics

  3. Game playing

Prerequisites to Get Started

若要开始使用机器学习,您应该对计算机科学基础知识有一些基本的了解。除了基本的计算机科学知识外,您还应熟悉以下内容 -

  1. Programming languages

  2. Libraries and Packages

  3. Mathematics and statistics

让我们逐个讨论上述三个先决条件。

Programming Languages: Python or R

有很多编程语言(如 C++、Java、Python、R、Julia 等)用于机器学习开发。您可以从您选择的任何编程语言开始。Python 编程广泛用于机器学习和数据科学。

在本机器学习教程中,我们将使用 Python 和/或 R 编程来实现示例程序。

在开始本教程之前,以下是需要介绍的一些基本主题 -

  1. Variables, basic data types

  2. 数据结构:列表、集合、字典

  3. Loops and conditional statements

  4. Functions

  5. String formatting

  6. Classes and Objects

.

Libraries and Packages

若要开始使用本机器学习教程,我们建议您熟悉一些库、包和模块,例如 NumPy、Pandas、Matplotlib 等。

由于在本教程中我们使用 Python 编程,因此您应该对以下库/包/模块有一些基本的了解 -

  1. * NumPy* - 用于数值计算。

  2. * Pandas* - 用于数据操作和预处理。

  3. * Scikit-learn* - 实现了几乎所有机器学习算法,例如线性回归、逻辑回归、k 均值聚类、k 最近邻等。

  4. * Matplotlib* - 用于数据可视化。

Mathematics and Statistics

数学与统计在开发机器学习和数据科学相关应用程序中起着重要作用。入门不需要高级数学知识,但有助于深入了解机器学习概念。

在开始机器学习教程之前,通常建议熟悉以下主题 -

  1. Variables, coefficients, functions.

  2. 线性方程,对数和对数方程,sigmoid 函数。

  3. 向量和矩阵,矩阵乘法,点积

  4. tensor and tensor ranks

  5. 平均值,中位数,众数,离群值和标准偏差

  6. 阅读直方图的能力

  7. 概率,条件概率,贝叶斯规则

  8. 导数,梯度,或斜率的概念

  9. Partial derivatives

  10. Chain rule

  11. 激活函数中使用的三角函数(尤其是 tanh)

Getting started with Machine Learning

你可能想知道机器学习是否难以学习?答案绝对不难;你需要对数学、计算机科学和编码有深入的理解,并应紧跟人工智能趋势。好吧,精于机器学习是一些技术人员的梦想,但不知道从何下手,以下是一些可以帮助你入门步骤:

Step 1 − Learn Prerequisites

有一些前提为理解算法和机器学习模型如何工作奠定基础。从学习基础开始:

  1. 任何编程语言,如 Python 或 R。

  2. Libraries and Packages

  3. 数学和统计(如微积分,线性代数等)

Step 2 − Learn Machine Learning Fundamentals

在深入机器学习之前,重要的是对基础知识有深入了解。这包括了解不同类型的机器学习方法,如回归,分类,聚类,降维等

在此机器学习教程中,我们涵盖了从基础到高级的所有机器学习概念,以及其实现。你只需要开始按章节学习教程并继续练习编程示例。

Step 3 − Explore Machine Learning Algorithms

算法构成了机器学习的基础,使计算机能够观察数据模式并预测输出。探索和理解 Naive Bayes, Random Forest, Decision tree 等基本算法。这将帮助你了解算法的工作流程。

Step 4 − Choose a Machine Learning Framework/ Library

机器学习有不同的工具,框架,软件和平台。具有挑战性的任务是根据你的模型选择最佳工具。机器学习工具的精通使你能够使用数据,训练你的模型,发现新方法并创建算法。一些常用的机器学习工具是 Scikit-learn, TensorFlow, PyTorch, 等等。

除了工具和算法之外,对 NumPy、SciPy、Matplotlib 等库有很好的掌握,将在你的机器学习之旅中为你提供帮助。

Step 5 − Practice with Real Data

数据集是任何机器学习算法的主干。这涉及将大量数据分组到一个集合中。数据集用于训练和测试算法,分析模式和获得见解。

有很多网站,如 Scikit-learn, TensorFlow, PyTorch, ,Google Dataset 搜索等提供公开可用的数据集。

Step 6 − Build Your Own Projects

在掌握基础知识后,是时候创建你自己的项目并选择你提出的问题陈述。这将帮助你应用你到目前为止所学到的东西,并将进一步发展你的技能。

你可以从使用预处理数据集的简单算法(如分类或推荐系统)开始,然后在感到舒服后转到开发复杂算法。

Step 7 − Participate in Machine Learning Communities

加入机器学习社区,如 Github ,这是一个与具有类似兴趣的人联系的好方法。通过这些社区,你将有机会向他人学习,分享经验,并获得对你的项目的反馈。这有助于你保持学习和成长的动力。