DBA在云浪潮下的AI技能进化之路

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容Redis),内存型 2GB
简介: 作者:米诺

一、无监督学习之聚类算法

(一)聚类算法:Clustering

监督学习:使用标注(labeled)的训练样本(x,y) ,来训练一个从x映射到y的函数。

非监督学习:无标签数据。

训练集只有𝑥(1),𝑥(2).....一直到𝑥(𝑚)。但没有任何标签𝑦,也即没有输出值。 将这些数据输入到算法,由算法来找出这些数据的内在结构(规律)

图片 1.png

如上图所示,数据看起来可分成两个分开的点集(称为簇),一个能够圈出这些点集的算法(对数据进行分组),就被称为聚类算法。此外,还有其他类型的非监督学习算法,可以找到其他类型的结构或模式,而不只是簇。

23.png

Ø  应用场景举例:

1. 市场分割:在数据库中存储了许多客户信息,将他们分成不同的客户群,以对不同类型的客户分别销售产品或服务。

2. 社交网络分析:比如你经常跟哪些人联系,而这些人又经常给哪些人发邮件,跟那些人联系,由此找到关系密切的人群。

3. 使用聚类算法来更好的组织、管理数据中心。识别哪些计算机经常协作工作。用于重新分配资源、布局网络,优化数据中心。

4. 利用聚类算法分析星系的构成。

 

(二)聚类算法:K-Means(K-均值)

4.png

K-Means是应用比较广泛的聚类算法:将未标记的数据集中的数据,分门别类到不同的组(共K组)。就某一组数据,使用该组数据的质心,来表示该组。

下面举例说明。


5.png

如上图所示,K-Means算法原理及步骤如下:

1、随机初始化K个聚类中心。

2、将数据集中的每个数据关联到其中一个类,方法:分别计算出每个数据与距离每个中心点的距离(相似度),将其与距离最近的中心点关联起来。与同一个中心点关联的所有数据归成同一类。

3、分别计算每组数据(共K组)的质心,使用新计算出的K个质心为新的聚类中心。

4、重复步骤2-3 直至中心点不再变化。

 

(三)K-Means代价函数

K-Mean聚类算法本质:最小化所有的数据点与其所关联的聚类中心点之间的距离之和。故代价函数:


5.png

其中𝜇𝑐(𝑖)代表与𝑥(𝑖)最近的聚类中心点。目标便是找出使得代价函数最小的 𝑐(1),𝑐(2),...,𝑐(𝑚)𝜇1,𝜇2,...,𝜇𝑘

回顾之前的内容,这里存在两大步骤。第一大步骤是用于减小𝑐(𝑖)引起的代价,即,将数据点归类到距离其最近(相似度最高)的聚类中心。而第二大步骤则是用于减小𝜇𝑖引起的代价,即计算出各组的质心,因为各组的质心是距离该组所有数据总距离最小的点。迭代的过程一定是每次迭代都会减小代价函数,不然便是出现了错误。

局部最优问题解法(K小于10时有效):多次运行K-Means算法,每次都重新随机初始化,分别计算出代价函数,选择代价函数最小的作为最终结果。

 

(四)K-Means:其他内容

种类的数量K如何选定:

1. 人工选择:依据所解决问题的需要,人为选定。

2. 肘部法则:使代价函数下降剧烈的K,举例如下。


6.png

如上图所示,随着K值增加,代价函数的值不断下降,当到K=3时,代价函数值依然下降迅速,而此后,代价函数下降趋于平缓。由此,可以选择K=3

 

二、无监督学习之降维

(一)降维:Dimensionality Reduction

降维可把多维度特征降到任何想要的维度,如将1000维的特征降至100维。尤其是处理海量特征,又无法清晰取舍各特征时,降维不失为一种很好的方法。

l  适用场景:

1. 减少特征数量,节省算力:通过一些数据处理手段将特征归并。

2. 数据可视化:高维数据难以可视化表示。多维到二维、三维,利于可视化。

l  原理思考:

降维的原理是并不直接舍弃各特征值,而是对各特征一视同仁。在降维后,相关特征值的某些细节被舍弃了。优点是不需要使用者深入理解各特征的含义,但同时这也是最大的缺点,某些关键特征的细节信息,有可能也在降维过程中被舍弃,从而导致无法训练出很好的模型。故需慎重使用降维,只在有必要的时候(算法运行太慢或耗费太多资源)才考虑采用降维。

l  举例

1.二维一维(投影到直线)

7.png

如上所示,现在有一个二维的数据,x1x2各代表一个特征,想把这两个特征降成一个特征。取一条直线zx1x2在该直线z上会有一个对应的映射点,就可以实现从x1x2的两个维度变成一个维度z。如果x1x2m个数据样本,投影到直线z上也有m个数据样本。

2.三维→二维:三维向量投射到一个二维平面上,降至二维的特征向量

8.png

如上图所示,三维是一个立体空间,每个数据由x1x2,x3组成。我们构建一个平面空间,将三维上的每个点投影到二维平面上,然后用z1z2来表示每个点,从而实现三维降到二维。

 

(二)主成因分析PCAPrincipal Component Analysis

8.png

PCA:把所有的数据都投射到一个方向向量(Vector direction) ,并且投射的平均均方误差能尽可能地小。方向向量是一个经过原点的向量,而投射误差是特征向量向该方向向量作垂线的长度。将𝑛维数据降至𝑘维的问题:找到向量𝑢(1),𝑢(2),...,𝑢(𝑘)使得总的投射误差最小。

步骤:

Step1:特征缩放。计算出各特征的均值,然后令𝑥= 𝑥𝜇。如果各特 征值的跨度在不同数量级上,还需将除以标准差s(即该特征值的范围:max-min)

Step2:计算协方差矩阵(covariance matrix)𝛴


image.pngimage.jpeg

image.pngimage.jpeg

Step3:计算协方差矩阵𝛴的特征向量(eigenvectors)。在Octave 里可以利用奇异值分解(singular value decomposition)来求解,[U, S, V]= svd(sigma)

image.pngimage.jpeg

上式中的𝑈是一个与数据之间最小投射误差的方向向量构成的n*n矩阵。如果希望将数据从𝑛维降至𝑘维,只需要从𝑈中选取前𝑘个向量,获得一个𝑛× 𝑘维度的矩阵𝑈𝑟𝑒𝑑𝑢𝑐𝑒,然后计算获得所需的新特征向量: 𝑧(𝑖)= 𝑈𝑇reduce 𝑥(𝑖)

𝑧(𝑖)(n*k矩阵)T* (n*1矩阵) → k*1矩阵

 

三、无监督学习之异常检测

(一)异常检测:Anomaly Detection

定义:给定正常的数据集 𝑥(1), 𝑥(2), . . , 𝑥(𝑚),构建一个模型,预测新的数据 𝑥𝑡𝑒𝑠𝑡是不是异常的,即这个测试数据同属于该组数据的几率𝑝(𝑥)是多少。

9.png

如图,在蓝色圈内的数据属于该组数据的可能性较高,而离圈很远的数据,其属于该组数据的可能性就越低。这种方法称为密度估计,表达如下:

image.pngimage.jpeg

Ø  应用场景

1)欺诈检测,行为分析:例如在线采集而来的数据,特征向量中可能会包含如:用户多久登录一次,访问过的页面,在论坛的发帖数量,甚至是打字速度等。根据这些特征构建一个模型,用这个模型来识别那些不符合该模式的用户。

2)异常值检测,系统监控:如用于数据中心、应用系统,采集内存、磁盘、CPU、网络等的负载及资源使用率。根据这些特征可以构建一个模型,用来判断某些计算机/系统是不是有可能出错了。

 

(二)异常检测算法:高斯分布/正态分布

正态分布,也称为高斯分布。

举例,通常情况下,某个地区的人群身高符合正态分布,所有人的身高值基本在一个固定范围之中。工业生产中也有正态分布的现象,如生产出来的产品品质,这些产品的尺寸、规格均在一定的范围内,呈现为正态分布。而范围外的,则为异常数据。

假设:通常认为异常检测场景的已有样本 𝑥符合高斯分布𝑥𝑁(𝜇,𝜎²),其概率密度函数为:

image.pngimage.jpeg

可使用已有的数据来计算均值𝜇和方差𝜎²:

image.pngimage.jpeg

问题进一步变成:对于给定的数据集 𝑥(1), 𝑥(2), . . . , 𝑥(𝑚),计算出每一个特征(n)𝜇𝜎²

11.png

给定新的数据,即可根据模型计算出 𝑝(𝑥)

12.png

(三)异常检测算法:特征处理

思考:异常检测假设特征符合高斯分布,如果数据分布不是高斯分布呢?

非高斯分布情况下异常检测算法也能工作,但是最好还是将数据转换成高斯分布,例如通过对数函数等: 𝑥= 𝑙𝑜𝑔(𝑥+ 𝑐),其中 𝑐为非负常数;或者 𝑥= 𝑥𝑐𝑐0-1 之间的一个分数等方法。

13.png

把特征的分布转为高斯分布

误差纠偏:

一个常见问题:异常的数据可能也会有较高的𝑝(𝑥)值,因而被算法认为是正常的。

这种情况下我们可以分析那些被算法错误预测为正常的数据,观察能否找出一些问题。如可以增加一些新的特征,增加这些新特征后获得的新算法能够帮助我们更好地进行异常检测。

也可以将一些相关的特征进行组合,来构造新的、更好的特征(异常数据在该组合特征下的值异常地大或小)。例如,在检测数据中心计算机状况的例子中,可以用CPU负载与网络带宽的比例作为一个新特征,通常网络带宽高,则说明业务流量大,CPU负载也会变高。异常情况下,如果该值异常地大或小,便很有可能意味着该服务器可能出问题了。

 

(四)异常检测模型训练及评估

Ø  思考

异常检测算法是一个非监督学习算法,也就无法像监督学习那样,根据预测结果和样本中的变量 𝑦值来构建损失函数,并以此评测算法的有效性了,需要另一种方法来检验算法是否有效

Ø  方法

从已有的数据集入手,从其中选择一部分正常数据构建训练集,然后将剩下的正常数据和异常数据混合的数据构成交叉检验集和测试集。

 

例如,有10000台正常引擎数据,有20台异常引擎数据,可以这样分配数据:

1)6000台正常引擎的数据作为训练集

2)2000台正常引擎和10台异常引擎的数据作为交叉检验集

3)2000台正常引擎和10台异常引擎的数据作为测试集

 

具体的评价方法如下:

1)根据测试集数据,计算出各特征的平均值和方差,构建出𝑝(𝑥)函数。

2)针对交叉检验集,尝试使用不同的𝜀值作为阀值,并预测数据是否异常,根据 F1或者查准率与查全率的比例来选择合适的 𝜀

3)选定 𝜀后,针对测试集进行预测,计算异常检验系统的𝐹1值,或者查准率与查全率之比。由F1值来评判算法是否有效。

 

(五)异常检测vs 监督学习

思考:异常检测与监督学习非常相似,将异常检测中的正向及负向样本,补充y值,不就可以构建出完整标注的数据集了么? 那何时使用异常检测,合适使用监督学习呢?如下一些方法供参考:

16.png

Ø  选用异常检测的原则:

1)异常样本的数量极少,甚至有时候是0

2)异常的种类及情况很多,并且很难确定,难以预知,有太多没见过的不同的异常类型。

那么对于以上这类问题,通常应该使用异常检测算法。


四、AI实践课:AutoML

(一)“大数据公司”的困惑

在这个数据大爆炸的时代,许多公司收集了海量数据,但苦于没有合适的数据加工方法,海量数据不仅没为公司创造出价值,反而成为成本负担。

大数据进化之路:成本中心价值创造、价值创新中心

 

(二)人人皆可构建属于自己的AIAutoML & AutoDL

14.png

人工智能中目前依然涉及大量人工:

数据准备:数据收集、数据清洗、数据标注。

数据加工:特征提取、模型选择、参数调节、模型评估等。

因此,有人提出,能否让这些人工部分也尽可能实现自动化,尤其是需要大量专家经验的数据加工部分。在这个趋势下,自动化机器学习/深度学习应运而生:AutoMLAutoDL

 

AutoML终极目标:

用户只需要准备好数据,其余的请交给AutoML

AI大众化、AI普惠、人人皆可用AI来创造价值。

 

关于机器学习、深度学习的资料推荐:建议大家可以把吴恩达老师的机器学习和深度学习两大课程细细学一遍,非常适合于作为入门课程。本次分享中的不少素材也是源自吴恩达老师的课程,希望大家有所收获,也再次致谢吴恩达老师。


目录
相关文章
|
2月前
|
人工智能 监控 安全
云端问道18期实践教学-AI 浪潮下的数据安全管理实践
本文主要介绍AI浪潮下的数据安全管理实践,主要分为背景介绍、Access Point、Bucket三个部分
89 17
|
12天前
|
人工智能 边缘计算 运维
容器化浪潮下的AI赋能:智能化运维与创新应用
近年来,容器技术以其轻量、高效、可移植的特性成为云原生时代的基石,推动应用开发和部署方式革新。随着容器化应用规模扩大,传统运维手段逐渐力不从心。AI技术的引入为容器化生态带来新活力,实现智能监控、自动化故障诊断与修复及智能资源调度,提升运维效率和可靠性。同时,AI驱动容器化创新应用,如模型训练、边缘计算和Serverless AI服务,带来更多可能性。未来,AI与容器技术的融合将更加紧密,推动更智能、高效的运维平台和丰富的创新应用场景,助力数字化转型。
|
11天前
|
人工智能 安全 Anolis
打造更 AI 的操作系统 《龙蜥+超级探访》第三期走进浪潮信息
且看龙蜥社区如何联合浪潮信息向更高层次的操作系统智能化迈进?
打造更 AI 的操作系统 《龙蜥+超级探访》第三期走进浪潮信息
|
25天前
|
机器学习/深度学习 人工智能 自然语言处理
以史为鉴,未雨绸缪:身处“大模型掀起的AI浪潮中”的感悟和思考
本文旨在帮助读者更深入地理解大模型和AI技术,重点介绍关键技术革新的背景与影响,特别是本次大模型时代和新一轮AI浪潮的推动因素与发展历程。
|
11天前
|
机器学习/深度学习 人工智能 自然语言处理
以史为鉴,未雨绸缪:身处“大模型掀起的AI浪潮中”的感悟和思考
以史为鉴,未雨绸缪:身处“大模型掀起的AI浪潮中”的感悟和思考
|
20天前
|
机器学习/深度学习 人工智能 自然语言处理
AI 浪潮席卷中国年,开启科技新春新纪元
AI 浪潮席卷中国年,开启科技新春新纪元
|
3月前
|
机器学习/深度学习 人工智能 安全
并非只有AI-2025年工作技能报告
全球最大的在线学习平台Coursera发布《2025年工作技能报告》,报告基于500万企业学习者和7,000多家机构的数据分析,揭示了2025年全球劳动力所需的关键技能趋势。报告强调,随着GenAI的快速发展,相关技能的课程注册量同比增长了866%,显示出对AI能力的需求激增。
121 9
|
2月前
|
人工智能 编解码 安全
全球AI新浪潮:智能媒体服务的技术创新与AIGC加速出海
本文介绍了智能媒体服务的国际化产品技术创新及AIGC驱动的内容出海技术实践。首先,探讨了媒体服务在视频应用中的升级引擎作用,分析了国际市场的差异与挑战,并提出模块化产品方案以满足不同需求。其次,重点介绍了AIGC技术如何推动媒体服务2.0智能化进化,涵盖多模态内容理解、智能生产制作、音视频处理等方面。最后,发布了阿里云智能媒体服务的国际产品矩阵,包括媒体打包、转码、实时处理和传输服务,支持多种广告规格和效果追踪分析,助力全球企业进行视频化创新。
|
4月前
|
人工智能 自然语言处理 搜索推荐
🤖【多Agent大爆炸】——灵活调用与实践指南,解锁AI协作新技能!
本文深入探讨了单Agent与多Agent在不同场景下的应用及优势,通过实例讲解多Agent如何实现高效协作,涵盖智能物流、教育、医疗等多个领域的实际应用,旨在帮助开发者掌握多Agent系统的调用与实践技巧。
223 5
|
4月前
|
人工智能 数据可视化 数据挖掘
AI时代浪潮来袭,项目经理如何应对?
AI时代,项目经理如何顺势而为、保持核心竞争力?从角色升级到技能转型,文章揭示AI对项目管理的深刻影响,并提供项目经理应对未来的关键策略。
92 4