所有文章 > AI驱动 > 机器学习算法 - 一文搞懂UL(无监督学习)
机器学习算法 - 一文搞懂UL(无监督学习)

机器学习算法 - 一文搞懂UL(无监督学习)

本文将从无监督学习的本质、2种无监督学习方式、无监督学习的案例三个方面,带您一文搞懂无监督学习Unsupervised Learning | UL

一、无监督学习的本质

基本思路:无监督学习不需要预先标注数据,而是通过自我学习来发现数据中的隐藏结构和模式。

  • 无人为标签或目标:无监督学习区别于有监督学习的重要特点在于,它不需要任何人为或人工干预的标签或目标。也就是说,无监督学习的输入数据是未标记的,算法需要自行发现数据中的结构和模式。
  • 数据驱动:在无监督学习过程中,数据本身成为了学习模型所需要的所有信息的来源。这些数据不仅被用作推断、分类、聚类等任务的基础,同时也是模型调整优化的主要依据。
  • 自我学习能力:由于没有外部指导和参数限制,无监督学习具有一定自适应性和自我学习能力。它能够根据数据的规律和内在特征自我调整学习路径和方法,进行精准建模。

监督学习 VS 无监督学习:监督学习依赖于带有标签的数据进行训练以做出预测,而无监督学习则从无标签数据中挖掘内在结构和模式。

  • 1. 数据标注与利用
  • 监督学习:依赖于带有标签的数据进行训练。这些标签为模型提供了明确的指导,告诉它对于给定的输入应该产生什么样的输出。标签通常是人工提供的,增加了数据准备的成本和时间。
  • 无监督学习:不需要标签数据。它通过分析输入数据之间的相似性、差异或模式来工作。由于没有明确的指导,无监督学习算法必须自我发现数据中的结构
  • 2. 学习目标和任务
  • 监督学习:主要目标是预测。模型被训练来最小化预测错误,通常通过比较模型的输出和真实标签之间的差异来衡量。常见的监督学习任务包括分类(预测类别标签)和回归(预测连续值)。
  • 无监督学习:目标是探索和理解数据的内在结构。由于没有标签,算法侧重于发现数据中的模式、组群或异常值。常见的无监督学习任务包括聚类(将相似的数据点分组)和降维(简化数据的表示)
  • 3. 应用领域
  • 监督学习:由于其预测能力,广泛应用于需要明确输出的情况。例如,图像识别、语音识别、自然语言处理(如情感分析)、推荐系统、金融市场预测等。
  • 无监督学习适用于数据探索、预处理或当标签成本过高时。例如,在社交媒体分析中识别用户群体、网络流量异常检测、基因序列分析中的模式发现等。

二、2种无监督学习方式

聚类算法:K均值聚类将数据集划分为K个不同的群组或聚类,每个聚类的中心是该聚类的数据点的平均值。步骤如下:

  • 初始化:选择K个数据点作为初始聚类中心(重心)。这些点可以是随机选择的,也可以使用特定的启发式方法来选择。
  • 分配数据点到聚类:对于数据集中的每个数据点,计算它与每个聚类中心的距离,并将其分配给距离最近的聚类中心。这通常使用欧几里得距离来度量,但也可以使用其他距离度量。
  • 更新聚类中心:对于每个聚类,计算其所有数据点的平均值(在多维空间中),并将该平均值设置为新的聚类中心。
  • 迭代:重复步骤2和3,直到满足某个停止条件。通常,这可以是聚类中心不再显著变化,或者达到预设的最大迭代次数。

降维算法主成分分析(PCA)是一种线性降维技术,它通过寻找数据集中方差最大的方向来将原始数据转换到一个低维空间,同时尽可能保留数据的主要特征。步骤如下:

  • 计算协方差矩阵
    • 对于给定的数据集(通常是一个m x n矩阵,其中m是样本数,n是特征数),首先计算其协方差矩阵。协方差矩阵是一个n x n矩阵,其中的每个元素表示原始数据中两个特征的协方差。如果数据集已经标准化(即每个特征的均值为0,标准差为1),则计算的是相关系数矩阵。
  • 计算特征值和特征向量
    • 接下来,计算协方差矩阵的特征值和特征向量。特征向量对应于数据中的主成分方向,而特征值的大小表示该方向上方差的量。
  • 选择特征向量(主成分)
    • 按照特征值的大小对特征向量进行排序,并选择前k个最大的特征值对应的特征向量。这些特征向量构成了一个新的低维空间,用于表示原始数据。
  • 投影数据
    • 使用选定的特征向量(主成分)将原始数据投影到新的低维空间。这通常通过计算原始数据与特征向量的点积来完成。

三、无监督学习的案例

案例1:细分用户

  • 数据收集:广告平台会收集用户的各种数据,包括但不限于浏览历史、点击行为、购买记录、搜索关键词、在线时长、设备类型、地理位置等。这些数据为后续的细分提供了丰富的原材料。
  • 预处理与特征工程:数据需要经过预处理和特征工程,以确保其质量和适用性。这可能包括数据清洗去除重复、错误或无关的数据)、特征选择(选择与用户行为最相关的特征)和特征转换(如将文本数据转换为数值数据)。
  • 无监督学习算法应用:使用聚类算法,如K均值聚类、层次聚类等,根据用户的特征和行为模式将用户分成不同的群组。每个群组内的用户具有相似的特征和行为,而不同群组间的用户则存在较大的差异。
  • 细分结果解读:在得到聚类结果后,广告平台需要解读每个群组的特性。例如,某个群组可能主要由年轻、活跃且对科技产品感兴趣的用户组成,而另一个群组则可能主要由中年、高收入且对奢侈品感兴趣的用户组成。
  • 广告投放优化:基于这些细分结果,广告平台可以更有针对性地进行广告投放。例如,针对年轻、活跃的用户群组,可以投放更多与科技相关的广告;而针对中年、高收入的用户群组,则可以投放更多与奢侈品相关的广告。

案例2:推荐系统

  • 数据收集:系统会收集用户的历史行为数据,这可能包括购买记录、浏览行为、搜索历史、点击行为、评价反馈等。这些数据是推荐系统的基础,用于分析用户的兴趣和偏好。
  • 数据预处理:在收集到原始数据后,需要进行数据清洗和预处理,以去除重复、错误或无关的数据,并将数据处理成适合后续分析的格式。
  • 用户建模:系统会根据预处理后的数据构建用户模型。这通常涉及到提取用户的特征,如购买偏好、兴趣点等,以便更好地了解用户的需求。
  • 相似度计算:系统会计算用户之间的相似度,这可以通过不同的相似度度量方法来实现,如余弦相似度、皮尔逊相关系数等。相似度计算是推荐系统中的关键步骤,用于找出具有相似兴趣和行为的用户。
  • 生成推荐列表根据用户模型和相似度计算结果,系统会生成推荐列表。这可能涉及到基于内容的推荐、协同过滤推荐等不同的推荐算法。推荐列表通常包括一系列用户可能感兴趣的商品或服务。
  • 推荐结果反馈:系统会将推荐结果展示给用户,并根据用户的反馈进行调整和优化。用户的反馈可以是显式的(如评分、评论)或隐式的(如点击行为、购买行为)。这些反馈有助于改进推荐系统的性能和准确性。

文章转自微信公众号@架构师带你玩转AI

#你可能也喜欢这些API文章!