赞
踩
全文共9000余字,预计阅读时间18~30分钟 | 满满干货,建议收藏!
看这里:Python安装部署文档
先通俗的理解一下:机器学习其实是一种让计算机系统在不直接编写特定代码的情况下,自动从数据中学习并提高自身性能的技术。简单来说,机器学习就像教孩子学习一样。我们不是告诉孩子每一个问题的答案,而是教给他们学习的方法,让他们自己去观察、思考和解决问题。同样,在机器学习中,我们也不是告诉计算机如何处理每一个具体任务,而是让计算机通过大量数据自主学习,从而找到解决问题的方法。
举个简单的例子,如果我们想让计算机学会识别猫和狗的图片,我们不会编写一套特定的规则告诉计算机如何分辨猫和狗,而是会给计算机大量标记过的猫和狗的图片作为训练数据。计算机通过观察这些数据,学习到什么样的特征代表猫,什么样的特征代表狗,从而实现自动识别的目的。
从专业角度来说,机器学习是人工智能(Artificial Intelligence, AI)的一个子领域,它关注通过算法和统计模型使计算机系统自动从数据中学习和改进,从而在特定任务上提高性能。机器学习的核心思想是让计算机根据已有数据自主建立模型,以解决新问题。
机器学习的定义有很多种,这里我们引用计算机科学家和统计学家Tom M. Mitchell的定义:“一个计算机程序在完成某类任务T时,如果它的性能P在经验E的基础上有所提高,那么我们就说它从这些经验中学习。”这个定义强调了三个关键因素:任务T、性能P和经验E。计算机程序通过学习经验E来改进任务T的性能P。
换句话说,机器学习算法使用训练数据(经验)来训练模型,模型用于完成特定任务(如分类、回归、聚类等),而性能指标(如准确率、召回率、F1分数等)用来衡量模型在任务上的表现。随着更多经验(数据)的积累,模型的性能通常会得到提高。
机器学习(的过程)本质上就是通过数据的不断训练、从而使得模型在其对应评估指标上表现越来越好的这样一个过程,在此过程中至关重要的一点是要能能够给模型提供有效的反馈,同时模型本身也需要根据反馈结果,不断的进行调整。只有该过程能够顺利进行,模型才能得到有效训练,“机器”才能“学习”。
机器学习模型训练相关核心概念:
简要概述一下机器学习发展历程的简要概述吧,但我们需要知道的是:实际上机器学习的发展远比这更为复杂且丰富。
机器学习已经广泛应用于许多领域,具有很多应用场景。比如:图像识别识别领域中的自动驾驶汽车、人脸识别系统等;自然语言处理(NLP)领域的情感分析、文本摘要等。推荐系统领域中的电商推荐、新闻推荐等。同时在金融风控、医疗健康等各领域,都发挥着重要的作用,随着技术的不断发展,机器学习在各行各业的应用将越来越广泛。
首先,从通俗的角度来理解经典统计分析:经典统计分析是一种使用数学方法来分析、解释和预测数据的科学。它可以帮助我们根据一组观察值来了解潜在的规律、关系和趋势。在经典统计分析中,我们通常依赖于概率论和数理统计的理论基础,来描述和推断数据的特性。
从专业角度来看,经典统计分析是对数据的收集、组织、描述、分析和解释的过程。它包括描述性统计分析和推论性统计分析两个方面:
经典统计分析和机器学习之间有一定的联系和区别。它们都侧重于从数据中学习和推断潜在的规律,但在方法、目标和应用场景上存在一些差异。
如果要看两者之间的联系,比如:两者都依赖于数据来进行分析和建模,从数据中发现规律和知识,都涉及概率论、数理统计、线性代数等数学理论。在两者的应用过程中,都需要通过某种评估指标来衡量模型的性能和预测能力。
那么它们之间的区别主要如下:
总的来说,经典统计分析和机器学习在一定程度上是互补的。它们都试图从数据中发现知识,所以尽管机器学习算法和统计分析算法目标一致——核心都是围绕某个具体目标、尝试进行有效的预测,但二者的建模流程和基本思路却有着天壤之别。实际应用中,根据问题的具体需求和背景,可以灵活选择和结合这两种方法。
数据是对客观事物的属性、特征或信息的描述。在计算机科学和信息处理中,数据通常以数值、文本、图像等形式表示。而数据集是一个包含多个数据实例的集合,通常用于分析、建模或进行机器学习任务。如:
编号 | 姓名 | 年龄 | 性别 | 身高(cm) | 体重(kg) |
---|---|---|---|---|---|
1 | 张三 | 25 | 男 | 175 | 70 |
2 | 李四 | 30 | 女 | 162 | 55 |
3 | 王五 | 22 | 男 | 180 | 75 |
4 | 赵六 | 28 | 女 | 158 | 50 |
在上面那个表格中,我们创建了一个包含4个人的信息的数据集。数据集是一个包含多个数据实例的集合。在这个例子中,每一行表示一个数据实例。数据实例就是一个具体的数据点,它通常包含一些描述该实例的属性,这些属性被称为特征。在我们的例子中,编号、姓名、年龄、性别、身高和体重就是特征。
机器学习模型主要可以分为四个大类,分别是监督学习、无监督学习、半监督学习、强化学习,在介绍每个类型之前,我们先要理解两个概念,也就是特征与标签和连续变量和离散变量。
特征和标签是机器学习中常用的术语,它们分别指数据中的输入和输出。
连续变量和离散变量是数据类型的两种分类。
在传统统计分析领域,对于离散型变量,还可以进一步细分为名义型变量和顺序性变量。所谓名义变量,指的是随机变量取得不同离散值时,取值大小本身没有数值意义,只有指代意义。例如,用0/1代表男女,则该变量没有1>0的数值意义。但所谓顺序变量,则有大小方面的数值意义,例如使用0/1/2代表高中/本科/研究生学历,则可用2>1>0来表示学习的高低之分。*
在这类模型中,训练数据包含输入特征和对应的输出标签。模型通过学习输入与输出之间的映射关系,进行预测。监督学习的典型任务包括分类(预测离散值)和回归(预测连续值)。
编号 | 特征1 | 特征2 | 标签 |
---|---|---|---|
1 | 2.0 | 3.0 | A |
2 | 4.0 | 1.0 | B |
3 | 3.5 | 2.5 | A |
4 | 1.0 | 4.0 | B |
在这个表格中,我们有一个包含4个数据实例的监督学习数据集。每一行代表一个数据实例,包含编号、两个特征(特征1和特征2)以及对应的标签。
特征1和特征2是连续变量(数值型),用于描述数据实例的属性。标签是离散变量(分类数据),表示我们希望预测的目标。这是一个分类任务,因为我们需要预测离散的标签值(A或B)。
通过学习这个数据集,机器学习模型将尝试找到特征1和特征2与标签之间的关系,以便在给定新的特征数据时,能够预测出相应的标签。例如,模型可能会发现特征1较小且特征2较大的数据实例更可能属于类别A,而特征1较大且特征2较小的数据实例更可能属于类别B。这就是监督学习的过程。
无监督学习:这类模型处理的训练数据仅包含输入特征,不包含输出标签。模型的目标是学习数据的内在结构或分布。典型的无监督学习任务包括聚类(将数据分成若干组)和降维(减少数据特征的数量,同时保留其主要信息)。
编号 | 特征1 | 特征2 |
---|---|---|
1 | 2.0 | 3.0 |
2 | 4.0 | 1.0 |
3 | 3.5 | 2.5 |
4 | 1.0 | 4.0 |
在这个表格中,我们有一个包含4个数据实例的无监督学习数据集。每一行表示一个数据实例,包含编号和两个特征(特征1和特征2)。
特征1和特征2是连续变量(数值型),用于描述数据实例的属性。然而,与监督学习不同,这里没有标签列。因此,模型需要根据特征之间的相似性来学习数据的内在结构。
例如,如果我们使用聚类算法,模型可能会发现特征1较小且特征2较大的数据实例(例如编号1和4)彼此相似,因此将它们分为一组。同样,特征1较大且特征2较小的数据实例(例如编号2和3)也可能彼此相似,因此被分为另一组。
半监督学习:这类模型介于监督学习和无监督学习之间。训练数据中的一部分包含输出标签,而另一部分不包含。半监督学习旨在利用未标记的数据来提高模型的性能。
编号 | 特征1 | 特征2 | 标签 |
---|---|---|---|
1 | 2.0 | 3.0 | 类别A |
2 | 4.0 | 1.0 | 类别B |
3 | 3.5 | 2.5 | - |
4 | 1.0 | 4.0 | - |
在这个表格中,我们有一个包含4个数据实例的半监督学习数据集。每一行表示一个数据实例,包含编号、两个特征(特征1和特征2)以及一个标签列。
特征1和特征2是连续变量(数值型),用于描述数据实例的属性。数据集包含已标记的数据实例(编号1和2)和未标记的数据实例(编号3和4)。
半监督学习模型的目标是利用已标记的数据实例(例如编号1和2)来学习输入与输出之间的映射关系,同时利用未标记的数据实例(例如编号3和4)来学习数据的内在结构,从而提高模型性能。例如,在这个数据集中,半监督学习模型可能使用未标记数据来了解特征1和特征2之间的关系,并据此推断编号3和4可能属于哪个类别。
强化学习:强化学习模型通过与环境的交互来学习。模型(智能体)在执行某个动作后会从环境中获得反馈(奖励或惩罚)。强化学习的目标是找到一种策略,使智能体在长期内获得最大的累积奖励。
在强化学习中的介绍中,数据并不以表格的形式出现,而是通过智能体与环境的交互得到。这里我们可以用一个简化的示意图来说明强化学习的过程。
智能体 (Agent) <-----> 环境 (Environment)
↑ ↓
动作 (Actions) 状态 (States)
↓ ↑
奖励 (Rewards) <-----> 反馈 (Feedback)
智能体(Agent)根据当前的环境状态(States)来选择一个动作(Actions)。执行动作后,环境会发生变化,并给出新的状态和相应的奖励(Rewards)作为反馈(Feedback)。智能体根据奖励来调整自己的策略,以在未来尝试更好的动作。
一个典型的强化学习例子是训练一个机器人在迷宫中寻找出口。在这个例子中,智能体是机器人,环境是迷宫。机器人根据当前所在的位置(状态)来选择一个动作(例如向上、向下、向左或向右移动)。执行动作后,机器人会进入新的位置,并从环境中获得奖励(例如,如果找到出口,奖励为正;如果撞到墙壁,奖励为负)。机器人根据奖励来调整策略,以便在未来更快地找到出口。
这个场景中,并没有表格形式的数据,但是智能体会在与环境交互的过程中收集数据,并根据这些数据来调整策略。
在分类任务中,模型的目标是将输入数据分配到预先定义的类别中。例如,通过分析一封电子邮件的内容,将其分类为垃圾邮件或非垃圾邮件。分类任务通常涉及离散标签,常用于监督学习。
动物名称 | 体重(kg) | 腿数量 | 是否有毛 | 类别 |
---|---|---|---|---|
猫 | 4.5 | 4 | 是 | 哺乳动物 |
蜥蜴 | 0.3 | 4 | 否 | 爬行动物 |
鹦鹉 | 0.1 | 2 | 是 | 鸟类 |
企鹅 | 25 | 2 | 是 | 鸟类 |
狗 | 20 | 4 | 是 | 哺乳动物 |
蛇 | 4 | 0 | 否 | 爬行动物 |
比如在分类任务中,我们的目标是根据动物的特征(体重、腿数量、是否有毛)对动物进行分类。我们可以观察到动物的特征和它们所属的类别之间存在一定的关系。例如,具有4条腿且有毛的动物被归类为哺乳动物,而具有2条腿且有毛的动物被归类为鸟类。
分类任务就是通过学习这些特征与类别之间的关系,为新的动物样本分配正确的类别。在实际应用中,我们会训练一个分类器来学习这些关系,并基于已知的动物特征数据对新的动物进行分类。这样,当我们遇到一个新的动物时,只需观察它的特征(如体重、腿数量、是否有毛),分类器就能帮助我们判断它属于哪个类别。
回归任务:回归任务的目标是预测一个连续值,如房价、销售额或温度等。与分类任务不同,回归任务的输出是一个连续值,而不是离散标签。回归任务同样属于监督学习范畴。
房子编号 | 面积(平方米) | 卧室数量 | 距离市中心(千米) | 房价(万元) |
---|---|---|---|---|
1 | 80 | 2 | 2 | 300 |
2 | 120 | 3 | 5 | 450 |
3 | 60 | 1 | 1 | 280 |
4 | 100 | 2 | 8 | 380 |
5 | 150 | 4 | 10 | 580 |
比如在回归任务中,我们的目标是根据房子的特征(面积、卧室数量、距离市中心)来预测房价。我们可以观察到房子的特征与房价之间存在一定的关系。例如,面积更大、卧室数量更多的房子通常价格更高;靠近市中心的房子通常价格也更高。
回归任务就是通过学习这些特征与房价之间的关系,为新的房子样本预测房价。在实际应用中,我们会训练一个回归模型来学习这些关系,并基于已知的房子特征数据对新的房子进行房价预测。这样,当我们遇到一个新的房子时,只需观察它的特征(如面积、卧室数量、距离市中心),回归模型就能帮助我们预测它的房价。
聚类任务:聚类任务的目标是根据数据的相似性将输入数据划分为多个组或簇。聚类任务不涉及预先定义的标签,因此属于无监督学习。一个典型的聚类任务是将客户划分为不同的市场细分,以便进行更有效的营销策略制定。
顾客编号 | 年龄 | 平均月消费(元) | 是否有孩子 | 最近一次购物距今(天) |
---|---|---|---|---|
1 | 25 | 5000 | 否 | 10 |
2 | 45 | 2000 | 是 | 7 |
3 | 31 | 7000 | 否 | 15 |
4 | 60 | 1500 | 是 | 20 |
5 | 35 | 5500 | 是 | 8 |
比如在聚类任务中,我们的目标是根据顾客的消费特征(年龄、平均月消费、是否有孩子、最近一次购物距今)来将顾客聚类为不同的市场细分。我们可以观察到顾客的特征之间存在一定的相似性,例如年轻人和无孩子的顾客可能具有较高的平均月消费。
聚类任务就是通过分析这些特征之间的相似性,将顾客划分为不同的组或簇。在实际应用中,我们会使用聚类算法(如K-means)来根据已知的顾客特征数据对顾客进行聚类。这样,我们可以针对不同市场细分的特点制定更有效的营销策略。
降维任务:降维任务的目的是减少数据特征的数量,同时保留其主要信息。通过降维,可以减小模型的计算复杂度,提高模型性能,并有助于可视化高维数据。降维任务通常属于无监督学习范畴。
原始数据如下:
水果编号 | 颜色R | 颜色G | 颜色B | 重量(g) | 直径(mm) | 甜度 | 酸度 |
---|---|---|---|---|---|---|---|
1 | 255 | 0 | 0 | 200 | 70 | 8 | 4 |
2 | 0 | 255 | 0 | 100 | 50 | 6 | 3 |
3 | 0 | 0 | 255 | 150 | 60 | 7 | 5 |
4 | 255 | 255 | 0 | 180 | 65 | 9 | 2 |
5 | 255 | 0 | 255 | 120 | 55 | 5 | 6 |
比如在降维任务中,我们的目标是通过降维技术减少水果特征的数量,同时尽可能保留其主要信息。原始数据包括颜色(RGB)、重量、直径、甜度和酸度等多个特征。通过降维,我们可以将这些特征转换为更少的维度,以简化数据表示和计算。
假设我们使用主成分分析(PCA)降维技术,将原始数据降至两个主成分,结果如下:
水果编号 | 主成分1 | 主成分2 |
---|---|---|
1 | -29.1 | 22.4 |
2 | 40.2 | -19.1 |
3 | 5.8 | 31.1 |
4 | -26.5 | -28.4 |
5 | 9.6 | -6.0 |
通过降维,我们将原始的7个特征减少到2个主成分。虽然信息损失是不可避免的,但这样的处理可以简化后续的计算和可视化。在实际应用中,降维技术可以帮助我们在处理复杂数据时降低计算复杂度、提高模型性能,同时在一定程度上保留原始数据的主要信息。
文章的最后,我先抛出机器学习建模的一般流程:
在这篇开篇文章中,我为大家提供了一个关于机器学习任务的初步概览。我希望通过这篇文章,让大家对于机器学习的基本任务有一个清晰的认识。在接下来的文章中,我将深入探讨线性回归,通过结合理论与实战的方式,帮助大家更好地理解这一领域。
最后,感谢您阅读这篇文章!如果您觉得有所收获,别忘了点赞、收藏并关注我,这是我持续创作的动力。您有任何问题或建议,都可以在评论区留言,我会尽力回答并接受您的反馈。如果您希望了解某个特定主题,也欢迎告诉我,我会乐于创作与之相关的文章。谢谢您的支持,期待与您共同成长!
期待与您在未来的学习中共同成长。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。