当前位置: 首页 > wzjs >正文

wap网站浏览器wordpress安装中文

wap网站浏览器,wordpress安装中文,最好看免费观看高清大全一影视下载,中山网站建设设计机器学习入门核心算法:K-近邻算法(K-Nearest Neighbors, KNN) 一、算法逻辑1.1 基本概念1.2 关键要素距离度量K值选择 二、算法原理与数学推导2.1 分类任务2.2 回归任务2.3 时间复杂度分析 三、模型评估3.1 评估指标3.2 交叉验证调参 四、应用…

在这里插入图片描述

机器学习入门核心算法:K-近邻算法(K-Nearest Neighbors, KNN)

  • 一、算法逻辑
      • 1.1 基本概念
      • 1.2 关键要素
        • 距离度量
        • K值选择
  • 二、算法原理与数学推导
      • 2.1 分类任务
      • 2.2 回归任务
      • 2.3 时间复杂度分析
  • 三、模型评估
      • 3.1 评估指标
      • 3.2 交叉验证调参
  • 四、应用案例
      • 4.1 手写数字识别
      • 4.2 推荐系统
  • 五、经典面试题
      • 问题1:KNN的主要优缺点?
      • 问题2:如何处理高维数据?
      • 问题3:KNN与K-Means的区别?
  • 六、高级优化技术
      • 6.1 数据结构优化
      • 6.2 近似最近邻(ANN)
  • 七、最佳实践指南
      • 7.1 参数调优建议
      • 7.2 特征处理要点
  • 总结与展望

一、算法逻辑

1.1 基本概念

K-近邻算法(KNN)是一种基于实例的监督学习算法,其核心思想是**“物以类聚”**。算法特点包括:

  • 懒惰学习(Lazy Learning):没有显式的训练过程,直接存储全部训练数据
  • 非参数化:不假设数据分布形式
  • 局部近似:仅依赖邻近样本进行预测

工作原理
给定新样本时,在训练集中查找距离最近的K个样本,通过这K个邻居的标签进行多数表决(分类)或均值计算(回归)。

1.2 关键要素

距离度量

常用距离计算公式:

  1. 欧氏距离(默认选择):
    d ( x i , x j ) = ∑ k = 1 n ( x i k − x j k ) 2 d(\boldsymbol{x}_i, \boldsymbol{x}_j) = \sqrt{\sum_{k=1}^n (x_{ik} - x_{jk})^2} d(xi,xj)=k=1n(xikxjk)2
  2. 曼哈顿距离
    d ( x i , x j ) = ∑ k = 1 n ∣ x i k − x j k ∣ d(\boldsymbol{x}_i, \boldsymbol{x}_j) = \sum_{k=1}^n |x_{ik} - x_{jk}| d(xi,xj)=k=1nxikxjk
  3. 闵可夫斯基距离(通用形式):
    d ( x i , x j ) = ( ∑ k = 1 n ∣ x i k − x j k ∣ p ) 1 / p d(\boldsymbol{x}_i, \boldsymbol{x}_j) = \left( \sum_{k=1}^n |x_{ik} - x_{jk}|^p \right)^{1/p} d(xi,xj)=(k=1nxikxjkp)1/p
K值选择
  • K=1:最近邻算法,决策边界不规则,容易过拟合
  • K过大:决策边界平滑,可能欠拟合

二、算法原理与数学推导

2.1 分类任务

多数表决规则
y ^ = arg ⁡ max ⁡ c ∑ x i ∈ N k ( x ) I ( y i = c ) \hat{y} = \arg\max_{c} \sum_{\boldsymbol{x}_i \in N_k(\boldsymbol{x})} I(y_i = c) y^=argcmaxxiNk(x)I(yi=c)
其中:

  • N k ( x ) N_k(\boldsymbol{x}) Nk(x):样本 x \boldsymbol{x} x的K个最近邻
  • I ( ⋅ ) I(\cdot) I():指示函数,条件满足时取1否则0

加权投票改进
y ^ = arg ⁡ max ⁡ c ∑ x i ∈ N k ( x ) w i I ( y i = c ) \hat{y} = \arg\max_{c} \sum_{\boldsymbol{x}_i \in N_k(\boldsymbol{x})} w_i I(y_i = c) y^=argcmaxxiNk(x)wiI(yi=c)
权重计算:
w i = 1 d ( x , x i ) + ϵ w_i = \frac{1}{d(\boldsymbol{x}, \boldsymbol{x}_i) + \epsilon} wi=d(x,xi)+ϵ1
ϵ \epsilon ϵ为防止除零的小常数)

2.2 回归任务

均值预测
y ^ = 1 k ∑ x i ∈ N k ( x ) y i \hat{y} = \frac{1}{k} \sum_{\boldsymbol{x}_i \in N_k(\boldsymbol{x})} y_i y^=k1xiNk(x)yi

加权回归
y ^ = ∑ x i ∈ N k ( x ) w i y i ∑ w i \hat{y} = \frac{\sum_{\boldsymbol{x}_i \in N_k(\boldsymbol{x})} w_i y_i}{\sum w_i} y^=wixiNk(x)wiyi

2.3 时间复杂度分析

阶段时间复杂度说明
训练阶段O(1)仅存储数据
预测阶段O(nd + nlogk)d为维度,n为样本数
优化后O(mlog n)使用KD树/球树结构

三、模型评估

3.1 评估指标

任务类型常用指标公式
分类准确率、F1 Score A c c u r a c y = T P + T N N Accuracy = \frac{TP+TN}{N} Accuracy=NTP+TN
回归MSE、MAE M S E = 1 n ∑ ( y i − y ^ i ) 2 MSE = \frac{1}{n}\sum(y_i-\hat{y}_i)^2 MSE=n1(yiy^i)2

3.2 交叉验证调参

K值选择方法

  1. 肘部法则(Elbow Method):绘制不同K值的误差曲线
  2. 网格搜索:结合交叉验证选择最优K值

代码示例

from sklearn.neighbors import KNeighborsClassifier
from sklearn.model_selection import GridSearchCVparams = {'n_neighbors': [3,5,7,9], 'weights': ['uniform', 'distance']}
grid = GridSearchCV(KNeighborsClassifier(), params, cv=5)
grid.fit(X_train, y_train)

四、应用案例

4.1 手写数字识别

数据集:MNIST(60,000张28x28灰度图)
关键步骤

  1. 数据标准化:像素值缩放到[0,1]
  2. 降维处理:使用PCA保留95%方差
  3. 模型配置:K=5,加权距离

性能表现

  • 测试集准确率:97.1%
  • 推理速度:200样本/秒(使用KD树加速)

4.2 推荐系统

应用场景:电影推荐
特征工程

  • 用户评分矩阵
  • 电影类型标签(One-Hot编码)
  • 用户行为时序特征

相似度计算
Similarity ( u , v ) = ∑ i ∈ I u v ( r u i − r ˉ u ) ( r v i − r ˉ v ) ∑ i ∈ I u v ( r u i − r ˉ u ) 2 ∑ i ∈ I u v ( r v i − r ˉ v ) 2 \text{Similarity}(u,v) = \frac{\sum_{i \in I_{uv}}(r_{ui} - \bar{r}_u)(r_{vi} - \bar{r}_v)}{\sqrt{\sum_{i \in I_{uv}}(r_{ui} - \bar{r}_u)^2} \sqrt{\sum_{i \in I_{uv}}(r_{vi} - \bar{r}_v)^2}} Similarity(u,v)=iIuv(ruirˉu)2 iIuv(rvirˉv)2 iIuv(ruirˉu)(rvirˉv)

推荐流程

  1. 查找最相似K个用户
  2. 聚合这些用户的高评分电影
  3. 过滤已观看内容生成推荐列表

五、经典面试题

问题1:KNN的主要优缺点?

优点分析

  • 原理直观,实现简单
  • 无需训练阶段,适合动态数据集
  • 天然支持多分类任务

缺点分析

  • 计算复杂度高(预测阶段需全量计算)
  • 对高维数据敏感(维度灾难)
  • 需要特征标准化处理

问题2:如何处理高维数据?

解决方案

  1. 特征选择:使用互信息、卡方检验等方法筛选重要特征
  2. 降维技术:PCA、t-SNE等
  3. 距离度量改进:使用余弦相似度替代欧氏距离
  4. 数据标准化:Min-Max或Z-Score标准化

问题3:KNN与K-Means的区别?

本质区别对比

维度KNNK-Means
算法类型监督学习无监督聚类
目标分类/回归数据分组
距离计算测试样本与所有训练样本计算样本与聚类中心计算
K值含义最近邻数量聚类中心数量

六、高级优化技术

6.1 数据结构优化

KD树构建

  1. 选择方差最大的维度进行划分
  2. 以中位数作为切分点
  3. 递归构建左右子树

球树(Ball Tree)

  • 将数据点组织成嵌套超球体
  • 适合高维数据,比KD树更高效

6.2 近似最近邻(ANN)

大规模数据加速方法

  1. 位置敏感哈希(LSH):通过哈希函数将相似数据映射到相同桶
  2. 层次导航小世界(HNSW):基于图结构的快速检索
  3. 乘积量化(PQ):将高维向量分解为子空间量化

七、最佳实践指南

7.1 参数调优建议

参数推荐值作用说明
n_neighbors3-15(奇数为佳)控制模型复杂度
weightsdistance加权近邻投票
algorithmauto自动选择最优数据结构
leaf_size30-50控制树结构的存储效率

7.2 特征处理要点

  • 标准化:必须对数值特征进行标准化
  • 类别特征:使用嵌入(Embedding)代替One-Hot
  • 缺失值:使用KNNImputer进行填充

总结与展望

KNN算法凭借其简单直观的特性,在模式识别、推荐系统等领域持续发挥重要作用。未来发展方向包括:

  1. 分布式计算:使用Spark MLlib加速大规模KNN
  2. 深度学习结合:用神经网络学习更好的距离度量
  3. 硬件加速:利用GPU实现实时KNN计算

文章转载自:

http://PCeT8lWI.rckLc.cn
http://yq9Vy3Hr.rckLc.cn
http://F1psgwNB.rckLc.cn
http://oUvyYiNV.rckLc.cn
http://nRvnwj0B.rckLc.cn
http://LQJIhxOg.rckLc.cn
http://CRhLkDaF.rckLc.cn
http://jx40Ygdz.rckLc.cn
http://DIEUZCfI.rckLc.cn
http://jzKFODag.rckLc.cn
http://lBXbCZjg.rckLc.cn
http://Tb366CGA.rckLc.cn
http://uSMabdfJ.rckLc.cn
http://T3BmDWaj.rckLc.cn
http://rIkhb8xz.rckLc.cn
http://1WY9IbyY.rckLc.cn
http://Aou3fHrV.rckLc.cn
http://ZGmhdnAP.rckLc.cn
http://fRRl3DHt.rckLc.cn
http://TNooYs5W.rckLc.cn
http://HxxZ0tYV.rckLc.cn
http://d6ePFafx.rckLc.cn
http://Kgy6sS2k.rckLc.cn
http://9wzfZmRr.rckLc.cn
http://kHQNQjEL.rckLc.cn
http://SXYq9wVi.rckLc.cn
http://ag4sOZSa.rckLc.cn
http://CMmXlMKy.rckLc.cn
http://FlWNFPl3.rckLc.cn
http://JXpCUbNO.rckLc.cn
http://www.dtcms.com/wzjs/610548.html

相关文章:

  • 毕业设计做网站难吗wordpress 精致主题
  • 58网站自己做手机软件免费开发公司
  • 合肥营销网站建设价格微信商城小程序怎么做
  • 天津网站建设制作开发公司wordpress 文本编辑器
  • 网站侧边栏怎么做昆明网站外包
  • 茄子河区网站建设自查报告商旅网站建设
  • 兰州seo网站建设wordpress 指南
  • 网站建设需要哪些信息做网站郴州
  • 做网站先要学百度云盘网页登录入口
  • 红色企业网站模板注册一家公司要花多少钱
  • 网站开发价格网站修改flashfxp上传多久生效
  • 做简单网站需要学什么如何自学网站建设书籍
  • 网页小游戏的网站代做网站微信号
  • 湖北省京山县建设局网站wordpress 站点打开慢
  • 如何写网站建设方案海南住房与城乡建设部网站
  • qq怎么做自己的网站旧房翻新装修
  • 网站开发 技术投标wordpress删除相似文章
  • 做化妆品销售网站如何wordpress 增加小工具
  • 上海网站建设关键词排名携程网站开发
  • 国内外贸免费网站建设app跨平台开发
  • 微信微官网如何制作成都seo优化推广
  • 上线了建站怎么样建筑公司企业资料
  • 濮阳建站推广哪家好怎么做营销网站推广
  • 江西南昌电子商务网站建设公司网络版微信
  • 长春优惠做网站wordpress修改404
  • 橄榄树网站建设公司网站运营包括哪些方面
  • 企业网站建设代码宝安中心地铁站是几号线
  • 汉源县建设局网站涨口碑说做的网站
  • 湘西网站建设公司企业如何实现高端网站建设
  • 襄阳网站建设遂宁网站建设