《大数据架构和算法实现之路:电商系统的技术实战》——第2章 方案设计和技术选型:聚类 2.1 聚类的基本概念

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介:

本节书摘来自华章计算机《大数据架构和算法实现之路:电商系统的技术实战》一书中的第2章,第2.1节,作者 黄 申,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

第2章

方案设计和技术选型:聚类

学习了这么多关于分类的知识后,让我们再回到小丽提出的第二大需求:帮助商家进行合理的搜索关键词优化。对于电商平台的商家而言,站内搜索的流量和转化率是至关重要的。而要想被搜索引擎搜索到,最基本的条件是使用了足够并且合理的关键词来描述商品。因此,帮助他们在商品文描中优化和补充适当的关键词,将会提升商品被用户搜索到的可能性,也能增加商家运营的效率。对此,小明是这么理解的:“可以充分利用大家的智慧,来帮助商家进行关键词SEO。对于某个新刊登的商品A,根据其现有的关键词,查找和其最相似的其他商品,并将这些相似品放入集合B中。然后在集合B中,统计热门的关键词,为A发现它可能漏掉的用词。”

“可是,我们怎样为某个商品查找所有的相似品呢?之前阐述监督学习的时候,你提到的KNN算法好像可以完成这个任务。”

“没错。但是KNN算法最大的问题是需要人工标注的数据。这里将学习另一种非监督式的机器学习方法——聚类,以及聚类中的经典算法K均值(K-Means)。该算法的原理和KNN在一定程度上比较类似,不过其应用场景有所不同。”

2.1 聚类的基本概念

如前所述,监督式学习通过训练资料学习建立一个模型,并依此模型推测出了新的实例。实际场景中,我们经常还会遇到另一种更为原始的情况:不存在任何关于样本的先验知识,让我们在没人指导的情形下去将很多东西进行归类。因此,归类系统必须通过一种有效的方法“发现”样本的内在相似性,然后通过一种被称为“非监督学习”的方法来设计该归类系统。这一节将致力于阐述特征向量的非监督学习方式,通常称为“聚类”(Clustering)。实质上这是一种数据驱动的方法,它试图发现数据自身的内部结构,将数据对象以群组(Cluster)的形式进行分组。假想另外一个场景,还是以1000颗水果为例,这次我们不会事先告诉果农,只可能有苹果、甜橙和西瓜三种水果,而是让他们按照水果之间的相似程度,进行归组,更相似的放入一组。这就是最基本的聚类问题。和分类问题相同的地方在于,果农可能会将甜橙和苹果弄混淆。不同之处在于,在没有修改游戏规则之前,分类问题下永远只有3个分类,而聚类这种方式可能会导致聚出多于或少于3个的分组。

根据数据的类型、样本在聚类中的积聚规则,以及应用这些规则所用的方法来看,有很多种聚类算法。大体上可以分为如下两大类。

  • 质心调整型(Centroid Adjustment):这种算法使用一种迭代的方法来调整聚类的典型模式点,也称聚类的质心,从而形成一系列可以分配给它们的样本。
  • 层次型(Hierarchical):层次型的算法也可以称为树状聚类,它采用数据对象的连接规则,去制造一个层次化序列的聚类模型。这和质心调整型所给出的扁平化解决方案有所不同。

通常情况下,由于缺乏人为的标注,聚类的效果会比分类的效果要差一些,不过聚类也有其独特的优势:更加节省人力,适合用于对精度要求不高,或是一些需要预处理的场景。例如这里提到的如何为给定的商品找到其他相似品。再有,在做客户关系管理(CRM)的时候,需要对用户进行分组并打上兴趣标签。大型的网站其用户量有上百万,而标签量也可能上万,那么完全依赖分类技术对于平台的起步而言过于困难。这时可以考虑通过聚类来发现相似的用户,并自动将他们归为一组。然后,可对聚类的初步结果进一步进行提炼,对于重要的客户再进行基于分类的标注和处理。

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
14天前
|
存储 SQL 关系型数据库
Mysql高可用架构方案
本文阐述了Mysql高可用架构方案,介绍了 主从模式,MHA模式,MMM模式,MGR模式 方案的实现方式,没有哪个方案是完美的,开发人员在选择何种方案应用到项目中也没有标准答案,合适的才是最好的。
75 3
Mysql高可用架构方案
|
1月前
|
存储 算法
数据结构与算法学习二二:图的学习、图的概念、图的深度和广度优先遍历
这篇文章详细介绍了图的概念、表示方式以及深度优先遍历和广度优先遍历的算法实现。
52 1
数据结构与算法学习二二:图的学习、图的概念、图的深度和广度优先遍历
|
1月前
|
存储 分布式计算 大数据
大数据-169 Elasticsearch 索引使用 与 架构概念 增删改查
大数据-169 Elasticsearch 索引使用 与 架构概念 增删改查
57 3
|
1月前
|
消息中间件 监控 数据可视化
大数据-79 Kafka 集群模式 集群监控方案 JavaAPI获取集群指标 可视化监控集群方案: jconsole、Kafka Eagle
大数据-79 Kafka 集群模式 集群监控方案 JavaAPI获取集群指标 可视化监控集群方案: jconsole、Kafka Eagle
52 2
|
1月前
|
消息中间件 分布式计算 大数据
大数据-123 - Flink 并行度 相关概念 全局、作业、算子、Slot并行度 Flink并行度设置与测试
大数据-123 - Flink 并行度 相关概念 全局、作业、算子、Slot并行度 Flink并行度设置与测试
107 0
|
16天前
|
缓存 关系型数据库 MySQL
高并发架构系列:数据库主从同步的 3 种方案
本文详解高并发场景下数据库主从同步的三种解决方案:数据主从同步、数据库半同步复制、数据库中间件同步和缓存记录写key同步,旨在帮助解决数据一致性问题。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
高并发架构系列:数据库主从同步的 3 种方案
|
11天前
|
算法 数据挖掘 数据安全/隐私保护
基于FCM模糊聚类算法的图像分割matlab仿真
本项目展示了基于模糊C均值(FCM)算法的图像分割技术。算法运行效果良好,无水印。使用MATLAB 2022a开发,提供完整代码及中文注释,附带操作步骤视频。FCM算法通过隶属度矩阵和聚类中心矩阵实现图像分割,适用于灰度和彩色图像,广泛应用于医学影像、遥感图像等领域。
|
1月前
|
数据采集 数据可视化 大数据
大数据体系知识学习(三):数据清洗_箱线图的概念以及代码实现
这篇文章介绍了如何使用Python中的matplotlib和numpy库来创建箱线图,以检测和处理数据集中的异常值。
44 1
大数据体系知识学习(三):数据清洗_箱线图的概念以及代码实现
|
26天前
|
机器学习/深度学习 XML 分布式计算
大数据的概念
【10月更文挑战第16天】
45 4
|
28天前
|
存储 缓存 NoSQL
分布式架构下 Session 共享的方案
【10月更文挑战第15天】在实际应用中,需要根据具体的业务需求、系统架构和性能要求等因素,选择合适的 Session 共享方案。同时,还需要不断地进行优化和调整,以确保系统的稳定性和可靠性。