KNN

KNN


如何衡量相似(距离)

不同属性之间的比较
  • 标称属性
    • 属性值匹配
    • 属性值不匹配
    • 0 − 1 0-1 01 函数
  • 序数属性
    • 可以考虑量化序数属性
    • d = ∣ p − q ∣ n − 1 d = \frac{|p-q|}{n-1} d=n1pq
  • 区间或者比率属性
    • 属性值差的绝对值
    • 属性值比率
    • d = ∣ p − q ∣ d = |p-q| d=pq
    • s = − d , s = 1 1 + d , s = 1 − d − min ⁡ d max ⁡ d − min ⁡ d s = -d,s = \frac{1}{1+d},s = 1 - \frac{d - \min d}{\max d - \min d} s=d,s=1+d1,s=1maxdminddmind
距离
距离公理,度量
  • 非负性 d ( a , b ) ≥ 0 d(a,b) \geq 0 d(a,b)0
  • 到自身的距离为0 d ( a , a ) = d ( b , b ) = 0 d(a,a) = d(b,b) = 0 d(a,a)=d(b,b)=0
  • 对称性 d ( a , b ) = d ( b , a ) d(a,b) = d(b,a) d(a,b)=d(b,a)
  • 三角不等式 d ( a , b ) ≤ d ( a , k ) + d ( b , k ) d(a,b) \leq d(a,k) + d(b,k) d(a,b)d(a,k)+d(b,k)
欧氏距离 ( E u c l i d e a n   D i s t a n c e ) (Euclidean\ Distance) (Euclidean Distance)

x a = ( x a 1 , . . . , x a n ) , x b = ( x b 1 , . . . , x b n ) x_a = (x_{a1},...,x_{an}),x_b = (x_{b1},...,x_{bn}) xa=(xa1,...,xan),xb=(xb1,...,xbn)

⇒ d ( a , b ) = ( x a 1 − x b 1 ) 2 + . . . + ( x a n − x b n ) 2 \Rightarrow d(a,b) = \sqrt{(x_{a1} - x_{b1})^2+...+(x_{an} - x_{bn})^2} d(a,b)=(xa1xb1)2+...+(xanxbn)2

曼哈顿距离 ( M a n h a t t a n   D i s t a n c e ) (Manhattan\ Distance) (Manhattan Distance)

d ( a , b ) = ∣ x a 1 − x b 1 ∣ + . . . + ∣ x a n − x b n ∣ d(a,b) = |x_{a1}-x_{b1}|+...+|x_{an}-x_{bn}| d(a,b)=xa1xb1+...+xanxbn

闵可夫斯基距离 ( M i n k o w s k i   D i s t a n c e ) (Minkowski\ Distance) (Minkowski Distance)
  • 普通的闵可夫斯基距离
    d ( a , b ) = ( ∣ x a 1 − x b 1 ∣ p + . . . + ∣ x a n − x b n ∣ p ) 1 p d(a,b) = (|x_{a1}-x_{b1}|^p+...+|x_{an}-x_{bn}|^p)^{\frac{1}{p}} d(a,b)=(xa1xb1p+...+xanxbnp)p1
    其中 p p p 为一个整数
  • 加权闵可夫斯基距离
    d ( a , b ) = ( w 1 ∣ x a 1 − x b 1 ∣ p + . . . + w n ∣ x a n − x b n ∣ p ) 1 p d(a,b) = (w_1|x_{a1}-x_{b1}|^p+...+w_n|x_{an}-x_{bn}|^p)^{\frac{1}{p}} d(a,b)=(w1xa1xb1p+...+wnxanxbnp)p1
    其中 p p p 为一个整数

可以发现,欧氏距离以及曼哈顿距离都是闵可夫斯基距离的一个特例

马氏距离 ( M a h a l a n o b i s   D i s t a n c e ) (Mahalanobis\ Distance) (Mahalanobis Distance)

d ( a , b ) = ( a − b ) Σ − 1 ( a − b ) T d(a,b) = (a-b)\Sigma^{-1}(a-b)^T d(a,b)=(ab)Σ1(ab)T
其中 Σ \Sigma Σ 是数据的协方差矩阵
Σ j , k = 1 n − 1 ∑ i = 1 n ( X i j − X ˉ j ) ( X i k − X ˉ k ) \Sigma_{j,k} = \frac{1}{n-1}\sum_{i=1}^n(X_{ij} - \bar X_j)(X_{ik} - \bar X_k) Σj,k=n11i=1n(XijXˉj)(XikXˉk)

相当于引入了对方向上的方差进行惩罚的机制。

在这里插入图片描述

一些不满足距离或度量的评估标准
  • 集合
    • d ( A , B ) = s i z e ( A − B ) d(A,B) = size(A - B) d(A,B)=size(AB)
    • d ( A , B ) = s i z e ( A − B ) + s i z e ( B − A ) d(A,B) = size(A - B) + size(B - A) d(A,B)=size(AB)+size(BA)
  • 时间
    • $d(t_1,t_2) = \begin{Bmatrix}
      t_2-t_1 & 如果 t_1 \leq t_2 \
      24+(t_2 - t_1) & 如果t_1 \geq t_2
      \end{Bmatrix} $
  • 简单匹配系数 ( S i m p l e   M a t c h i n g   C o e f f i c e n t ) (Simple\ Matching\ Coefficent) (Simple Matching Coefficent)
    • SMC = n u m b e r   o f   m a t c h e s n u m b e r   o f   a t t r i b u t e s = M 11 + M 00 M 11 + M 00 + M 10 + M 01 \frac{number\ of\ matches}{number\ of\ attributes} = \frac{M_{11} + M_{00}}{M_{11} + M_{00}+M_{10} + M_{01}} number of attributesnumber of matches=M11+M00+M10+M01M11+M00
  • J a c c a r d   C o e f f i c e n t Jaccard\ Coefficent Jaccard Coefficent
    • J = M 11 M 11 + M 00 + M 10 + M 01 J = \frac{M_{11}}{M_{11} + M_{00}+M_{10} + M_{01}} J=M11+M00+M10+M01M11
余弦相似度

d ( a , b ) = a ⋅ b ∣ ∣ a ∣ ∣ ∗ ∣ ∣ b ∣ ∣ d(a,b) = \frac{a·b}{||a||*||b||} d(a,b)=abab

不同属性的距离综合评估
  • 对于不同属性通常会用不同的距离标准去衡量。
  • 不同属性的重要性也可能不同
  • 可以采取不同属性的距离进行加权求和的形式来解决这个问题

K N N KNN KNN

简单介绍
  • 将个类训练样本划分为若干子类
  • 在每一个子类中确定代表点
    • 常见使用质心或者质心周围的点作为代表点
  • 计算未知样本与这些代表点的距离,最近的作为决策结果
  • 由于决策受代表点的影响很大,所以有可能导致错误率升高
代表点的选取
  • 增加代表点的数量会使分类器效果增加吗?
  • 将所有样本作为代表点。新样本与哪 k k k 个代表点最相似就基于投票多数类别决策。
    • y ′ = a r g max ⁡ y ∑ ( x i , y i ) ∈ D k I ( v = y i ) y' = arg\max\limits_y\sum_{(x_i,y_i)\in D_k}I(v = y_i) y=argymax(xi,yi)DkI(v=yi)
  • 通过对每一个最近邻的距离进行加权
    • y ′ = a r g max ⁡ y ∑ ( x i , y i ) ∈ D k w i ∗ I ( v = y i ) y' = arg\max\limits_y\sum_{(x_i,y_i)\in D_k}w_i*I(v = y_i) y=argymax(xi,yi)DkwiI(v=yi)
    • w i = 1 d ( x ′ , x i ) 2 w_i = \frac{1}{d(x',x_i)^2} wi=d(x,xi)21

对于 k k k 值大小的讨论

  • k k k 值太小,则模型对噪声敏感程度大
  • k k k 值太大,则可能误分类样例
  • 使用交叉验证法选取最优 k k k

尺度变换非常重要

K D KD KD

  • k k k 维空间中的实例点进行存储以便于进行快速检索的树形数据结构
  • 二叉树
  • 是对 k k k 维空间的一种划分,划分边界垂直于坐标轴。
  • 每一个节点对应于一个矩形区域
  • 如果使用中位数作为切分点,那么得到的 k d kd kd 树是平衡的
    • 平衡的 k d kd kd 树效率未必是最优的

构造过程

  • 构造根节点,选择 x 1 x_1 x1 为坐标轴,以样本在这个维度上的中位数进行划分,切分方向垂直于坐标轴。在根节点处保存对应的实例
  • 对于深度为 j j j 的节点,选择 x l , l = j ( m o d k ) + 1 x_l,l = j(mod k) +1 xl,l=j(modk)+1 作为坐标轴,以该节点中的样本在维度上的中位数进行划分;在节点处保存实例。重复直至划分后的区域没有样本。

搜索过程

  • 首先找到包含目标点的叶结点作为当前最近点:兄根节点出发,递归向下访问,每一次访问比较对应维度的大小,进入左节点或者右节点。
  • 从叶节点出发回退
    • 如果当前节点保存的样本距离比当前最近点的距离还小,则更新当前最近点。
    • 当前最近点一定存在于该节点的某个子节点的区域,所以检查该节点的父节点的另一子节点的区域中是否有更近的点
    • 如果有,则移动到另一个节点。递归进行搜索
    • 如果没有,向上回退,递归搜索。
  • 回退至根节点时,搜索结束。返回当前最近点。

当维数较大时, k d kd kd 树的搜索效率降低,只有当 N N N 远大于 2 D 2^D 2D 时,效率优势明显。

标题SpringBoot智能在线预约挂号系统研究AI更换标题第1章引言介绍智能在线预约挂号系统的研究背景、意义、国内外研究现状及论文创新点。1.1研究背景与意义阐述智能在线预约挂号系统对提升医疗服务效率的重要性。1.2国内外研究现状分析国内外智能在线预约挂号系统的研究与应用情况。1.3研究方法及创新点概述本文采用的技术路线、研究方法及主要创新点。第2章相关理论总结智能在线预约挂号系统相关理论,包括系统架构、开发技术等。2.1系统架构设计理论介绍系统架构设计的基本原则和常用方法。2.2SpringBoot开发框架理论阐述SpringBoot框架的特点、优势及其在系统开发中的应用。2.3数据库设计与管理理论介绍数据库设计原则、数据模型及数据库管理系统。2.4网络安全与数据保护理论讨论网络安全威胁、数据保护技术及其在系统中的应用。第3章SpringBoot智能在线预约挂号系统设计详细介绍系统的设计方案,包括功能模块划分、数据库设计等。3.1系统功能模块设计划分系统功能模块,如用户管理、挂号管理、医生排班等。3.2数据库设计与实现设计数据库表结构,确定字段类型、主键及外键关系。3.3用户界面设计设计用户友好的界面,提升用户体验。3.4系统安全设计阐述系统安全策略,包括用户认证、数据加密等。第4章系统实现与测试介绍系统的实现过程,包括编码、测试及优化等。4.1系统编码实现采用SpringBoot框架进行系统编码实现。4.2系统测试方法介绍系统测试的方法、步骤及测试用例设计。4.3系统性能测试与分析对系统进行性能测试,分析测试结果并提出优化建议。4.4系统优化与改进根据测试结果对系统进行优化和改进,提升系统性能。第5章研究结果呈现系统实现后的效果,包括功能实现、性能提升等。5.1系统功能实现效果展示系统各功能模块的实现效果,如挂号成功界面等。5.2系统性能提升效果对比优化前后的系统性能
在金融行业中,对信用风险的判断是核心环节之一,其结果对机构的信贷政策和风险控制策略有直接影响。本文将围绕如何借助机器学习方法,尤其是Sklearn工具包,建立用于判断信用状况的预测系统。文中将涵盖逻辑回归、支持向量机等常见方法,并通过实际操作流程进行说明。 一、机器学习基本概念 机器学习属于人工智能的子领域,其基本理念是通过数据自动学习规律,而非依赖人工设定规则。在信贷分析中,该技术可用于挖掘历史数据中的潜在规律,进而对未来的信用表现进行预测。 二、Sklearn工具包概述 Sklearn(Scikit-learn)是Python语言中广泛使用的机器学习模块,提供多种数据处理和建模功能。它简化了数据清洗、特征提取、模型构建、验证与优化等流程,是数据科学项目中的常用工具。 三、逻辑回归模型 逻辑回归是一种常用于分类任务的线性模型,特别适用于二类问题。在信用评估中,该模型可用于判断借款人是否可能违约。其通过逻辑函数将输出映射为0到1之间的概率值,从而表示违约的可能性。 四、支持向量机模型 支持向量机是一种用于监督学习的算法,适用于数据维度高、样本量小的情况。在信用分析中,该方法能够通过寻找最佳分割面,区分违约与非违约客户。通过选用不同核函数,可应对复杂的非线性关系,提升预测精度。 五、数据预处理步骤 在建模前,需对原始数据进行清理与转换,包括处理缺失值、识别异常点、标准化数值、筛选有效特征等。对于信用评分,常见的输入变量包括收入水平、负债比例、信用历史记录、职业稳定性等。预处理有助于减少噪声干扰,增强模型的适应性。 六、模型构建与验证 借助Sklearn,可以将数据集划分为训练集和测试集,并通过交叉验证调整参数以提升模型性能。常用评估指标包括准确率、召回率、F1值以及AUC-ROC曲线。在处理不平衡数据时,更应关注模型的召回率与特异性。 七、集成学习方法 为提升模型预测能力,可采用集成策略,如结合多个模型的预测结果。这有助于降低单一模型的偏差与方差,增强整体预测的稳定性与准确性。 综上,基于机器学习的信用评估系统可通过Sklearn中的多种算法,结合合理的数据处理与模型优化,实现对借款人信用状况的精准判断。在实际应用中,需持续调整模型以适应市场变化,保障预测结果的长期有效性。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值