聚类是一种强大的无监督机器学习方法,它根据数据自身的相似性进行分组。与依赖预先标记数据的监督学习方法(如分类)不同,聚类是在未标记的数据上进行操作。这意味着没有预设的类别或标签,算法会自我发现数据的内在结构,无需事先了解这些分组应该是什么样子。
聚类的主要目标是将数据点组织成集群,其中同一集群内的数据点彼此相似度更高,相比之下,不同集群内的数据点相似度更低。这种区分让聚类算法能形成反映数据自然模式的群体。本质上,聚类旨在最大化组内的相似性,同时最小化组间的相似性。这种方法特别适合在需要挖掘数据中隐藏关系或结构的场景,使其在如欺诈检测和异常识别等应用中大有用处。
通过应用聚类分析,可以揭示一些通过其他方法难以发现的模式和洞见,并且它的简单性和灵活性使其适用于各种类型的数据和应用场景。
使用聚类算法检测在线系统中的欺诈行为聚类的一个实际应用就是在在线系统中检测欺诈行为。举例来说,多个用户向一个网站发起请求,每个请求都包括IP地址、请求时间以及交易金额等信息。
聚类分析可以怎样帮助检测欺诈?
- 想象大多数用户是从唯一的IP地址发出请求,他们的交易模式自然会有所不同。
- 这种情况下,如果来自同一个IP地址的请求显示出类似的交易模式(如频繁的、高价值的交易),则可能表明骗子在同一个地方做了很多假交易。
通过根据IP地址和交易行为对所有用户请求进行分组,我们可以识别出那些都来自同一个IP地址的可疑用户请求集群。这有助于标记潜在的欺诈行为并采取预防措施。
如下的示例图直观地展示了聚类的概念。
假设你有一些交易数据的数据点,并将这些数据点绘制在一个图表上:
- X轴:同一IP地址发出的请求数量。
- Y轴:平均每笔交易金额。
在左边,我们有原始数据。没有标签,我们或许已经能隐约看出一些模式了。在右边,通过聚类,数据点被分成了不同的簇,每个簇代表不同的用户行为。
欺诈用户行为的聚类图示。图像来源%20(CC%20BY%204.0)。
如何定义有效的聚类相似性衡量标准为了有效分组数据,我们必须定义一个相似度,或标准,来量化数据点之间的接近程度。这种相似性可以根据数据结构以及我们希望发现的洞察以多种方式进行测量。两种关键的相似性测量方法是手动度量和嵌入度量。
一种手动相似度量涉及明确定义一个数学公式来根据数据点的原始特征进行比较。这种方法直观,我们可以通过距离度量(比如欧几里得距离、余弦相似度或杰卡德相似度)来评估两者的相似度。例如,在欺诈检测中,我们可以手动计算交易属性(例如交易金额、请求频率)之间的欧几里得距离,以发现可疑行为的群体。虽然这种方法相对简单,但它需要仔细挑选相关特征,并可能忽略数据中的深层模式。
另一方面,一种嵌入式的相似度量利用了机器学习模型的力量来创建数据的嵌入表示,或称为嵌入。嵌入是捕获数据中复杂关系的向量,可以从像Word2Vec这样的文本模型或用于图像的神经网络中生成。一旦计算出这些嵌入,可以使用传统的度量标准(如余弦相似度)来测量相似度,但现在这种比较是在经过转换的、更低维度的空间中进行的,该空间捕捉了更有用的信息。嵌入相似度对于复杂数据特别有用,例如网站上的用户行为或自然语言处理中的文本数据。例如,在电影或广告推荐系统中,可以将用户行为嵌入到向量中,并利用这些嵌入空间中的相似性,为类似的用户提供推荐内容。
尽管手动相似性度量提供了透明度和更大的选择与设置控制权,嵌入式相似性测量则提供了捕捉数据中更深层次和更抽象关系的能力。选择这两种度量取决于数据的复杂程度以及聚类任务的具体目标。如果你的数据结构良好且易于理解这样的数据,手动度量可能就足够了。但是,如果你的数据丰富且多维度,例如在文本或图像分析中,基于嵌入的方法可能会生成更加有意义的聚类。理解这些权衡对于选择适合你的聚类任务的方法至关重要。
在欺诈检测这种情况下,当数据通常丰富并基于用户行为时,基于嵌入式表示的方法通常更有效于捕捉可能表明风险行为的细微特征。
现介绍BACCS(行为分析与聚类分类系统),用于检测协同欺诈性攻击。协同欺诈攻击行为常常表现出特定的模式或特征。例如,欺诈活动可能源自一组相似的IP地址或依赖于一致且重复的策略。识别这些模式对于保持系统的完整性至关重要,而聚类是一种有效的手段,用于根据共同特征对实体进行分组。通过分析集群内的集体行为,可以更好地识别潜在威胁。
然而,仅仅依靠聚类可能不足以准确地检测欺诈行为,因为它也可能将良性活动与有害活动混在一起。例如,在社交媒体环境中,用户发一些类似“你今天怎么样?”这样的无害消息,可能与那些进行网络钓鱼攻击的人混在一起。因此,需要一些额外的标准来区分有害行为和良性行为,以便更好地识别欺诈行为。
为解决这一问题,我们提出了行为分析与集群分类系统(BACCS),旨在检测和管理滥用行为。BACCS通过生成和分类实体群组,如个人账户、组织账号和交易节点,可以广泛应用于各个领域,包括社交媒体、银行业的和电子商务。尤为重要的是,BACCS关注行为分类,而非内容,使其更擅长识别复杂的欺诈行为。BACCS通过分析行为模式而不是内容本身来实现这一目标。
系统通过分析集群内实体的属性来评估集群。这些属性通常是布尔值(真/假),系统评估具有特定特征的实体所占比例,以确定集群的总体特征。例如,集群中新创建的账户数量较多可能表明存在欺诈行为。根据预定义的策略,BACCS 识别出表明滥用行为的属性比例组合,并确定相应的措施来减轻威胁。
BACCS框架具有以下几个优点:
- 它能够根据实体行为的相似性进行分组,从而能够检测出协同攻击。
- 它通过定义集群成员的属性并应用自定义策略来对集群进行分类,以识别潜在滥用。
- 它支持对被标记为有害的集群执行自动操作,确保系统的完整性并增强对恶意活动的防护。
这种灵活且适应性强的策略使BACCS不断进化以确保其在不同平台和行业中应对新出现的和不断演变的协同式攻击时仍然有效。
让我们通过一个类比来更好地理解这一点:假设你有一辆装满苹果的货车,你想把它们卖掉。在装上车之前,所有的苹果都会被装进袋子里。其中一些工人不喜欢你,他们会故意把一些酸苹果装进袋子里来给你找麻烦。你需要识别出可能含有酸苹果的袋子。为了识别出酸苹果,你需要检查苹果是否软,但问题是有些苹果本来就是比较软的。你通过打开每个袋子,从每个袋子里挑出五个苹果,然后检查它们是否软来解决这些恶意工人的问题。如果几乎所有的苹果都是软的,那么这个袋子很可能含有酸苹果,你就把它放在一边,稍后再检查。一旦你识别出所有可能含有过多软苹果的袋子,你就把它们倒出来,挑出那些硬的健康的苹果,并扔掉所有的软苹果。现在,你已经大大降低了顾客吃到酸苹果的可能性。
BACCS也以类似的方式运行;不再是苹果,而是实体(例如,用户账户)。不再是坏工人,而是恶意用户,而不再是装着苹果的袋子,你有按照共同特征分组的实体(例如,相似的创建时间)。BACCS检查每个实体组的样本,寻找恶意行为的迹象(例如,较高的违规率)。如果一个组显示出较高的这些迹象,则会被标记以进行进一步调查。
就像检查教室里的材料一样,BACCS 使用预定义的信号(也称为属性)来评估集群内实体的质量情况。如果发现某个集群存在异常,可以采取措施隔离或移除这些恶意实体。该系统非常灵活,可以通过调整标记集群的标准,或者根据新出现的滥用模式创建新的集群,来适应新的恶意行为类型。
这个比喻说明了 BACCS 如何主动识别并解决潜在问题,以维护环境的完整性,确保所有合法用户都能在一个更安全、更可靠的环境中使用。
系统有很多好处:
- 更好的精确度:通过将实体聚类,BACCS 提供了关于协调的有力证据,这使得创建适用于单独实体时会过于模糊的政策成为可能。
- 可解释性:与一些机器学习技术不同,BACCS 的分类是透明且易于理解的,很容易追溯并理解某个特定决策的制定过程。
- 快速响应时间:由于 BACCS 是基于规则的系统而不是依赖于机器学习,无需进行广泛的模型训练,这使得其响应时间更快,对于立即解决问题非常重要。
如果您符合以下条件,BACCS 可能满足您的需求:
- BACCS 可能是满足您需求的正确选择。
-
如下:
- 注意原文中的冒号(:)在这里用中文翻译时通常会转换为中文的冒号(:),并且在列出条件时通常会加上项目符号或编号,但根据提供的原文,我仅直接翻译了给出的部分,没有假设添加其他条件或信息。
(译者注:以上为翻译说明,原文中没有这些注释内容。)
- 专注于行为分类而不是内容类型:虽然BACCS中的许多集群可能是围绕内容(如图片、邮件内容、用户电话号码)而建立的,但它不会直接对这些内容进行分类。
- 处理频繁出现的问题:该系统采用统计方法,当集群包含大量不当实体时效果最佳。这种方法可能对偶尔发生的有害事件不太有效,但更适合处理如垃圾邮件等高度普遍的问题。
- 应对协同或类似行为:聚类信号主要反映协同或类似行为,这使得该系统特别适合处理这类问题。
如何在实际生产系统中应用BACCS框架(或简称BACCS):
在生产环境中设置BACCS。作者提供图片
- 当实体在一个平台上进行活动时,你建立一个观察层来捕获这些活动并将其转换为事件。这些事件可以由一个设计用于集群分析和操作的系统进行监控。
- 根据这些事件,系统需要使用各种属性将实体分组为集群——例如,所有从同一IP地址发布帖子的用户会被分到一个集群中。这些集群随后应进行进一步分类。
- 在分类过程中,系统需要为集群成员的样本计算一组专门的布尔信号。例如,这样的信号可以是账户年龄是否小于一天。然后,系统将这些信号进行汇总,例如确定在100个用户样本中,80个用户的账户年龄小于一天。
- 这些汇总的信号计数需要与策略进行评估,以判断集群是否异常以及如果异常应采取什么行动。例如,一个策略可能会规定,如果在一个IP集群中,超过60%的成员账户年龄小于一天,这些成员需要进行进一步验证。
- 如果策略将一个集群识别为异常,系统应识别该集群中表现出触发策略信号的成员(例如,账户年龄小于一天的成员)。
- 系统应引导这些用户到适当的行动框架,执行策略指定的操作(例如,进一步验证或阻止他们的账户)。
通常,从实体活动到执行动作的整个过程一般在几分钟内搞定。同样重要的是要认识到,尽管该系统提供了集群分类的框架和基础设施,,客户和组织还需要提供适用于各自领域的集群定义、属性和策略,以满足各自特定领域的需求。
示例:通过基于IP地址的聚类和封堵来减少垃圾邮件。让我们来看一个例子,当我们尝试通过根据发送邮件时的IP地址对用户进行聚类来减少垃圾邮件,并且如果聚类中超过60%的成员账户年龄小于一天,则将其阻止。
聚类和阻断的实际操作示例。这是作者的图片
成员现在已经可以加入到群组中。当群组规模达到一定大小或者自上次分类以来发生了显著变化时,可以触发群组的重新归类。
在选择聚类准则并定义用户的属性时,目标是识别与你试图检测的特定风险或活动相匹配的模式。例如,如果你正在检测欺诈行为或协同性攻击,则应抓住恶意行为者通常共有的特征。这里有一些在选择聚类准则和定义用户的属性时需要考虑的因素,比如,
选择聚类标准你选择的聚类标准应围绕可能预示风险的行为指标设定。这些指标可以包括:
- 基于时间的模式: 例如,通过账户创建时间或在特定时间段内的行为频率对用户进行分组,有助于检测可能表明协同活动的活动激增。
- 地理位置或IP地址: 通过IP地址或地理位置对用户进行聚类,特别有效于检测协同活动,例如来自同一地区的多个欺诈性登录或内容提交。
- 内容相似性: 在检测虚假信息或垃圾邮件时,通过内容相似性(例如,帖子或邮件中的相似文本)进行聚类,可以识别可疑的协同努力。
- 行为指标: 如交易次数、平均会话时间或与平台的互动类型(如点赞、评论或点击行为)等特征,这些指标组合起来可以指示异常行为模式。
关键在于选择不仅与良性用户行为紧密相关,而且足以区分和隔离风险行为模式的标准和指标,这将有助于形成更有效且明确的风险行为聚类。
定义用户特性一旦确定了聚类的标准,定义每个聚类中用户的相关属性至关重要。这些属性应该是可量化的信号,能帮助评估用户可能表现出有害行为的概率。一些常见的属性包括:
- 账号年龄: 新创建的账户更容易涉及恶意活动,因此“账号年龄 < 1 天”这样的属性可以用来标记可疑行为。
- 连接密度: 在社交媒体平台上,账户间的链接数量或互动次数这样的属性可以揭示异常行为。
- 交易金额: 在涉及金融欺诈的情况下,平均交易金额或大额交易的频率可以是识别风险集群的关键指标。
每个属性都应与一种行为明确关联,这种行为可以表明合法使用或潜在滥用的迹象。尤为重要的是,属性应当是布尔或数值类型,以便在集群中轻松聚合和比较这些属性。
一个小小技巧:通过降低ML阈值结合聚类以提高召回率来提高检测另一种高级策略是将机器学习分类器的输出作为属性之一,但调整阈值。通常,你会为识别有害行为设置一个较高的阈值,以减少误报。然而,当与聚类结合使用时,你就可以适当降低这个阈值,因为聚类本身可以作为一种额外的信号来强化该属性。
让我们考虑存在一个模型X,该模型能够识别诈骗并停用X模型得分为>0.95的电子邮件账户。假设该模型已经在生产环境中运行,并且在0.95阈值下停用疑似有问题的电子邮件账户,其精度为100%。为了提高召回率,我们需要在不降低精度的前提下增加该模型的召回率。
- 首先,我们需要定义可以将协同行为归组在一起的集群。假设我们知道正在进行一项协同行为,在这种行为中,不良行为者使用相同的主题行邮件但不同的电子邮件ID发送欺诈邮件。因此,我们将使用BACCS形成具有相同主题行的邮件发送账户集群。
- 接下来,我们需要降低模型的阈值并定义BACCS属性。我们现在将把模型X集成到我们的生产检测系统中,并将模型阈值设为0.75,创建属性。此属性对于模型X分数>=0.75的电子邮件账户的值为“True”。
- 然后,我们将定义异常阈值,并规定如果集群中50%的实体具备此属性,则将该集群标记为不良集群,并关闭这些账户。
所以我们实质上降低了模型的阈值,并开始在远低于当前模型阈值的情况下禁用特定集群中的实体,而且确信这样做不会降低精度,同时提高了召回率。让我们来理解一下这是如何实现的:
假设我们有6个实体,它们都有相同的主题行,它们的模型X得分如下。
由ML模型处理的实体。图片由作者提供
如果我们使用原始模型分数(0.95),我们只会禁用了6个邮箱中的2个而已。
如果我们根据主题行文本对实体进行聚类,并定义一项策略来找出那些超过50%实体模型X评分达到0.75以上的坏聚类,我们就会封禁这些账户。
通过聚类处理的实体,以ML分数作为属性。图片来源:作者
所以我们把执行的召回率从33%提高到了83%。即使个别行为看似风险较低,但如果它们属于可疑的一组,则其重要性会提高。这种组合提供了强烈的指示信号,用来检测有害活动,同时将误报的可能性降到最低。
通过降低门槛,聚类过程可以发现那些仅依赖分类可能错过的模式。这种方法利用了机器学习模型的细微洞察和聚类可以识别的更广泛的行为模式。两者结合,形成一个更强大的系统,用于检测、缓解风险,并捕捉更多实体,同时仍然保持较低的误报率。
结尾聚类技术仍然是检测协同的攻击行为并确保系统安全的重要方法,特别是在那些更容易遭受欺诈、滥用或其他恶意行为影响的平台。通过将类似行为进行分组,并移除集群中的不良实体,我们可以检测并减轻有害行为,保障所有用户拥有更安全的数字生态系统。选择更高级的基于嵌入的方法有助于比手动方法更好地表示复杂的用户行为。
随着我们继续推进安全协议,像BACCS这样的框架在打击大规模协调攻击方面发挥着关键作用。将聚类和基于行为的策略相结合,实现了动态适应功能,使我们能够迅速应对新的滥用形式,并在各个平台间增强信任和安全性。
在未来,存在大量机会进一步研究和探索能增强聚类有效性的互补技术。诸如用于映射实体间复杂关系的基于图的分析方法,可以与聚类技术结合使用,从而实现更精确的威胁检测。此外,将聚类与机器学习分类相结合的方法可以在更高召回率和更低假阳性率的情况下非常有效地检测恶意行为。探索这些方法,以及持续改进当前的方法,将确保我们能应对不断变化的数字威胁环境。
参考文献- 了解谷歌开发者关于聚类的概览页面: https://developers.google.com/machine-learning/clustering/overview
共同学习,写下你的评论
评论加载中...
作者其他优质文章