版权声明:本文为博主原创,未经博主允许不得转载。 https://blog.csdn.net/weixin_36904568/article/details/88831387
一:KNN算法
(一)概念
K最近邻,就是k个最近的邻居的意思,每个样本都可以用它最接近的k个邻居来代表。
(二)特点
如果一个样本在特征空间中的k个最相邻的样本中的大多数属于某一个类别,则该样本也属于这个类别,并具有这个类别上样本的特性。
(三)使用
1. 特征抽取
- 挑选合适的特征
- 确定样本的特征值,建立n维坐标轴
- 标出每个样本的点,并使用毕达哥拉斯公式计算两点间的距离,这表示两个样本的相似程度。
- 对样本进行分类
2. 回归
- 根据步骤一分好类后,选取样本的K位邻居的某个值求平均
- 结果就是该样本求某个值的预测结果
二:二叉查找树
- 可以动态的增删数据,同时还可以快速查找。
- 左子树比根节点小,右子树比根节点大
- 数据库使用B树来存储数据
三:反向索引
- 原来的索引是每篇文章作为索引,指向它所包含的字符
- 反向索引是由字符作为索引,指向它出现过的文章
四:傅里叶变换
- 对于图片或音乐,分解为多个频率。可以处理信号,压缩图片或音乐。
五:并行算法
- 在多个内核的计算机中分配多个任务,做好负载均衡。
1. MapReduce分布式算法:包含映射和归并两个部分
- 映射函数接受数组,并且对每个元素进行分配,执行同一个操作。
- 归并函数接受数组,并且转换为一个元素
2. 概率型数据结构与算法:布隆过滤器+HyperLogLog
- 占用内存少
- 结果可能错,但是不会漏。
六:SHA算法和SimHash算法
SHA:
- SHA是一个散列函数 ,它生成一个散列值(一个较短的字符串,散列函数根据字符串生成数组索引),而SHA根据字符串生成另一个字符串。
- SHA无法逆向推理,只能通过键推出值,无法通过值推出键。
- 局部不敏感
SimHash:
- 局部敏感
七:Diffie-Hellman和RSA算法
- 双方无需知道加密算法。
- 使用公钥对其进行加密,加密后的消息只有使用私钥才能解密