算法人生(16):从“K均值 C均值”看“为人处事之道”

现代生活中,经常会听到一个词“双标”,通常用来描述某人对人对己采用了不同的标准,当然生活中会出现这样的情况,个人处于“利己”的思维来“双标”, 但“双标”可能还有另外一个原因,就是这个人是懂得“变通”的人。我们从K均值 & C均值两种聚类算法中可窥见一些思路。

K均值(K-means)和C均值(C-means,也称为模糊C均值,Fuzzy C-Means, FCM)是两种常见的聚类算法,以下简单介绍下这两种方法,已经熟知的小伙伴可略过。

K-means算法是一种无监督学习方法,它的目标是将数据集划分为K个不重叠的子集(簇),使得每个数据点到其所属簇中心(质心)的平方距离之和最小。这个算法假设簇是凸的,并且每个数据点只属于一个簇

大致步骤为:

  1. 初始化:随机选择K个数据点作为初始质心。

  2. 分配:将每个数据点分配给最近的质心所在的簇。

  3. 更新质心:重新计算每个簇的质心,通常为该簇内所有数据点的均值。

  4. 重复:重复步骤2和3直到质心不再发生显著变化或达到预定的迭代次数。

C-means 是K-means的一种扩展,它允许数据点以不同程度(隶属度)属于不同的簇。每个数据点对所有簇都有一个隶属度,介于0和1之间,表示它属于该簇的程度。

大致步骤为:

  1. 初始化:为每个簇随机选择一个中心,并为所有数据点赋予初始的隶属度向量,通常为均匀分布或随机初始化。

  2. 更新隶属度:根据当前质心,计算每个数据点到各个簇中心的距离,并据此更新每个数据点的隶属度,使类内误差平方和最小化,同时保证所有簇对每个点的隶属度之和为1。

  3. 更新质心:根据新的隶属度向量,重新计算每个簇的中心,作为所有数据点的加权平均,权重是数据点对该簇的隶属度。

  4. 重复:重复步骤2和3,直到质心的变化小于某个阈值或达到迭代上限。

总的来说,

  • K均值:是一种硬聚类方法,即每个数据点被划分到一个且仅一个聚类中。聚类的归属是明确无误的。适合于聚类边界明确、聚类间隔较大的数据集。这个算法较为简单直接,计算效率高,但对于复杂或模糊边界的数据集灵活性较低。

  • C均值:是一种软聚类方法,允许数据点以一定的隶属度或概率属于多个聚类。这意味着数据点可以同时属于多个聚类,且对每个聚类有一个隶属度分数。更适用于数据点可能属于多个类别、聚类边界模糊或重叠的情况。但它的计算复杂度高于K-means,因为需要迭代更新所有数据点的隶属度。而且,它的参数选择(如隶属度的隶属度因子m)对结果影响较大,且不易确定最佳值

那在“双标”的场景下,可能这个人是出于“对人对己两套标准”,也可能是他把这件事归属到了多个类别下(如A和B两个类别),某个场景可能A类别的隶属度高于B类别,而某个同类型的场景B类别又高于了A类别,也会给人一种双标的“错觉”。想知道“双标”的原因到底是属于哪一类,主要是看场景,这里就要考验每个人应对不同场景下的“应变力”了。这里分享个佛经中的小故事:

古代有个君王去找佛陀说,他的国家正在面临外来军队的威胁,但是他们国家的人都深受佛陀众弟子的教导,不愿sha生,自然就没有什么战斗力。但如果士兵们都这样,这个国家只能被侵略了,百姓会被欺负。这个国王很困惑,因为他也深受佛陀的教导,觉得很两难,不知道该如何抉择。佛陀的回答很快就让他解了困惑,回去安排士兵保护家园。佛陀回答的大意是,如果sha念是出于自己的私利自然不行,但是如果sha是万不得已,是为了保护他人那就不一样了,如果有能力保护,却没有保护,眼看着同胞被欺负那也是另外一种sha。于是佛陀下令他的僧侣不能再继续对这个国家的士兵讲法,从而保证士兵们面对敌人时的战斗力,避免他们用错了“执”,好心办了坏事。这里佛陀说的意思是就是要“变通”,如果不分场景,死守某个词,某段话,就会陷入“法执”,被文字束缚住了思维。人家常说,没有佛经,看不到佛法,但是还有后面一句,佛经里没有佛法。佛经是看到佛法的路,但佛法不在佛经里,看了佛经后还要靠“实践”才可能看到佛法。

那从以上“变通”这个角度看,生活中,你喜欢c均值的思维还是k均值的思维呢?笔者的想法还是看“场景”,在此举例一二,大家可各自发散!

K均值适合的场景

  • 决策明确性要求高的场合:在需要快速明确决策的商业或紧急情况下,K均值的思维方式可以迅速将问题和解决方案进行明确分类,加快决策过程,如危机管理、紧急响应等。

  • 法律或规则严格的场景:某些原则性的或没有容错的事情,只有0次或N次的,K均值的硬聚类思维有助于确保规则得到严格遵守,避免模糊地带的产生。

C均值适合的场景

  1. 多元文化环境:在多元文化的工作或生活环境中,人们来自不同的背景,拥有不同的价值观和行为习惯。C均值的思维方式可以帮助个体理解并接纳不同文化之间的交叉和重叠,促进更好的跨文化交流和合作。

  2. 多任务工作环境:在需要同时处理多个项目或任务的工作环境中,C均值思维方式帮助个体在各个项目间平衡精力和资源,优化总体工作效率。

以上只是抛砖引玉,总体来说,如果能保持对“原则”的深刻认知,同时又抱有“变通”的思维,就能在明白“知识层面”的道理后,根据场景变通去应用出来,才能更加拥有“应用层面”的智慧。用“手”指“月”,要人看的是“月”,不是指向“月”的“手”,文字或词汇是想让人明白某个道理,但如果执着于某段文字,不知道根据这个道理的意思,分场景来“变通”,就会失了焦点,过犹而不及了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/5758.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【介绍下大数据组件之Storm】

🎥博主:程序员不想YY啊 💫CSDN优质创作者,CSDN实力新星,CSDN博客专家 🤗点赞🎈收藏⭐再看💫养成习惯 ✨希望本文对您有所裨益,如有不足之处,欢迎在评论区提出…

MySQL-分页查询

MySQL分页查询 MySQL 分页查询原则: 在 MySQL 数据库中使用 LIMIT 子句进行分页查询。MySQL 分页中开始位置为 0。分页子句在查询语句的最后侧。 LIMIT子句 SELECT 投影列 FROM 表名 WHERE 条件 ORDER BY LIMIT 开始位置,查询数量;示例: …

Delta lake with Java--利用spark sql操作数据2

上一篇文章尝试了建库,建表,插入数据,还差删除和更新,所以在这篇文章补充一下,代码很简单,具体如下: import org.apache.spark.sql.SaveMode; import org.apache.spark.sql.SparkSession;publi…

C++ | Leetcode C++题解之第62题不同路径

题目&#xff1a; 题解&#xff1a; class Solution { public:int uniquePaths(int m, int n) {long long ans 1;for (int x n, y 1; y < m; x, y) {ans ans * x / y;}return ans;} };

附录6-4 黑马优购项目-分类和购物车

目录 1 分类 1.1 接口 1.2 窗口限制 1.3 选中状态样式判断 1.4 点击左侧时右侧会到顶点 1.5 源码 2 购物车 2.1 store 2.2 tabBar徽标 2.3 滑动删除 2.4 结算 2.4.1 结算前登录 2.4.2 结算功能 2.5 触发组件事件 2.6 源码 1 分类 分类最上部是…

11【PS Blender 作图】场景作图 景深

【问题背景】 看下图,是一个插画师的作图,是不是好像现实场景;合理利用景深,让画面好像是3D现实场景 那么如何才能完成这样让人身临其境的画面呢? 大体有两个方法: 【1】2D插画,合理利用景深;如用PS画图,在画图的时候注意 画面构图,让2D的画面,看起来像3D 缺点…

小程序wx.getlocation接口如何开通?

小程序地理位置接口有什么功能&#xff1f; 随着小程序生态的发展&#xff0c;越来越多的小程序开发者会通过官方提供的自带接口来给用户提供便捷的服务。但是当涉及到地理位置接口时&#xff0c;却经常遇到申请驳回的问题&#xff0c;反复修改也无法通过&#xff0c;给的理由…

【免费Java系列】大家好 ,今天是学习面向对象高级的第二天点赞收藏关注,持续更新作品 !

day02——面向对象高级 今天我们继续学习面向对象的语法知识&#xff0c;我们今天学习的主要内容是&#xff1a;多态、抽象、接口。 学会这些语法知识&#xff0c;可以让我们编写代码更灵活&#xff0c;代码的复用性更高。 一、多态 接下来&#xff0c;我们学习面向对象三大…

一文理解前端如何调用后端(java)方法

阅读完文章大约需要3~5分钟 文章目录 一、什么是后端方法路径&#xff1f;二、ajax、axios调用后端方法总结 一、什么是后端方法路径&#xff1f; 这里针对的是 java 后端项目中在 controller 文件夹中的类文件&#xff0c;这类文件的后缀一般都会带有 controller&#xff0c…

k8s-实战——kubeadm安装1.30.0

文章目录 1介绍1.1软件架构1.2版本介绍1.3组件列表2操作步骤2.1环境准备2.2获取脚本2.3节点初始化2.4组件下载2.4.1脚本执行2.4.2目录组件2.5脚本修改2.5.1修改host文件2.5.2验证ansible配置2.6安装k8s集群2.6.1查看证书有效期

精准农业:利用机器学习优化作物产量

&#x1f33f; 精准农业&#xff1a;利用机器学习优化作物产量 &#x1f31f; 引言 精准农业通过应用先进的数据分析技术&#xff0c;能够提高作物产量&#xff0c;减少资源浪费&#xff0c;并实现农业的可持续发展。机器学习作为数据分析的强大工具&#xff0c;在精准农业中…

Pyspark+关联规则 Kaggle购物篮分析案例

数据集地址&#xff1a;Market Basket Analysis | Kaggle 我的NoteBook地址&#xff1a;pyspark Market Basket Analysis | Kaggle 零售商期望能够利用过去的零售数据在自己的行业中进行探索&#xff0c;并为客户提供有关商品集的建议&#xff0c;这样就能提高客户参与度、改…

【算法刷题日志】模板 前缀和 | C++题解和代码

题目链接&#xff1a;https://www.starrycoding.com/problem/7 题目描述 给定义一个数组 a a a&#xff0c;有 q 1 q1 q1次询问&#xff0c;对于每次询问&#xff1a; 给定两个整数 l , r l, r l,r&#xff0c;求出 a l a l 1 . . . a r a_l a_{l 1} ... a_{r} al​…

GAI工具哪家强?(ChatGPT 4 vs 文心一言)

开始之前&#xff0c; 先来看看 GAI和AI的区别和关系。 AI 和GAI AI 和GAI的概念 AI&#xff08;Artificial Intelligence&#xff09;是人工智能的缩写&#xff0c;是计算机科学的一个分支&#xff0c;旨在使机器像人类一样进行学习和思考。AI技术的研究领域包括机器人、语…

[Python基础知识]05函数和模块

一、函数的定义 格式&#xff1a;def 函数名&#xff08;参数列表&#xff09;: 注&#xff1a; 函数代码块以 def 关键词开头&#xff0c;后接函数标识符名称和圆括号()。即使该函数不需要接收任何参数&#xff0c;也必须保留一对空的圆括号 函数形参不需要声明其类型&#x…

云计算技术概述_1.云计算相关概念

1.关于IBM“蓝云&#xff08;Blue Cloud&#xff09;”计划 IBM 推出的“蓝云&#xff08;Blue Cloud&#xff09;”计划为客户带来即可使用的云计算(Cloud Computing)。它包括一系列的云计算产品&#xff0c;使计算不仅仅局限在本地机器或远程Server Farms&#…

9U_VPX信号处理机,传感器大数据异构计算平台

9U_VPX信号处理机 1 介绍 1.1 产品概述 9U_VPX信号处理机是一款面向前端射频系统的高速记录、存储和处理系统。信号处理机为应对军用电子信息系统面临的目标种类多样化、战场环境复杂化、执行任务多元化等多重难题&#xff0c;而研发出来的***数据记录存储系统。信号处理机担…

用LM Studio搭建微软的PHI3小型语言模型

什么是 Microsoft Phi-3 小语言模型&#xff1f; 微软Phi-3 模型是目前功能最强大、最具成本效益的小型语言模型 &#xff08;SLM&#xff09;&#xff0c;在各种语言、推理、编码和数学基准测试中优于相同大小和更高大小的模型。此版本扩展了客户高质量模型的选择范围&#x…

前端安全:XSS和CSRF攻击的防御策略

在前端开发中&#xff0c;确保应用的安全性是至关重要的任务之一。跨站脚本攻击&#xff08;XSS&#xff09;和跨站请求伪造&#xff08;CSRF&#xff09;是两种常见的安全威胁&#xff0c;它们可以严重危害网站的安全和用户的隐私。以下是针对这两种攻击的防御策略&#xff1a…

初识java——javaSE(2)--运算符【求个关注】

文章目录 一 运算符1.1 算术运算符当两个不同类型的值相加时&#xff1a;/ 运算符%运算符 1.2 关系运算符1.3 逻辑运算符短路&#xff1a;逻辑非 1.4 位运算符&|^位运算符当作逻辑运算符中使用 ~>><<>>> 1.5 赋值运算符1.6 三目运算符 一 运算符 1.1…