KNN
- 1. 最近邻算法
- 1.1 回归
- 2. 机器学习
- OCR
- 创建垃圾邮件过滤器
- 预测股票市场
1. 最近邻算法
KNN(k-nearest neighbours)K最近邻算法:采用此算法进行分类,检索距离该元素最近的几个元素是什么类型,那么该元素即为什么类型。
- 创建推荐系统:找出相近的元素,将相近元素的特性赋予此元素。
- 特征提取:将元素的特性量化后,采用毕达哥拉斯公式进行衡量(表示两组数字之间的相似程度)。
( x 1 − x 2 ) 2 + ( y 1 − y 2 ) 2 + . . . + ( z 1 − z 2 ) 2 \sqrt{(x_1-x_2)^2+(y_1-y_2)^2+...+(z_1-z_2)^2} (x1−x2)2+(y1−y2)2+...+(z1−z2)2
1.1 回归
KNN可以用来进行分类和回归。找到近邻的元素,采用近邻的元素特征进行对此元素进行分类和回归预测。
分类:编组。
回归:预测结果。
- 需要挑选合适的特征,进行适合的打分。
2. 机器学习
KNN算法为进行机器学习的最基础算法。如推荐系统
OCR
OCR指的是光学字符识别(optical character recognition),这意味着你可拍摄印刷页面的照片,计算机将自动识别出其中的文字。OCR算法提取线段、点和曲线等特征。
如何自动识别出这个数字是什么呢?可使用KNN。
- 浏览大量的数字图像,将这些数字的特征提取出来。
- 遇到新图像时,你提取该图像的特征,再找出它最近的邻居都是谁!
OCR的第一步是查看大量的数字图像并提取特征,这被称为训练(training)。大多数机器学习算法都包含训练的步骤:要让计算机完成任务,必须先训练它。
创建垃圾邮件过滤器
垃圾邮件过滤器使用一种简单算法——朴素贝叶斯分类器(Naive Bayes classifier),你首先需要使用一些数据对这个分类器进行训练。
假设你收到一封主题为“collect your million dollars now!”的邮件,这是垃圾邮件吗?你可研究这个句子中的每个单词,看看它在垃圾邮件中出现的概率是多少。例如,使用这个非常简单的模型时,发现只有单词million在垃圾邮件中出现过。朴素贝叶斯分类器能计算出邮件为垃圾邮件的概率,其应用领域与KNN相似。