求模的常用公式

运算规则
模运算与基本四则运算有些相似,但是除法例外。其规则如下:
(a + b) % p = (a % p + b % p) % p (1)
(a - b) % p = (a % p - b % p ) % p (2)
(a * b) % p = (a % p * b % p) % p (3)
a ^ b % p = ((a % p)^b) % p (4)

结合律:
((a+b) % p + c) % p = (a + (b+c) % p) % p (5)
((ab) % p * c)% p = (a * (bc) % p) % p (6)

交换律:
(a + b) % p = (b+a) % p (7)
(a * b) % p = (b * a) % p (8)

分配律:
(a+b) % p = ( a % p + b % p ) % p (9)
((a +b)% p * c) % p = ((a * c) % p + (b * c) % p) % p (10)

重要定理
若a≡b (% p),则对于任意的c,都有(a + c) ≡ (b + c) (%p);(11)
若a≡b (% p),则对于任意的c,都有(a * c) ≡ (b * c) (%p);(12)
若a≡b (% p),c≡d (% p),则 (a + c) ≡ (b + d) (%p),(a - c) ≡ (b - d) (%p),
(a * c) ≡ (b * d) (%p); (13)

<think>好的,我需要帮助用户了解KNN型的数学公式及其原理。首先,我得回忆一下KNN的基本原理,然后整理出相关的数学公式。 用户提到了引用中的内容,特别是引用[3]中的分类决策规则和距离计算。KNN的核心是根据邻近样本进行投票,所以应该从距离度量和分类决策两个方面展开。 首先,距离度量。常见的距离包括欧氏距离、曼哈顿距离、余弦相似度等。用户提供的引用[4]中提到了余弦相似度的公式,可能可以作为补充。需要写出这些距离的数学表达式,使用$$...$$格式,并解释每个符号的含义。 接下来是分类决策规则,引用[3]中的公式已经给出多数表决的公式。需要将那个公式用LaTeX重新排版,确保正确,并解释arg max和指示函数的作用。可能需要分步骤说明,比如先找k个最近邻,然后统计类别,最后选择最多的。 然后,回归问题的情况,虽然用户没提,但作为完整的回答,应该简要提到回归中使用平均或加权平均的方法。 原理部分需要结合引用中的内容,比如引用[2]提到的应用场景,引用[1]的通用性,说明KNN的工作原理是基于邻近样本,因此数学公式如何支撑这些特性。 还需要注意用户提到的格式要,行内公式用$...$,独立公式用$$...$$,并且检查LaTeX语法是否正确。例如,积分例子中的括号是否闭合,用户提供的示例中有错误,可能需要忽略,但自己写的部分要正确。 可能的问题:用户引用中的公式是否有错误?比如引用[4]中的公式是否正确?1减去余弦相似度可能表示距离,但通常余弦距离是1减余弦相似度,所以需要确认。不过用户的问题是关于KNN的公式,这部分可能属于距离度量的一部分,可以提及。 最后,生成相关问题,需要围绕KNN的公式、原理、优化、应用等,比如距离度量的选择、k值的影响、算法优化方法等。 现在组织内容,先讲原理概述,再分距离度量和分类决策,给出公式,然后优缺点,最后应用。确保每个公式正确,引用标记正确放置。</think>### KNN算法数学原理及公式推导 KNN(K-Nearest Neighbors)算法的核心是通过计算样本间的距离,基于最近的$k$个邻居的类别进行投票或回归预测。其数学原理可分为**距离度量**和**分类决策规则**两部分。 --- #### 一、距离度量 KNN通过距离函数衡量样本相似性,常用方法包括: 1. **欧氏距离**(最常用): $$d(x,y) = \sqrt{\sum_{i=1}^n (x_i - y_i)^2}$$ 其中$x$和$y$为样本向量,$n$为特征维度。 2. **曼哈顿距离**: $$d(x,y) = \sum_{i=1}^n |x_i - y_i|$$ 3. **余弦相似度**(见引用[4]): $$\text{相似度} = \frac{x \cdot y}{\|x\| \cdot \|y\|}, \quad \text{距离} = 1 - \frac{x \cdot y}{\|x\| \cdot \|y\|}$$ 余弦距离适用于高维稀疏数据(如文本分类)[^4]。 --- #### 二、分类决策规则 1. **寻找最近邻**:给定测试样本$x$,计算其与所有训练样本的距离,选出距离最小的前$k$个样本,记为集合$N_k(x)$。 2. **多数表决法**(见引用[3]): 测试样本的类别$y$由$N_k(x)$中出现次数最多的类别决定: $$y = \arg \max_{c_j} \sum_{x_i \in N_k(x)} I(y_i = c_j)$$ 其中$I(\cdot)$为指示函数,当$y_i = c_j$时取1,否则取0[^3]。 --- #### 三、回归问题 对于回归任务,KNN取$k$个邻居的均值或加权均值作为预测值: $$\hat{y} = \frac{1}{k} \sum_{x_i \in N_k(x)} y_i \quad \text{或} \quad \hat{y} = \sum_{x_i \in N_k(x)} w_i y_i$$ 加权时,权重$w_i$通常与距离成反比(如$w_i = 1/d(x_i, x)$)。 --- #### 四、算法优缺点 1. **优点**: - 无需训练,直接基于数据决策(引用[1]强调其通用性)[^1]。 - 天然支持多分类和非线性问题。 2. **缺点**: - 计算复杂度高(需遍历所有样本)。 - 对噪声和样本不平衡敏感。 --- #### 五、应用场景 KNN常用于图像识别(引用[2])、推荐系统、文本分类等场景,尤其适合小规数据集且特征维度不高的问题[^2]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值