K-Means的两位近亲:K-Medoids与Fuzzy C-Means深度解析
做了这么多年聚类我越来越有个感触K-Means是大多数人的起点但它真不是终点。数据里混几个离群点均值中心瞬间被拽偏两个簇本身就有重叠你非要给每个样本一个非此即彼的标签总觉得是在自欺欺人。这篇是【K-Means深度探索】系列的第十篇我想认真聊聊K-Means的两位近亲——K-Medoids和Fuzzy C-Means模糊C均值。一个用真实样本当簇中心对噪声和离群点格外顽强一个让样本带着隶属度同时归属多个簇把像谁更多一点这件事量化出来。搞懂这两个算法你就能从只会跑K-Means变成知道什么时候该换算法。这篇文章适合正在用聚类做数据分析、做特征工程或者刚入门机器学习想搞清楚算法家族脉络的人。我会把两个算法的核心思想、数学原理、迭代步骤、踩坑经验和选型建议一次讲透不绕弯子全是实操里用得到的。1. 为什么要给K-Means找亲戚硬聚类与软聚类的分水岭1.1 K-Means的先天不足先说K-Means最让我难受的两个问题。第一个问题是它对离群点几乎没有免疫力。K-Means优化的是簇内样本到中心的平方误差和SSE目标函数里有个平方离群点距离中心越远它在损失函数里的权重就被放大得越厉害。结果就是一个离群点就能把簇中心硬生生拽走一大截。我做客户画像的时候遇到过很典型的例子一批正常消费用户聚得好好的突然进来一个消费金额是别人几十倍的大客户整个簇中心直接偏移导致一大批中等消费用户被错误地分到了别的簇。虽然可以在预处理阶段用IQR或Z-Score过滤离群点但现实数据里的异常往往是没法简单地一删了之的。第二个问题是硬分配带来的非黑即白。K-Means给每个样本分配的是一枚硬标签它要么属于A簇要么属于B簇没有中间地带。可很多实际问题里簇与簇之间的边界本来就是模糊的。比如图像分割里一个像素既可能属于前景也可能属于背景文本聚类里一篇讲智能家居的文章既沾着物联网又沾着人工智能。硬聚类逼你选边站但你心里清楚这个样本其实两边都有点像。这两个问题并不是K-Means的bug而是它在设计目标上的取舍。但如果你遇到的数据恰好有大量噪声、簇又存在重叠硬着头皮用K-Means就是在给自己挖坑。这时候亲戚们的重要性就体现出来了。1.2 两个亲戚各自的定位K-Medoids和FCM虽然都是K-Means的变体但它们解决的是不同方向的问题。K-Medoids继承了K-Means每个样本只属于一个簇的硬聚类框架但把中心的定义改了簇中心不再是一个虚拟的均值点而是从簇内挑出一个真实的样本点这个点叫作Medoid也就是最接近簇中心的那个代表点。因为中心是实实在在的数据所以离群点很难通过拉偏均值的方式干扰聚类结果。简单说K-Medoids是更抗造的硬聚类。FCM则保留了中心是虚拟点的设定中心是加权均值但把分配方式从硬分配改成了软分配。每个样本对每个簇都有一个隶属度取值范围在0到1之间所有隶属度之和为1。一个样本可以同时属于多个簇只是像谁多一点由隶属度来体现。简单说FCM是更柔和的软聚类。这两个算法的改进方向恰好互补一个在鲁棒性上做文章一个在表达能力上做文章。理解了它们的定位后面看数学推导就不会觉得枯燥了。2. K-Medoids深度拆解用真实样本做中心意味着什么2.1 从均值中心到Medoids的逻辑转变K-Means里的中心本质上是最小化簇内点平方距离之和的那个虚拟点。而K-Medoids的中心是最小化簇内点到它距离之和的那个真实样本点。注意这里有两个关键变化。第一个变化是距离度量。K-Means默认用欧氏距离因为优化平方误差时均值恰好是解析解数学上很漂亮。K-Medoids通常改用曼哈顿距离L1距离也就是各个特征差的绝对值之和。原因在于L1距离对离群点的惩罚是线性的而不是平方级的一个离群点带来的是固定量的距离不会因为离得特别远就爆炸式主导总代价。这也是PAM算法的设计初衷。第二个变化是中心的可解释性。K-Means算出来的均值中心是一个平均人可能根本不存在于数据里。你做完客户聚类最后告诉业务方第二类客户的核心特征是消费金额285.6元、年龄段32.4岁这种表述其实挺别扭的。K-Medoids输出的中心是真实存在的样本你可以直接说这个簇的代表就是某位具体的典型客户业务方一眼就能理解。在医学画像、推荐系统这些需要中心具备解释性的场景里这个优势非常实用。2.2 PAM算法的核心步骤K-Medoids最经典的实现是PAM算法全称Partitioning Around Medoids。它的完整流程分四步我拆开讲每一步都有值得注意的细节。第一步初始化。随机选择K个样本作为初始Medoids。这一步很关键初始点选得差后面迭代次数多不说还可能掉进局部最优。实操里我更推荐先用K-Means的结果来确定K个簇的均值中心再从每个簇里挑出离中心最近的样本作为初始Medoid比纯随机可靠得多。第二步分配。把每个非Medoid样本分配到离它最近的Medoid所属的簇。这一步跟K-Means的分配阶段一模一样只不过距离函数换成了曼哈顿距离而且参照点是真实样本而非虚拟中心。第三步更新。这是PAM最核心也最花时间的部分。对每个簇依次尝试用簇内非Medoid样本替换当前的Medoid并计算替换后总代价减少了多少。总代价定义为所有样本各自到所在簇Medoid的距离之和。如果某种替换能降低总代价就保留这个替换候选。遍历完所有可能之后执行那个能带来最大代价下降的替换。第四步终止判断。重复第二步和第三步直到替换操作不能再降低总代价为止。这里必须提醒一下很多人以为PAM的第三步是把簇内离所有点最近的那个样本选出来当中心如果真这么干那其实是K-Means里用均值中心然后替换成最近样本的懒惰做法不等于PAM。PAM的更新是全局代价优化它在评估替换时算的是整个数据集的代价变化而不是只看当前簇这是它鲁棒性好的根本原因也是计算量大的根源。2.3 K-Medoids的优缺点与适用场景K-Medoids最大的优点前面已经说了鲁棒、可解释。但我必须把它的短板也讲清楚免得你被鲁棒两个字迷惑。短板一复杂度高。PAM的复杂度大约是O(k×(n-k)²)再乘以迭代次数数据量过万之后你会明显感觉到慢。几万样本还能忍几十万样本基本就等着发呆了。短板二它不适合超大数据集。好在有变体算法CLARA和CLARANS可以缓解。CLARA的思路是先抽样再跑PAM用样本找代表点适合中等规模数据CLARANS用图搜索的方式在候选代表点之间游走效率更高实现也更复杂。真到了百万级数据我还是建议先降维、抽样或者换K-Means和Mini-Batch K-Means。适用场景我给你列一个清单都是我在实际项目中遇到过的客户画像和用户分群希望输出的簇中心本身就是某个真实用户基因表达数据或医学指标聚类离群样本往往包含重要信息不能简单剔除图像处理里的主导颜色提取用真实像素点代表一类颜色比用平均颜色更符合视觉直觉任何对解释性要求很高、对计算时间容忍度较大的场景。3. Fuzzy C-Means深度拆解让每个点学会分身3.1 模糊隶属度的数学本质FCM的核心改动是把硬分配矩阵换成了隶属度矩阵。假设有n个样本、K个簇隶属度矩阵U的形状是n×K元素u_ij表示第i个样本对第j个簇的隶属度。两条硬性约束值得记住。第一隶属度非负且在0到1之间。第二对任意一个样本它对所有簇的隶属度之和必须等于1也就是Σ_{j1}^{K} u_ij 1, 对于每个i成立这叫什么叫归一化约束。它的实际含义是把一个样本的归属份额看作总量为1的资源它在各个簇之间做分配。如果你对A簇的隶属度是0.8那么对B簇最多只能是0.2。这套数学设置能让聚类结果平滑、连续也方便我们在迭代计算中保持数值稳定。FCM的损失函数长这样J Σ_{i1}^{n} Σ_{j1}^{K} u_ij^m × ||x_i - v_j||²这里有三个要素隶属度u_ij、模糊系数m、以及样本到中心v_j的欧氏距离平方。注意隶属度被加了m次方这个m是FCM最关键的超参数下一小节单独讲。损失函数在约束条件下被最小化核心思想是希望每个样本对某个簇有高隶属度同时离那个簇的中心足够近。但因为有归一化约束一个样本不可能对所有簇的隶属度都是1它必须在各簇之间权衡最终的平衡状态就是聚类结果。3.2 模糊系数m的选择与影响模糊系数m控制着聚类结果的模糊程度它是一个大于1的实数最常用的取值是2。理解m的影响可以从两个极端入手。当m非常接近1的时候损失函数里的u_ij^m几乎就等于u_ij隶属度分布变得两极分化——每个样本的最优选择就是把所有份额压到最近的那个簇上其他簇给0这时候FCM的行为会退化得和K-Means几乎一样。换句话说K-Means可以看作FCM在m趋于1时的极限情况。当m变得很大比如10的时候隶属度会被抹平每个样本对每个簇的隶属度都会趋近于1/K所有簇中心会挤到一起聚类基本失效。所以m不是越大越模糊就好而是要在软分配的效果和保持聚类结构之间取平衡。经验法则我直接给你默认从m2开始调范围一般控制在1.5到3之间。样本重叠程度越高m可以适当调大一点重叠不严重就维持小m让聚类结果更接近硬划分。我遇到过一个场景是把传感器的连续状态数据做模糊分类m取1.8比取2.5效果要好因为那些状态跳变点的归属其实没有想象中模糊调大m反而让正常样本的隶属度也变得模棱两可。总之m不是拍脑袋定的最好结合业务判断画一下隶属度分布图再定。3.3 FCM的迭代流程与初始化FCM的迭代很经典只有两个交替进行的更新步骤你只要会K-Means上手很快。初始化阶段你需要给定簇数K、模糊系数m以及一个初始的隶属度矩阵或初始中心。我强烈建议用K-Means跑一遍把K-Means的聚类中心拿来当FCM的初始中心再反向算初始隶属度矩阵。这样比随机初始化收敛快得多也大幅降低了掉进局部最优的概率。迭代的第一步根据当前隶属度更新簇中心。公式是v_j (Σ_{i1}^{n} u_ij^m × x_i) / (Σ_{i1}^{n} u_ij^m)可以理解为每个样本对当前簇中心的贡献不是均等的而是用隶属度的m次方做加权。权重越大样本越属于这个簇它对中心位置的影响就越大。迭代的第二步根据更新后的中心重新计算隶属度。公式是u_ij 1 / Σ_{k1}^{K} (||x_i - v_j|| / ||x_i - v_k||)^(2/(m-1))这个公式表面复杂其实含义很直接样本i到当前簇j的距离越近这个比值越小分母越小分子u_ij就越大同时如果样本i到其他任何簇的距离也非常近其他簇在分母里也会贡献很大的项拉低u_ij。整个公式就是在距离和竞争之间做归一化。迭代一直进行直到前后两次隶属度变化的最大值小于某个阈值比如1e-4或1e-5就可以认为收敛了。注意FCM的收敛是全局性的你要看整个U矩阵的变化而不是只看某个簇的中心移动了多少。4. 三兄弟同台竞技核心参数、效果对比与选型指南4.1 关键参数对照表维度K-MeansK-MedoidsFuzzy C-Means簇中心定义簇内均值虚拟点簇内真实样本Medoid簇内加权均值虚拟点分配方式硬分配硬分配软分配隶属度损失函数平方欧氏距离和绝对距离和隶属度加权平方距离和对离群点敏感性高低中中心可解释性差强差距离度量欧氏为主曼哈顿为主欧氏为主核心超参KKK、m时间复杂度O(n×K×T)O(k(n-k)²×T)O(n×K×T)数据规模要求百万级无压力千到万级十万级以内较稳这张表是我在选型时最常翻的一张速查表。记住最后三行你遇到实际问题时能少走很多弯路。4.2 损失函数与收敛行为的差异三个算法看起来都是迭代-分配-更新的框架但它们优化的目标函数不一样这决定了它们遇到离群点时的表现完全不同。K-Means优化的是平方误差和一个离群点到中心的距离一平方立刻变成了主导项中心为了“讨好”这个点会疯狂向它偏移。K-Medoids优化的是绝对距离和离群点到中心的距离只做一次方惩罚不会爆炸中心更倾向于待在“大多数点的中间”而不是被极端点吸引。FCM优化的是隶属度加权的平方距离和离群点因为在所有簇上的隶属度都会被约束成很小的值所以对单个簇中心的影响其实有限但它的中心仍然是加权均值极端点还是可能通过权重残留影响结果。在实际表现上K-Medoids对离群点的鲁棒性最强K-Means最差FCM居中。但要注意鲁棒性强的代价是慢。我跑过一组模拟对比样本量8000、K取5K-Means十几轮收敛耗时不到0.5秒PAM算法跑了一分多钟FCM介于两者之间。所以你要是数据量大又想要点鲁棒性可以考虑先做离群点筛除再上K-Means而不一定非要硬扛PAM。另外三者都逃不掉局部最优的问题。K-Means有K-MeansK-Medoids和FCM也建议采用多组随机初始化取损失最小的一次这种朴素但有效的策略。没有哪种聚类算法能保证全局最优应对局部最优的核心手段无非就是初始化做得好一点、随机尝试多一点。4.3 什么时候该用谁场景决策清单我根据自己的项目经验整理了一套决策逻辑你可以直接抄去用。先问自己三个问题第一你的数据里离群点多不多如果多且重要选K-Medoids如果少或者打算预处理阶段直接删掉K-Means就够了。第二业务上需不需要解释簇中心比如你要跟业务方解释这个簇的代表是谁选K-Medoids如果只是把聚类结果当特征喂给下游模型虚拟中心完全无所谓。第三簇与簇之间的边界是不是模糊的如果模糊比如图像分割、文本主题划分、用户兴趣重叠识别选FCM如果簇本身分得比较开硬聚类更干净利落。再结合数据规模和计算资源样本量在百万级别直接放弃PAM和FCM用K-Means或Mini-Batch K-Means样本量在1万左右、K-Medoids还能忍受样本量在几千、又特别追求可解释的簇中心PAM是优选样本量几万到十万、且对软分配有需求FCM可以接受。最后说一个我自己常用的组合拳先用K-Means快速跑一个基线看看数据大概分为几簇、簇的重叠程度如何再用FCM或K-Medoids做精细化建模。这个流程能帮你快速判断到底需不需要换算法省得一开始就在复杂的迭代逻辑里浪费调参时间。5. 实操复盘从裸写到调参的经验要点5.1 手写实现K-Medoids的坑如果你打算自己实现一遍PAM我先把最容易踩的坑指出来。第一个坑是距离函数的选择。很多人图省事直接用欧氏距离结果效果偏移不说一旦特征尺度差异大聚类结果惨不忍睹。PAM的经典配套距离就是曼哈顿距离因为它与用真实样本做中心这个设定是匹配的。你需要提前对特征做标准化尤其是当特征的量纲差异大的时候不标准化的曼哈顿距离等于给量纲大的特征更大的话语权。第二个坑是PAM的替换评估逻辑。伪代码层面一定要明确评估替换的是整个数据集的总代价下降量而不仅仅是当前簇的代价下降量。因为把某个簇的Medoid换掉之后其他簇的样本也可能会被重新分配到这个簇总代价变化是全数据集层面的。省掉这一步你实现的其实是个不伦不类的贪心版。第三个坑是效率优化。朴素的PAM在每次迭代里要算所有非Medoid样本替换所有Medoid的总代价变化计算量非常猛。实操中可以做一点小优化对于每个簇先只计算簇内样本到候选Medoid的距离再粗略估算跨簇影响把明显不会改善代价的候选提前剪枝。但即便如此PAM也不适合大数据量接受这一点不要硬杠。我给出一个可读性优先的PAM核心循环伪代码供你对照理解初始化K个Medoids 重复 分配每个样本到最近的Medoid 如果所有样本簇归属不再变化停止 对每个簇j中的每个非Medoid样本x 尝试用x替换medoid_j 计算全数据总代价变化 记录代价下降最多的替换 如果存在正收益替换执行替换 否则停止这个结构写清楚了你把它翻译成Python或者R都不难。关键是理解分配、评估、替换三个动作构成了完整一轮迭代。5.2 手写实现FCM的坑FCM看起来公式清晰但第一次手写时踩坑的概率也相当高。第一个坑是初始化隶属度矩阵的方式。很多初学者直接随机生成0到1之间的数然后归一化结果常常导致多个簇初始中心挤在一起迭代半天也分不开。更好的做法是用K-Means先跑一遍把得到的簇中心直接作为FCM的初始中心或者用基于距离的启发式方法初始化隶属度让距离相近的样本初始隶属度也相近。经验就是不要随机能用K-Means初始化就一定要用。第二个坑是数值稳定性。当样本距离某个簇中心为零时按公式分母会出现0隶属度更新直接炸掉。处理方法是加一个很小的常数比如1e-10或者当距离小于阈值时直接把这个样本的隶属度设为1、其余清零。这类细节不多写但真会让你的迭代程序崩溃。第三个坑是收敛条件的判断。我之前使用只看簇中心移动量做终止条件结果发现中心已经几乎不动了但隶属度矩阵还在缓慢变化说明没收敛充分。正确做法是同时监控U矩阵的最大变化量取max|u_new-u_old|小于1e-4或1e-5再停。FCM核心更新伪代码同样给一份初始化K个初始中心v_j 用中心计算初始隶属度U 重复 用U更新所有中心v_j 用新中心更新整个隶属度矩阵U 计算U矩阵的max变化量delta 如果delta epsilon 或达到最大轮数停止这两个算法你各写一遍再去跑几个公开数据集你对聚类家族的认知会比看十篇综述都清晰。5.3 距离选择、初始化与调参的实用心得调参这件事没人能替你做但有一些经过反复验证的经验可以直接分享。关于距离选择K-Means和FCM默认欧氏距离它们都是均值中心的框架欧氏距离在数学上自洽K-Medoids如果用欧氏距离理论上也能跑但效果会浪费它抗离群点的优势因为欧氏距离对离群点的放大效果不如曼哈顿距离那么温和。在有缺失值或高维稀疏数据的场景中可以考虑适当使用余弦距离或自定义距离但一定要确保和目标函数匹配否则迭代公式都要重新推导。关于簇数K的选择三个算法都要先定K这既是优势也是麻烦。常用做法是肘部法和轮廓系数法但对K-Medoids和FCM来说肘部法同样适用因为你依然可以画出损失函数随K变化的曲线。FCM里还有一种更贴近业务直觉的做法因为每个样本对所有簇的隶属度之和为1你可以统计所有样本的最大隶属度平均值这个值越接近1说明聚类越硬、簇划分越清晰。画这个指标随K的变化曲线比光看轮廓系数更直观。关于模糊系数m的调参我前面提到默认2再补充一个观察技巧。把最优隶属度分布画出来如果大量样本的隶属度都集中在0.9以上说明m偏小聚类结果跟K-Means太像如果大量样本的最大隶属度在0.4到0.6之间徘徊说明m偏大整个聚类变成了和稀泥。理想状态是部分样本隶属度高、部分样本隶属度处于中间值这样的软分配最有信息量。5.4 一个容易被忽略的细节特征标准化不管用哪个算法聚类对特征尺度都极度敏感。K-Means用欧氏距离K-Medoids用曼哈顿距离FCM也用欧氏距离它们统统逃不开尺度大的特征主导距离的问题。你有一个特征取值范围是0到1另一个是0到10000那前一个特征在距离计算里基本是个摆设。我每次做聚类前都会先做两件事一是把所有特征做Z-Score标准化或Min-Max归一化二是快速看一眼特征分布如果有严重偏态先做对数变换再标准化。这一步虽然简单却往往决定了聚类效果的百分之五十。另外一个小技巧高维数据下无论哪个聚类算法都会出现距离集中化问题——所有样本之间的距离差异都变得很小聚类结构被淹没。遇到这种情况先降维PCA、UMAP、t-SNE再做聚类比硬调算法参数更有效。K-Medoids和FCM也不例外。最后再分享一个实操小技巧在我自己实际做项目的过程中最常用到的一个序列化操作是这样的先用K-Means跑三到五组不同K值的快速实验画出肘部曲线和轮廓系数选出一个或两个候选K。然后在这几个候选K下分别跑一次FCM观察隶属度矩阵的分布判断簇边界是否真的模糊。如果模糊保留FCM的结果如果不模糊再去用K-Medoids做一次结果校验看簇中心是否跟K-Means的均值中心差异很大。这套流程能让你在可控的时间成本内搞清楚你的数据到底更适合哪种聚类心智。说到底算法选择不是看哪个最热门而是看哪个和你数据的脾气最契合。K-Means很能打但K-Medoids和FCM补上了它最关键的短板这三个放在一起才算是真正把硬聚类和软聚类的家族图谱认全了。

相关新闻

汽车修理厂管理系统实战:数据库设计、工单状态与权限控制全解析

汽车修理厂管理系统实战:数据库设计、工单状态与权限控制全解析

简介:这一套汽车修理厂汽车修理管理系统源码包,面向汽修门店管理者与Windows桌面软件开发者,覆盖客户档案、预约排班、维修订单、配件库存、财务收支、员工考核等核心业务场景,可用于快速搭建或二次开发中小型汽修管理系统。压缩包…

2026/10/14 23:57:37 阅读更多 →
金融智能体Agent架构设计:分层解耦与风控合规实战

金融智能体Agent架构设计:分层解耦与风控合规实战

干金融系统的同学这几年应该都有同一个感受:大模型Agent在各个行业遍地开花,但一碰到金融场景,通用方案几乎全得推倒重来。我过去一年深度参与了某金融业务运营助手的架构设计,从最初的"给模型接几个API"演进到完整的分…

2026/10/14 23:57:37 阅读更多 →
大模型应用开发三层架构实战:输入、模型与输出层拆解

大模型应用开发三层架构实战:输入、模型与输出层拆解

1. 大模型三层架构到底在说什么第一次听到“大模型三层架构”这个说法,很多人会以为是某种官方定义的技术框架。其实不是,它更像是一线开发者在反复踩坑之后,总结出来的一套理解大模型应用的方法论。核心观点就一句话:不管市面上冒…

2026/10/14 23:57:37 阅读更多 →

最新新闻

AI配音生成后怎么检查?这几个细节容易影响视频效果

AI配音生成后怎么检查?这几个细节容易影响视频效果

用 AI 配音制作视频,最容易忽略的一个环节,就是语音生成后的检查。很多人把文案输入工具,生成声音后就直接放进视频里。结果发布前才发现,有些地方停顿奇怪,数字读得不对,或者一句话还没说完,语…

2026/10/15 0:42:38 阅读更多 →
其实A市场博弈是在和自己博弈--心理账户陷阱:亏了 5000 → 你想“这够我吃半年早餐

其实A市场博弈是在和自己博弈--心理账户陷阱:亏了 5000 → 你想“这够我吃半年早餐

行为金融学里最经典的"坑"——处置效应 目录 行为金融学里最经典的"坑"——处置效应 一、先给你的症状起个名字 二、为什么会这样?——4 个心理机制同时发作 1. 损失厌恶(Loss Aversion) 2. 心理账户(Mental Accounting)—— 这是你的最大陷阱 3. 沉…

2026/10/15 0:42:38 阅读更多 →
视频旁白里的英文和数字总读错,怎么处理?

视频旁白里的英文和数字总读错,怎么处理?

制作教程、数码分享或知识类短视频时,有一种问题很容易被忽略:文案看起来没有问题,转换成语音后,却可能出现英文缩写读得奇怪、数字不符合语境、符号被直接念出来等情况。这类问题不一定是配音工具不好用,也可能与文字…

2026/10/15 0:42:38 阅读更多 →
西安奕致格客服热线上线:怎么联系、该打哪个号、咨询前准备什么

西安奕致格客服热线上线:怎么联系、该打哪个号、咨询前准备什么

活动策划项目的沟通有一个共同特点:问题往往集中在筹备期的最后几周集中出现。场地确认、流程调整、物料变更、现场衔接,每一件都需要快速找到对的人。过去,西安奕致格文化传媒有限公司(简称奕致格)对外的沟通主要依赖…

2026/10/15 0:41:38 阅读更多 →
重大提醒!江苏宝珀售后服务网点最新地址及人工客服电话2026年10月更新

重大提醒!江苏宝珀售后服务网点最新地址及人工客服电话2026年10月更新

江苏表主在送修前最需要确认的,往往不是"能不能修",而是"去哪修、打哪个电话、要不要预约"。重大提醒!江苏宝珀售后服务网点最新地址及人工客服电话2026年10月更新所整理的,正是江苏本地可核对的送修信息。宝珀对外可查的…

2026/10/15 0:41:38 阅读更多 →
AI大模型API聚合平台选型2026新解:稳定性、协议兼容与成本三维实测

AI大模型API聚合平台选型2026新解:稳定性、协议兼容与成本三维实测

API聚合与调度平台已演变为关键数字基础设施,不再只是简单的流量通道,直接关系业务连续性、数据安全合规与技术栈演进:一次服务中断可能导致生产流水线停摆,模糊计费会埋下财务审计隐患。本文基于2026年第一季度实测数据&#xff…

2026/10/15 0:41:38 阅读更多 →

日新闻

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

1. 为什么选择容器化方式部署 LoRa 网络服务LoRa 物联网项目落地时,网络服务器是整个链路的核心枢纽。它负责接收网关上报的数据包、完成去重与解密、再把有效载荷分发给上层应用。早期大家习惯把网络服务器直接装在物理机上,依赖一堆系统库和特定版本的…

2026/10/15 0:00:46 阅读更多 →
共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

1. 共享推理服务里,扩缩容到底难在哪做过大模型推理服务部署的人,大概都经历过这样的场景:一个团队共用一套推理集群,A 业务跑的是 7B 的小模型,B 业务跑的是 72B 的大模型,C 业务白天流量高、晚上几乎归零…

2026/10/15 0:00:46 阅读更多 →
Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

1. 引子:一次内核恐慌引发的追查先从一个真实场景说起。某次我给一台老旧的嵌入式设备折腾系统裁减,为了把启动时间压进两秒以内,我手贱地把一串自认为“没用”的 systemd 服务给 disable 了,其中就包括systemd-remount-fs.servic…

2026/10/15 0:00:46 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/14 3:30:28 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/14 16:30:29 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/14 3:29:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 0:14:36 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 22:45:47 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/14 7:53:34 阅读更多 →