前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >算法入门(一) -- 机器学习基础大纲

算法入门(一) -- 机器学习基础大纲

作者头像
万事可爱^
修改2025-02-05 16:11:36
修改2025-02-05 16:11:36
15200
代码可运行
举报
运行总次数:0
代码可运行

我们常说的算法到底是什么?机器学习又是什么?模型起到了什么作用?相信很多小伙伴在刚开始学习的时候都有过这样的疑问,接下来我们就以这三个问题开头,开启我们的算法修仙之路。

一、机器学习、算法与模型

《人工智能标准化白皮书(2021 版)》对于机器学习是这样定义的。

机器学习(Machine Learning)是一门多学科交叉专业,涵盖概率论知识,统计学知识,近似理论知识和复杂算法知识,使用计算机作为工具并致力于真实实时的模拟人类学习方式,并将现有内容进行知识结构划分来有效提高学习效率。

简单来讲就是机器学习是让计算机模拟人类学习方式的一种方法。而根据学习策略的不同,又将机器学习分为直接采用数学方法的机器学习与模拟人脑的机器学习,模拟人脑的机器学习就是我们常说的神经网络,而直接采用数学方法的机器学习就是我们接下来要讲的重点,它是通过各种数学公式组建合适的数学模型,选择合适的超参数对数据进行分析,达到我们想要的效果。

直接采用数学方法的机器学习有三个要素:模型、策略与算法,这就又回到了我们之前的问题,什么是算法?什么是模型?别急,接下来我们对这两个概念一一进行解释。

  • 模型(Model)本质上是一种接受数据作为输入并生成输出的函数,这就有了函数的一种映射关系,而模型本身就相当于函数,被传入的数据相当于自变量x,输出的结果就是因变量y,模型就是函数f(x)本身,但是这个函数在未进行求解前,它有无数种可能,我们并不知道那种参数才是我们解决问题的最优解,那在这个过程中怎么确定输出的结果最优呢?这时就要用到我们的算法。
  • 算法(Algorithm)是解决问题的一系列清晰指令,它代表着用系统的方法描述解决问题的策略机制。简单一点讲就是算法是确定我们模型最优解的一个方法,也就是给我们提供了一种计算函数最优解的方法;在求解函数的过程中我们可以用到很多种方法(例如:待定系数法、换元法、消元法等),同样对于同一个模型我们也可以应用不同的算法,不过不管运用哪种方法,我们的目的都是找出模型的最优解参数。

下面我们利用一个图来描述一下上面所说到三者的关系:

现在搞定了名词解释,我们接下来就开始涉及到一点机器学习内的概念问题。

二、数据、特征、标签、训练集、验证集与测试集

在机器学习领域有几个名词和我们刚开始学习机器语言敲的第一行代码是输出“Hello World!”一样,必须要经历知道的,为了方便大家记忆,在这里我将这些名词按照是否定义数据本身做了简单的两类划分,一类与数据本身相关,一类与数据的划分相关,下面我们就开始了解一下这几个名词。

1.数据本身相关

机器学习涉及到的理论基础都需要数据(Data)实践,本身又有自己的特征(Feature),特征分析之后又会衍生出数据自身的标签(Label)

  • 数据(Data),它是机器学习的核心基石,是算法进行学习与推理的原始素材。数据涵盖了各种各样的信息,例如在图像识别任务中,一张张图片就是数据,其包含的像素值、颜色分布、形状轮廓等信息便是数据的具体表现形式。
  • 特征(Feature)则是从数据中精心提取出来的、能够有效表征数据特性的关键属性或变量。以预测股票价格为例,股票的历史价格走势、成交量、市盈率等都可以作为特征,这些特征能够帮助机器学习模型更好地理解股票市场的动态变化。
  • 标签(Label)则是与数据紧密相连的一种特殊标识,比如在判断一封邮件是否为垃圾邮件的任务中,“垃圾邮件” 或 “非垃圾邮件” 就是相应邮件数据的标签。

2.数据划分相关

为了确保机器学习模型的高效训练与准确评估,通常会将数据科学地划分为训练集(Train)验证集(Validation)测试集(Test)

  • 训练集(Train)恰似学生的教材与习题集,模型在其中不断学习知识、总结规律,如同学生通过反复练习教材中的题目来掌握知识要点。
  • 验证集(Validation)则扮演着模拟考试的角色,在模型训练过程中,用于检验模型的学习效果,以便及时调整模型的参数与结构,防止模型出现过拟合等不良现象;
  • 测试集(Test)就如同最终的大考,它用于全面且客观地评估模型在真实世界、未知数据面前的性能表现与泛化能力,即模型能否将在训练过程中所学到的知识成功地应用到全新的、从未见过的数据之上。

---------------------------------------------------------------------------------------------废话---------------------------------------------------------------------------------

好了学习了上述的概念之后你已经领先别人一大截了,接下来的内容休息一下再看,修仙要懂得劳逸结合,现在已经进入炼体了,可以怡情养性听听曲儿了。

诸位道友毅力恐怖如斯啊,居然还要看,那我们话不多说,开始第二场。

-----------------------------------------------------------------------------------------到这里结束----------------------------------------------------------------------------

三、机器学习分类

机器学习根据学习方式的不同可以分为监督学习(Supervised Learning)无监督学习(Unsupervised Learning)以及强化学习,接下来我们重点了解一下监督学习与无监督学习。

1.监督学习

监督学习(Supervised Learning)是机器学习中的一种学习范式。它使用标记(labeled)的数据进行训练,即训练数据集中的每个样本都包含输入特征(input features)和对应的目标标签(target label)。模型通过学习输入特征和目标标签之间的映射关系,从而能够对新的、未见过的输入数据进行预测并输出相应的标签。

简单来讲就是训练数据中有正负样本标签,模型根据数据之间的特征去学习拟合正负样本的差异,训练完成之后的模型,输入数据之后可以对新数据进行预测输出相应的标签。

监督学习问题又可以划分为回归问题(Regression)分类问题(Classification),下面我们对这儿两种问题进行解释说明。

1.1.回归与分类

回归(Regression):回归是一种用于预测连续数值型变量的监督学习任务。目标是找到输入特征(自变量)与连续输出标签(因变量)之间的函数关系。给定一组输入特征的值,模型的输出是一个连续的数值,这个数值通常是对目标变量的预测估计。

举个例子说明一下回归问题:

  • 假设需要进行房价预测:假设我们有一个包含房屋相关信息的数据集,如房屋面积(
x_{1}
x_{1}

)、房龄(

x_{2}
x_{2}

)、卧室数量(

x_{3}
x_{3}

)等作为输入特征,房屋价格(

y
y

)作为输出标签。我们使用回归模型(如线性回归)来学习这些特征和价格之间的关系。模型可能会学习到一个类似

y=\omega _{1}x_{1}+\omega _{2}x_{2}+\omega _{3}x_{3}+b
y=\omega _{1}x_{1}+\omega _{2}x_{2}+\omega _{3}x_{3}+b

的函数,其中

\omega _{1}
\omega _{1}

\omega _{2}
\omega _{2}

\omega _{3}
\omega _{3}

是权重,

b
b

是偏差。通过对大量带有价格标签的房屋数据进行训练,模型可以根据新房屋的面积、房龄和卧室数量等特征来预测其价格。

分类(Classification)是监督学习中的一种任务类型,其目标是将输入数据划分到不同的类别标签中。给定一组输入特征,模型输出一个类别标签,这个标签是离散的。分类问题可以是二分类(只有两个类别),也可以是多分类(有多个类别)。

分类问题有多分类和二分类两中,下面分别解释一下这两种分类的不同。

二分类:

  • 例如垃圾邮件识别:输入特征是邮件的内容相关信息,如邮件中的关键词频率、发件人地址、邮件大小等。类别标签为 “垃圾邮件” 和 “非垃圾邮件”。模型(如逻辑回归或支持向量机)通过学习大量已标记的邮件数据,建立输入特征和类别标签之间的关系。对于新收到的邮件,根据其特征判断它属于 “垃圾邮件” 还是 “非垃圾邮件” 类别。

多分类:

  • 例如文本分类:对于新闻文章分类,输入特征是文章的文本内容(可以通过词向量等方式表示),类别标签可以是 “体育”、“娱乐”、“科技”、“财经” 等不同的新闻类别。模型通过学习大量已标记的新闻文章,对新文章进行分类,将其划分到合适的新闻类别中,我们常看的新闻分类就是这种原理。

从上面的举例可以看出,二分类与多分类的区别就在于最终输出的标签数量,二分类多输出的是“是”、“否”类的对立结果,而多分类输出的结果往往是多种不同的中性标签,他们之间可能有很大区别,但往往没有太多的对立感在里面。

接下来我们就看一下与监督学习相对的无监督学习,看它们之间到底有什么不同。

2.无监督学习

无监督学习(Unsupervised Learning)也是机器学习的一种学习方式,它处理的是未标记(unlabeled)的数据。算法的目的是在数据中发现内在的结构、模式或规律,例如数据的分组(聚类)、数据的低维表示(降维)等,而不需要事先知道数据的类别或目标值。

简单来讲无监督学习处理的是无标签的数据,它是通过数据内部的规律去训练模型,最终输出的也是通过数据内部规律所拟合的数据聚类。这种模式更像是让机器自学,没有外界明确的指导。

无监督学习主要可以分为以下几类:

聚类分析(Clustering)聚类是将数据集中相似的数据点划分到同一组(簇,cluster)的无监督学习方法。它的目标是发现数据中的自然分组结构,使得同一簇内的数据点相似度较高,而不同簇之间的数据点相似度较低。聚类算法并不依赖预先定义的类别标签,而是通过数据自身的特征来确定分组。

  • 举个栗子(K - Means聚类) - 例如,在客户细分的商业场景中,假设有一个电商平台的客户数据集。数据点(每个客户)包含的特征有购买频率、购买金额、购买商品的种类等。K - Means聚类算法可以将客户划分为不同的簇。假设我们设定聚类数K = 3,算法可能会把购买频率高、购买金额大且主要购买高端商品的客户划分为一个簇;把购买频率较低、购买金额较小、主要购买日用品的客户划分为另一个簇;还有一些偶尔购买、购买金额不定、购买商品种类较为混杂的客户划分为第三个簇。这样商家就可以针对不同簇的客户制定个性化的营销方案,比如对高端客户提供专属的高端产品推荐,对日用品购买客户提供折扣券等,聚类生成的图像如下图所示。

降维(Dimensionality Reduction) 降维是指在高维数据中找到一个低维表示,同时尽可能保留原始数据的重要信息。高维数据可能包含大量的特征,这些特征之间可能存在冗余信息或者噪声,降维的目的是简化数据表示,便于后续的数据分析、可视化和模型构建等操作。

降维就像是把文件压缩,但又不损坏文件内的数据特性。

  • 举个栗子(主成分分析(PCA))- 在人脸识别应用中,一张人脸图像可能包含大量的像素点(特征),这使得数据维度非常高。PCA可以用于将人脸图像数据进行降维。它通过计算数据的协方差矩阵,找到数据中的主要成分(主成分),这些主成分是原始特征的线性组合。例如,将人脸图像从数千个像素特征降维到几十个主成分,这些主成分能够在一定程度上代表人脸的主要特征,如五官的位置、轮廓等。这样不仅可以减少数据存储和计算的成本,还可以在低维空间中更好地对人脸进行分类或识别。

关联规则学习(Association Rule Learning)关联规则学习是一种在数据集中发现不同变量之间关联关系的无监督学习方法。它旨在找出数据中频繁出现的模式,特别是变量之间的因果关系或相关性,通常以“如果 - 那么”的规则形式表示。

  • 举个栗子- 在超市购物篮分析中,我们有大量的购物小票数据作为数据集。数据点包含顾客购买的商品列表。关联规则学习算法可以发现如“如果顾客购买了牛奶,那么有很大概率会购买面包”这样的规则。这是因为在许多购物篮中,牛奶和面包经常同时出现。通过挖掘这样的关联规则,超市可以进行商品布局优化,如将牛奶和面包放置在相邻的位置,或者进行联合促销活动,以提高销售额。

下面我简单整理了一份机器学习中监督学习与无监督学习涉及到算法,供大家参考。

代码语言:javascript
代码运行次数:0
运行
复制
               |----监督学习
               |        |
               |        |----回归问题
               |        |       |
               |        |       |----线性回归
               |        |       |
               |        |       |----岭回归
               |        |       |
               |        |       |----决策树回归
               |        |       |
               |        |       |----支持向量回归
               |        |       |
               |        |       |----神经网络回归
               |        |       |
               |        |       |----随机森林回归
               |        |
               |        |
  机器学习 ---- |        |----分类问题
               |                |
               |                |----逻辑回归
               |                |
               |                |----K近邻分类
               |                |
               |                |----决策树分类
               |                |
               |                |----支持向量机分类
               |                |
               |                |----朴素贝叶斯分类
               |                |
               |                |----神经网络分类
               |                |
               |                |----随机森林分类
               |
               |
               |----无监督学习
                        |
                        |----聚类
                        |      |
                        |      |----K均值聚类
                        |      |
                        |      |----层次聚类
                        |
                        |
                        |----降维
                               |
                               |----主成分分析
                               |
                               |----因子分析

OK,知道这些大家就正式迈入了炼体巅峰,可以开始修炼了,各位道友来日方长,再见!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-12-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、机器学习、算法与模型
  • 二、数据、特征、标签、训练集、验证集与测试集
    • 1.数据本身相关
    • 2.数据划分相关
  • 三、机器学习分类
    • 1.监督学习
      • 1.1.回归与分类
    • 2.无监督学习
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档