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

简介:

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

第1章

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

听完大宝关于第一点的描述,小明很肯定地说:“你们的商家应该是需要这样的一个功能:在他们发布商品的时候,系统会自动地为其推荐合适的商品分类,其界面示意图如图1-1所示。如果商家希望出售一台苹果的Mac Pro笔记本电脑,输入‘MacBook Pro’后,系统能够自动为其提示最为相关的三个分类‘笔记本电脑’、‘笔记本配件’和‘其他数码’。这是由后台的分类算法来实现的,如果该算法足够聪明,那么它推荐的第一个分类就应该是正确的,商家只需要点击选择即可。这样,既方便了商家的商品发布,又避免了粗心大意而导致的错误分类。而且,对于少数企图违规操作的商家,如果他们选择了和系统默认推荐相差甚远的分类选项,其行为也会被系统记录在案,然后定期生成报表,提交给运营部门进行核查。如此一来,人们就不用在纷繁复杂的类目中痛苦摸索,工作的效率也会大幅提升。”

“没错,这应该是商家愿意使用的工具,如果真能实现那就太棒了。不过,你刚刚提到的分类算法是什么?”

“分类,是一个典型的监督式机器学习方法”。

“哦,什么是机器学习?什么是监督式的学习?”

“现在,我们从头来讲,然后逐步定位这里的技术方案和选型。”


screenshot

1.1 分类的基本概念

好莱坞著名的电影系列《终结者》想必大家都耳熟能详了,其中主角之一“天网”让人印象深刻。之所以难忘,是因为它并非人类,而是20世纪后期人们以计算机为基础创建的人工智能防御系统,最初是出于军事目的而研发的,后来自我意识觉醒,视全人类为威胁,发动了审判日。当然,这一切都是剧情里的虚构场景。那么现实生活中,机器真的可以自我学习、超越人类吗?最近大火的谷歌人工智能杰作Alpha Go,及其相关的机器深度学习,让人们再次开始审视这类问题。虽然目前尚无证据表明现实中的机器能像“天网”一样自我思考,但是机器确实能在某些课题上、按照人们设定的模式进行一定程度的“学习”,这正是机器学习(Machine Learning)所关注的。机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习在多个领域已经有了十分广泛的应用,例如,数据挖掘、计算机视觉、自然语言处理、生物特征识别、医学诊断等。

任何机器学习的任务大体上都可以分为数据的表示(或特征工程)、预处理、学习算法,以及评估等几个步骤。《大数据架构商业之路》一书的6.1节和6.2节,已经详细介绍了数据的表示和预处理。本篇将快速重温几种主流的机器学习方式和算法,然后重点阐述其实践过程。这里的算法包括监督式学习中的分类(classif?ication/categorization)和线性回归(linear regression),非监督式学习中的聚类(clustering)。对于刚刚讨论的第一个业务需求,我们将运用分类技术。而对于小丽提出的第2个和第3个需求,我们将利用这些机会分别学习聚类和线性回归,具体将在稍后的第2章和第3章分别探讨。

监督式学习(Supervised Learning),是指通过训练资料学习并建立一个模型,然后依此模型推测新的实例。训练资料是由输入数据对象和预期输出组成的。模型的输出可以是一个离散的标签,也可以是一个连续的值,分别称为分类问题和线性回归分析。分类技术旨在找出描述和区分数据类的模型,以便能够使用模型预测分类信息未知的数据对象,告诉人们它应该属于哪个分类。模型的生成是基于训练数据集的分析,一般分为启发式规则、决策树、数学公式和神经网络。举个例子,我们为计算机系统展示大量的水果,然后告诉它哪些是苹果,哪些是甜橙,通过这些样本和我们设定的建模方法,计算机学习并建立模型,最终拥有判断新数据的能力。

如果你觉得这样说还是过于抽象,那么让我们继续采用水果的案例,生动地描述一下“分类”问题。假想这样的场景:将1000颗水果放入一个黑箱中,并事先告诉一位果农,黑箱里只可能有苹果、甜橙和西瓜三种水果,没有其他种类。然后每次随机摸出一颗,让果农判断它是三类中的哪一类。这就是最基本的分类问题,只提供有限的选项,而减少了潜在的复杂性和可能性。不过问题在于,计算机作为机器是不能完成人类所有的思维和决策的。分类算法试图让计算机在特定的条件下,模仿人的决策,高效率地进行分类。研究人员发现,在有限的范围内做出单一选择时,这种基于机器的方法是可行的。如果输入的是一组特征值,那么,输出的就一定是确定的选项之一。

“大宝,计算机的自动分类有很多应用场景,远不止水果划分这么简单,比如你们目前的这个需求:将商品挂载到合适的产品类目。当然还有邮件归类、垃圾短信识别、将顾客按兴趣分组等,这些都可以应用分类技术。”

相关实践学习
基于MaxCompute的热门话题分析
Apsara Clouder大数据专项技能认证配套课程:基于MaxCompute的热门话题分析
相关文章
|
7月前
|
网络协议 NoSQL API
转转客服IM系统的WebSocket集群架构设计和部署方案
客服IM系统是转转自研的在线客服系统,是用户和转转客服沟通的重要工具,主要包括机器人客服、人工客服、会话分配、技能组管理等功能。在这套系统中,我们使用了很多开源框架和中间件,今天讲一下客服IM系统中WebSocket集群的的实践和应用。
608 141
|
8月前
|
机器学习/深度学习 Dragonfly 人工智能
基于蜻蜓算法优化支持向量机(DA-SVM)的数据多特征分类预测研究(Matlab代码实现)
基于蜻蜓算法优化支持向量机(DA-SVM)的数据多特征分类预测研究(Matlab代码实现)
189 1
|
7月前
|
机器学习/深度学习 算法 调度
14种智能算法优化BP神经网络(14种方法)实现数据预测分类研究(Matlab代码实现)
14种智能算法优化BP神经网络(14种方法)实现数据预测分类研究(Matlab代码实现)
577 0
|
资源调度 监控 调度
基于SCA的软件无线电系统的概念与架构
软件通信体系架构(SCA)是基于软件定义无线电(SDR)思想构建的开放式、标准化和模块化平台,旨在通过软件实现通信功能的灵活配置。SCA起源于美军为解决“信息烟囱”问题而推出的联合战术无线电系统(JTRS),其核心目标是提升多军种联合作战通信能力。 上海介方信息公司的OpenSCA操作环境严格遵循SCA4.1/SRTF标准,支持高集成、嵌入式等场景,适用于军用通信、雷达等领域。 SCA体系包括目标平台资源层(TRL)、环境抽象层(EAL)、SRTF操作环境(OE)及应用层(AL)。其中,SRTF操作环境包含操作系统、运行时环境(RTE)和核心框架(CF),提供波形管理、资源调度等功能。
|
7月前
|
消息中间件 监控 Cloud Native
高效设计:支持亿级用户社交关系的100W QPS架构方案
面对亿级用户与百万QPS的高并发场景,性能测试成为系统稳定的关键。本文剖析真实业务痛点,详解从接口压测、全链路监控到瓶颈定位的完整性能体系,助你掌握大厂级性能优化能力,从容应对卡顿、宕机等线上挑战。
|
7月前
|
存储 监控 NoSQL
Redis高可用架构全解析:从主从复制到集群方案
Redis高可用确保服务持续稳定,避免单点故障导致数据丢失或业务中断。通过主从复制实现数据冗余,哨兵模式支持自动故障转移,Cluster集群则提供分布式数据分片与水平扩展,三者层层递进,保障读写分离、容灾切换与大规模数据存储,构建高性能、高可靠的Redis架构体系。
|
8月前
|
机器学习/深度学习 算法 数据可视化
近端策略优化算法PPO的核心概念和PyTorch实现详解
本文深入解析了近端策略优化(PPO)算法的核心原理,并基于PyTorch框架实现了完整的强化学习训练流程。通过Lunar Lander环境展示了算法的全过程,涵盖环境交互、优势函数计算、策略更新等关键模块。内容理论与实践结合,适合希望掌握PPO算法及其实现的读者。
1393 2
近端策略优化算法PPO的核心概念和PyTorch实现详解
|
边缘计算 Kubernetes 物联网
Kubernetes 赋能边缘计算:架构解析、挑战突破与实践方案
在物联网和工业互联网快速发展的背景下,边缘计算凭借就近处理数据的优势,成为解决云计算延迟高、带宽成本高的关键技术。而 Kubernetes 凭借统一管理、容器化适配和强大生态扩展性,正逐步成为边缘计算的核心编排平台。本文系统解析 Kubernetes 适配边缘环境的架构分层、核心挑战与新兴解决方案,为企业落地边缘项目提供实践参考。
676 0
阿里二面:10亿级分库分表,如何丝滑扩容、如何双写灰度?阿里P8方案+ 架构图,看完直接上offer!
阿里二面:10亿级分库分表,如何丝滑扩容、如何双写灰度?阿里P8方案+ 架构图,看完直接上offer!
阿里二面:10亿级分库分表,如何丝滑扩容、如何双写灰度?阿里P8方案+ 架构图,看完直接上offer!