从0开始学习机器学习--Day26--聚类算法

30天掌握机器学习:从理论推导到工程实践 机器学习作为人工智能的核心技术,其理论基础与工程实现能力是开发者必须掌握的关键技能。理解线性代数、概率统计等数学原理,能够帮助开发者深入掌握监督学习、无监督学习等算法本质。通过公式推导与代码实现相结合的学习方法,可以有效提升在推荐系统、计算机视觉等场景中的问题解决能力。本方案采用四维学习法,系统覆盖从数学基础到深度学习前沿的知识体系,特别适合需要强化理论基础与工程实践的开发者。方案包含SVM推导、矩阵分解等核心内容的手写训练,以及NumPy、CUDA等多层级代码实现,并配套工业级案例库与三维度检测机制。 阅读详情

无监督学习(Unsupervised learning and introduction)

监督学习问题的样本

无监督学习样本

如图,可以看到两者的区别在于无监督学习的样本是没有标签的,换言之就是无监督学习不会赋予主观上的判断,需要算法自己去探寻区别,第二张图就是算法经过计算根据位置特点给两组样本划分开来,尽管算法并不知道这种特点意味着什么,这种按照特点分成一组或几组簇的算法叫聚类算法。

K-means 算法(K-means algorithm)

假设我们数据集中的数据呈现两组的分布,K-means算法首先会给出两个点(之所以是两个是因为其数据分布像是两类数据,如果是成三组的聚类分布则有三个聚类中心点),将其称为聚类中心。接着遍历数据集中的每个样本点,计算其离哪个中心点更近,就将其分配给那类,如图,经过计算后通过颜色来区分数据集中的两类样本:

将每个样本点分配给最近的聚类中心点

接下来,分别计算分配后的两类簇数据集的均值点,并把聚类中心移到均值点处,重新进行一次簇分配,以此类推,随着两类数据集的重新分配,聚类中心点会不断地移动到簇的中心,直到聚类中心及其样本不再变化:

分配好的两类簇以及聚类中心点

总结一下,对于K-means算法来说,首先是输入簇的数量K和无标签的样本集,接着把K个聚类中心记作\mu_{K},随即循环计算每个点到每个聚类中心的距离并找到最小值,即c^{(i)} = min||x^{(i)}-\mu_{K}||^{2},计算每个簇的均值点,将其值更新为新的聚类中心,直到聚类中心点及其样本点类别不再改变,写成代价函数就是:J(c^{(1)},...,c^{(m)},\mu_{1},...,\mu_{K}) = \frac{1}{m}\sum_{i=1}^{m}{||x^{(i)}-\mu_{K}||^{2}},有时也把它叫做失真代价函数。

随机初始化(Random initialization)

虽然我们有了聚类算法如何更新的细节,但是每簇的第一个聚类中心该怎么选取呢?

事实上,一般我们会进行多次的随机初始化并选取代价函数值最小的那类结果,每一次随机初始化都会随机选取K个样本点作为聚类中心,进行多次初始化的原因是避免使用计算出局部最优解的算法结果,如下:

三类簇的局部最优解中心点

一般来说,我们选择的迭代次数在50到10000之间,注意,当簇的数量较低时,如2-10,多次的迭代会给出好的结果,而如果簇的种类较多,一般在第一次初始化就会得到相当好的结果,但后面即便进行多次初始化也不会有太大的提升。

一般来说,K值的选取都是通过我们手动来决定,即观察可视化的图或事先对数据集有一定的了解,这里介绍两种选取K值的方法。

肘部法则选择K值

如图,我们分别计算K从1到8的代价函数值,从图中观察,假设图像存在一个较为明显的拐点,就像图的左边,我们就能够认为选取该点作为K值比较好;当然,如果运气不好画出的图像右边一样是一个平稳下降的勺子,那么只能回到我们的手动选取法了,我们把这个方法称为肘部法则。

另一种方法则是在每次选取一种聚类数量后进行一次评估,例如计算可得的利润,市场需求的满足度等等,这能帮你更好地判断哪类聚类数量更符合你的数据。

数据压缩(Data compression)

除了聚类算法,还有一种经常会见到的无监督学习算法叫做降维,算法的其中一个功能叫做数据压缩。

将两个特征压缩为一个特征

如图,假设我们有两个输入特征,一个表示物体的厘米长度,一个表示英寸长度,这实际上只是同一种数据特征的不同单位表示,那么这时候我们就可以对其进行数据压缩,将这两个特征的样本点重新用一个特征表示也就是将二维数据降为一维数据,通过z^{(m)}的方式来表示原来的样本点,这样做就能减少原来所占用的一部分内存空间,类似的,三维降为二维也是通过投影的方法将其用二维的点来表示三维的样本。

可视化(Data Visualization)

降维的另一个好处的可以让数据更好地可视化,从而对数据集有更好的了解,方便后续处理。

假如我们对多个国家进行了50个种类的数据调查,每个国家的特征是50维的向量,此时我们很难去直观地判断这些国家的特点,可能需要去进行复杂的计算才行。但假如我们对这些数据进行降维压缩,例如降成2维,国家总GDP和人均GDP(降维后新数据的意义不同于之前),在图上我们就可以很清晰地看到这些国家的实力:

降维后的国家数据

视频学习来自:https://www.bilibili.com/video/BV1By4y1J7A5?spm_id_from=333.788.videopod.episodes&vd_source=867b8ecbd62561f6cb9b4a83a368f691&p=83

聚类kmeans案例 注:本案例为黑马的课堂案例,上传仅为方便查看 # 1.获取数据 # 2.数据基本处理 # 2.1 合并表格 # 2.2 交叉表合并 # 2.3 数据截取 # 3.特征工程 — pca # 4.机器学习(k-means) # 5.模型评估 import pandas as pd from sklearn.decomposition import PCA from sklearn.cluster import KMeans from sklearn.metrics import silhouette_scor 阅读详情

相关推荐

如何在NVIDIA CX6 网卡和华为CE交换机上为RDMA协议使能DCQCN和PFC

【代码】如何在NVIDIA CX6 网卡和华为CE交换机上使能DCQCN和PFC。

Markchen7788的博客 5094

26备战秋招day17——机器学习基础

机器学习入门指南》详细介绍了六种常见的监督学习算法,包括线性回归、逻辑回归、决策树、KNN、SVM和神经网络。每个算法部分解释其基本原理、数学公式,并提供简单的Python代码示例,帮助初学者理解和实践。最后,文章给出学习建议,助力读者建立坚实的机器学习基础。

weixin_43784706的博客 1121

告别兼容性困扰:在F-Droid中安全部署Termux的完整指南

本文提供了一份在F-Droid中安全部署Termux的完整指南,旨在彻底解决Android设备上的兼容性困扰。文章详细阐述了为何选择F-Droid而非Google Play商店,并逐步指导用户完成从彻底清理旧版本、安装F-Droid客户端、授予权限到最终安装配置Termux的全过程。指南还涵盖了进阶的稳定性配置、数据迁移方法以及常见问题排查,确保用户获得一个稳定、无冲突的命令行工作环境。

weixin_29224309的博客 946

机器学习 day7 kmeans 聚类算法

#准确的客户分类的结果是企业优化营销资源的重要依据,本文利用了航空公司的部分数据,利用Kmeans聚类方法,对航空公司的客户进行了分类,来识别出不同的客户群体,从来发现有用的客户,从而对不同价值的客户类别提供个性化服务,指定相应的营销策略。 # coding=utf-8 import pandas as pd import numpy as np #忽略报警 import warnings warnings.filterwarnings("ignore") #读取原始数据,指定UTF-8编码(需要用文本编

qq_33489955的博客 496

心电图机原理及电路超详细讲解

前置心电放大电路(虚线框:这是隔离电路的分界,在隔离电路分析中知道,完整隔离包括信号隔离(脉宽调制)、控制信号隔离(光电耦合)和电源隔离)后级放大电路。

fcxgfdjy的博客 2万+

个人信息保护合规审计人员(高级)能力考核试卷+面试模拟

《个人信息保护合规审计考试与面试指南》 摘要:本文提供个人信息保护合规审计考试及面试的全面指导。考试采用闭卷笔试形式,满分100分,合格线75分,时长120分钟,包含单选、多选、判断题及综合案例分析题。内容涵盖《个人信息保护法》核心条款、审计程序、风险评估等实务要点。面试环节采用情景模拟方式,重点考察应试者在压力下处理审计独立性、客户关系与监管要求的平衡能力,以及应对数据泄露等突发事件的处置流程。案例题聚焦大型互联网平台的数据收集、共享、跨境传输等高风险环节的合规审计,要求设计完整的审计方案框架。面试评分标

qq_41525079的博客 1144

机器学习基础之《回归与聚类算法(7)—无监督学习K-means算法》

一家广告平台需要根据相似的人口学特征和购买习惯将美国人口分成不同的小组,以便不同的用户采取不同的营销策略。Airbnb需要将自己的房屋清单分组成不同的社区,以便用户能更轻松地查阅这些清单(对房屋进行分类)。一个数据科学团队需要降低一个大型数据集的维度的数量,以便简化建模和降低文件大小(比如PCA降维)。1、K-means的聚类效果图。K-means(K均值聚类)1、没有目标值—无监督学习。一开始拿到的数据是这样的。二、无监督学习包含算法。三、K-means原理。一、什么是无监督学习。

csj50的专栏 667

AI驱动Spine骨骼动画生成:从图像拆分到动画自动化的全流程解析

计算机视觉与生成式AI技术正深度赋能传统数字内容生产流程。在2D动画制作领域,骨骼动画技术通过模拟真实生物关节运动,实现了角色动画的高效制作与灵活控制。其核心原理在于将角色拆分为独立部件,通过骨骼层级关系驱动部件变换,结合关键帧插值算法生成流畅动作。这项技术的工程价值在于大幅降低动画制作门槛,提升内容生产效率,尤其适用于游戏开发、影视预演、广告设计等需要快速原型迭代的场景。本文聚焦于如何利用SIFT特征匹配、RANSAC几何验证等CV算法实现部件自动对位,并结合动画12原则的程序化实现,构建从单张角色立绘到

weixin_28696185的博客 1525

【机器学习】揭秘隐私保护机器学习:差分隐私与联邦学习如何守护你的数据?

在人工智能飞速发展的今天,机器学习模型已渗透到我们生活的方方面面,从个性化推荐到智能医疗,再到金融风控。然而,这些强大的模型往往依赖于海量的用户数据进行训练。如何在利用数据价值的同时,有效保护用户的个人隐私,成为了一个日益严峻且至关重要的问题。数据泄露事件频发、相关法规日益完善(如欧盟的 GDPR),都将隐私保护机器学习 (Privacy-Preserving Machine Learning, PPML)推向了技术前沿。

吴师兄大模型的博客 2461

基于 Mask R-CNN 的实例分割:从零开始构建一个强大的分割模型

在本文中,我们将介绍如何使用 Mask R-CNN(Region-based Convolutional Networks with Masks)实现实例分割。实例分割是计算机视觉中的一种任务,旨在识别并分割图像中的各个对象。我们将讨论如何准备数据集、配置 Mask R-CNN 模型并在自定义数据集上进行训练。

斌擎科技 1244

Android 13 Settings蓝牙列表卡顿问题排查及优化过程

此时我们的卡顿优化基本完成了,我们应该要考虑内存是否会泄漏,如果大家不知道哪些需要回收可以用leakcanary和android profiler进行内存检测,看代码有没有内存泄漏。

龚礼鹏的博客 2547

DAY 26 机器学习流水线

通过。

ab_112233的博客 1027

大语言模型与ROS集成的自然语言机器人控制:开源框架与应用实例

近年来,大语言模型(LLM)与机器人操作系统(ROS)的集成逐步成熟,使得自然语言驱动的机器人控制成为可能。用户输入“捡起绿色方块”或“把微波炉里的饭热好端过来”这类日常语句,机器人能够自动拆解步骤、规划动作并执行。本文梳理2026年前后发布的三个代表性开源框架——ROS-LLM、ROSClaw以及LLM+Nav2基准测试系统,介绍其技术路径与工程落地情况。

Studying…… 634

机器学习基础(七)——k-means聚类

1、随机设置K个特征空间内的点作为初始的聚类中心2、对于其他每个点计算到K个中心的距离,未知的点选择最近的一个聚类中心点作为标记类别3、接着对着标记的聚类中心之后,重新计算出每个聚类的新中心点(平均值)4、如果计算得出的新中心点与原中心点一样,那么结束,否则重新进行第二步过程k-means聚类:开始的聚类中心数量:初始化方法,默认为’k-means ++’:默认标记的类型,可以和真实值比较(不是值比较)一般应用场景的流程:1、降维之后的数据2、k-means聚类3、聚类结果显示轮廓系数...

weixin_43172869的博客 752

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

【机器学习】避开伦理陷阱:深入解析算法公平性、偏见来源与缓解技术 (AIF360实战前瞻)

随着人工智能(AI)技术日益渗透到我们生活的方方面面,从个性化推荐、自动驾驶到医疗诊断和金融风控,它的巨大潜力正逐步展现。然而,伴随着技术的飞速发展,一系列复杂的伦理问题也浮出水面,其中算法偏见、歧视、隐私泄露和透明度缺失等问题尤为引人关注。构建一个不仅强大而且负责任、公平、透明的 AI 系统,已不再是“锦上添花”,而是“刻不容缓”的核心要求。

吴师兄大模型的博客 2140

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

ML-For-Beginners 机器学习技法篇:从问题定义到模型预测的七步工作流实战解析

本文基于 ML-For-Beginners 课程第 1 周第 4 课 "Techniques of Machine Learning"([捷克语译本](https://link.gitcode.com/i/21dc74ba069e1465e105fd737fc20b89))展开,系统讲解构建机器学习模型的完整技术流程:七步工作流总览、问题定义、数据收集与准备、特征(X)与目标(y)的划分、特征选择

gitblog_01027的博客 530

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

【机器学习】解放双手!AutoML入门:从原理到Auto-sklearn实战,告别繁琐调参

在之前的学习中,我们探索了数据预处理、特征工程、多种机器学习模型、模型评估以及超参数调优等关键环节。你是否曾感觉,构建一个高效的机器学习模型,过程繁琐且充满挑战?特别是特征工程的创意、模型选择的纠结、超参数调优的耗时,往往需要大量的经验和反复试验。不用担心,今天我们将介绍一个强大的“武器”——自动化机器学习(Automated Machine Learning, AutoML)。

吴师兄大模型的博客 4061

【机器学习】不止炼丹!揭秘 NeurIPS/ICML 热点:SSL、GNN、元学习与因果推断核心思想

经过前面 37 天的学习,我们已经掌握了机器学习的基础理论、核心算法、实战技巧以及模型部署运维等关键环节。然而,机器学习领域的发展日新月异,新的理论、模型和应用层出不穷。为了保持竞争力,紧跟技术浪潮,了解当前的研究前沿至关重要。

吴师兄大模型的博客 1106

【机器学习】大数据时代,模型训练慢如牛?解锁Spark MLlib与分布式策略

随着数据量的爆炸式增长,如何有效地利用机器学习技术从海量数据中挖掘价值,成为了业界关注的焦点。传统单机机器学习方法在面对TB甚至PB级别的数据时,往往显得力不从心。本篇文章将深入探讨将机器学习应用于大规模数据集所面临的挑战,介绍主流的大数据处理框架(特别是 Apache Spark 及其 MLlib 库),解析分布式训练的核心策略,并展望云平台如何为大数据机器学习提供强大的支持。

吴师兄大模型的博客 1483

【机器学习】第27天:玩转时间序列预测,从 ARIMA 到 Prophet 实战指南

今天,我们将深入探讨一个在现实世界中应用极其广泛的领域——时间序列分析与预测。从天气预报、股票价格波动、产品销售额预测,到网站流量监控、服务器性能指标分析,时间序列数据无处不在。理解并掌握处理这类具有时间依赖性数据的方法,对于数据科学家和分析师来说至关重要。本篇文章将带您系统地了解时间序列的核心特性,掌握经典的预测模型如 ARIMA,并实战应用 Facebook 开源的强大预测库 Prophet。我们还会简要介绍深度学习在时间序列预测中的应用。

吴师兄大模型的博客 6975

【机器学习】模型安全告急!揭秘对抗攻击,让AI“指鹿为马”?

随着人工智能技术的飞速发展和广泛应用,机器学习模型已经渗透到我们生活的方方面面,从推荐系统、自动驾驶到医疗诊断、金融风控。然而,如同任何强大的技术一样,机器学习系统也并非坚不可摧,它们同样面临着来自恶意攻击者的安全威胁。攻击者可能会通过各种手段欺骗、破坏甚至窃取我们的模型,导致系统失效、隐私泄露,甚至造成严重的安全事故(想象一下被“欺骗”的自动驾驶汽车!因此,理解机器学习面临的安全风险,并掌握基本的防御策略,对于每一位机器学习从业者和研究者都至关重要。

吴师兄大模型的博客 2045

聚类算法_案例:探究⽤户对物品类别的喜好细分

应⽤ pca 和 K-means 实现⽤户对物品类别的喜好细分划分。

m0_68462260的博客 340

2018 & 2019's One algrithm per day

Clustering Clustering中文译“聚类”,目的是将相似的东西分到一类。因为不需要带标签的数据进行训练学习,因而是一种无监督学习过程,需要和Classification(分类)区别开来。 Day 5 | K-Means - 1.19 K-means是最基本的聚类算法(baseline般的存在),以欧氏距离为特征把m维的数据点映射到欧氏空间中进行聚类。 算法的核心思想是根...

NeyoShinado的博客 423

【机器学习】揭秘异常检测:轻松揪出数据中的“害群之马” (含Scikit-learn实战)

在数据的海洋中,大部分数据都遵循着某种模式或规律。然而,总有一些数据点显得格格不入,它们或孤立、或偏离、或行为怪异,这些“异类”就是我们今天要讨论的主角——异常点(Anomalies / Outliers)。异常检测(Anomaly Detection),顾名思义,就是利用技术手段,自动地从海量数据中识别出这些罕见、不寻常的模式或个体。想象一下,银行系统需要实时发现欺诈交易,工厂需要预测即将发生故障的设备,网络系统需要抵御未知的攻击… 这些场景的核心诉求都是快速、准确地识别异常。

吴师兄大模型的博客 2982

【机器学习】从炼丹到落地!模型部署与监控全流程实战指南 (MLOps 核心)

经过前面漫长的学习、训练和调优,我们终于得到了一个表现不错的模型。但是,模型训练完成并非终点,真正的挑战在于如何将模型有效地部署到生产环境,让它真正产生价值,并确保持续稳定地运行。这就是我们今天要探讨的主题——模型部署与监控,这也是的核心环节。本文将带你了解模型部署的常见模式、关键技术(如模型序列化、容器化),并重点讲解如何监控线上模型的表现,及时发现并处理问题。在深入部署细节之前,我们先来理解一下 MLOps。

吴师兄大模型的博客 1986

【机器学习】掌握核心数学:线性代数、微积分与概率论如何驱动AI模型?

在之前的学习中,我们探索了各种强大的机器学习算法和技术。然而,要真正深入理解这些算法的内在机制、进行有效的模型选择与调优,甚至进行创新,掌握其背后的数学原理是不可或缺的基石。很多同学可能对数学有所畏惧,但别担心,本篇文章旨在以专业精准且通俗易懂的方式,回顾并深化机器学习中最核心的数学知识——线性代数、微积分、概率论与统计,并通过直观实例将抽象概念与具体的机器学习算法(如 PCA、梯度下降、朴素贝叶斯等)紧密联系起来,助你彻底打通机器学习的“任督二脉”。

吴师兄大模型的博客 2121
上一篇: 从0开始学习机器学习--Day25--SVM作业
下一篇: 从0开始机器学习--Day27--主成分分析方法
怡方矩阵
博客等级 码龄7年 486粉丝 228原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值