机器学习基础(一)K近邻法

机器学习分两大类,有监督学习(supervised learning)和无监督学习(unsupervised learning)。有监督 学习又可分两类:分类(classification.)和回归(regression),分类的任务就是把一个样本划为某个已 知类别,每个样本的类别信息在训练时需要给定,比如人脸识别、行为识别、目标检测等都属于分类。回归的 任务则是预测一个数值,比如给定房屋市场的数据(面积,位置等样本信息)来预测房价走势。而无监督学习 也可以成两类:聚类(clustering)和密度估计(density estimation),聚类则是把一堆数据聚成弱干组, 没有类别信息;密度估计则是估计一堆数据的统计参数信息来描述数据,比如深度学习的RBM。

根据机 器学习实战讲解顺序,先学习K近邻法(K Nearest Neighbors-KNN)

K近邻法是有监督学习方法,原理 很简单,假设我们有一堆分好类的样本数据,分好类表示每个样本都一个对应的已知类标签,当来一个测试样 本要我们判断它的类别是,就分别计算到每个样本的距离,然后选取离测试样本最近的前K个样本的标签累计 投票,得票数最多的那个标签就为测试样本的标签。

例子(电影分类):

(图一)

(图一)中横坐标表示一部电影中的打斗统计个数,纵坐标表示接吻次数。我们要对(图一)中的问 号这部电影进行分类,其他几部电影的统计数据和类别如(图二)所示:

(图二)

从(图二)中可以看出有三部电影的类别是Romance,有三部电影的类别是Action,那如何 判断问号表示的这部电影的类别?根据KNN原理,我们需要在(图一)所示的坐标系中计算问号到所有其他电影 之间的距离。计算出的欧式距离如(图三)所示:

 

(图三)

由于我们的标 签只有两类,那假设我们选K=6/2=3,由于前三个距离最近的电影都是Romance,那么问号表示的电影被判定为 Romance。

时间: 2024-08-01 23:16:00

机器学习基础(一)K近邻法的相关文章

K近邻算法-KNN

K近邻算法-KNN 何谓K近邻算法,即K-Nearest Neighbor algorithm,简称KNN算法,单从名字来猜想,可以简单粗暴的认为是:K个最近的邻居,当K=1时,算法便成了最近邻算法,即寻找最近的那个邻居.为何要找邻居?打个比方来说,假设你来到一个陌生的村庄,现在你要找到与你有着相似特征的人群融入他们,所谓入伙. 用官方的话来说,所谓K近邻算法,即是给定一个训练数据集,对新的输入实例,在训练数据集中找到与该实例最邻近的K个实例(也就是上面所说的K个邻居),这K个实例的多数属于某个

《R语言机器学习:实用案例分析》——1.7节机器学习基础

1.7 机器学习基础 既然你已经回顾了关于R的内容,我们将讨论机器学习的基础:什么是机器学习,今天如何使用机器学习,以及机器学习中的主要领域.本节将对机器学习进行概述,为你进入下一章机器学习的深入研究做铺垫.1.7.1 机器学习--真正的含义是什么 由于机器学习是一个囊括和借鉴了计算机科学中多个领域的概念和技巧的一门学科,所以它还没有一个明确的教科书定义.在大学中,机器学习也作为一个学术课程进行教授.随着机器学习和数据科学在网上的教育视频.课程和培训形式被大众广泛接受,该学科在最近有了显著的发展

机器学习实战(Machine Learning in Action)笔记--Chapter1:机器学习基础

Part1 分类 监督学习一般使用两种类型的目标变量:标称型(主要用于分类).数值型(主要用于回归). 非均衡分类问题 第1章 机器学习基础 专家系统 训练样本.特征.目标变量(分类问题中为类别) 训练数据和测试数据 知识表示 监督学习:分类.回归 无监督学习 将数据集合分成由类似的对象组成的多个类的过程被称为聚类 将寻找描述数据统计值的过程称之为密度估计 监督学习的用途:k-近邻算法.朴素贝叶斯算法.支持向量机.决策树.线性回归.局部加权线性回归.Ridge回归.Lasso最小回归系数估计 无

K近邻算法

什么是K近邻算法     何谓K近邻算法,即K-Nearest Neighbor algorithm,简称KNN算法,单从名字来猜想,可以简单粗暴的认为是:K个最近的邻居,当K=1时,算法便成了最近邻算法,即寻找最近的那个邻 居.为何要找邻居?打个比方来说,假设你来到一个陌生的村庄,现在你要找到与你有着相似特征的人群融入他们,所谓入伙.     用官方的话来说,所谓K近邻算法,即是给定一个训练数据集,对新的输入实例,在训练数据集中找到与该实例最邻近的K个实例(也就是上面所说的K个邻居), 这K个

k近邻 - 手写数字识别

# -*- coding: utf-8 -*- import numpy as np import operator from os import listdir # k近邻算法实现 def classify0(inX, dataSet, labels, k): # 得到数组的行数, 训练数据的大小 dataSetSize = dataSet.shape[0] # 将inX这一个数据, 扩充成dataSetSize个大小一样的数据集 # 减去dataSet, 得到一个差集的数据集 diffMat

机器学习之k近邻

核心思想 KNN算法假设给定的训练集中的实例都已经分好类了,对于新的实例,根据离它最近的k个训练实例的类别来预测它的类别.即这k个实例大多数属于某个类别则该实例就属于某个类别.比如k为5,离新实例a最近的5个样本的情况为,3个样本属于A类,1个样本属于B类,一个样本属于C类,那么新实例a属于A类. 常用距离 欧氏距离 d(x,y)=∑ni=1(xi−yi)2−−−−−−−−−−−−√ 曼哈顿距离 d(x,y)=∑ni=1|(xi−yi)| 切比雪夫距离 d(x,y)=max(|xi−yi|) k

机器学习基础(四)逻辑回归

从这节算是开始进入"正规"的机器学习了吧,之所以"正规"因为它开始要建立价值函数(cost function),接着优化价值函数求出权重,然后测试验证.这整套的流程是机器学习必经环节.今天要学习的 话题是逻辑回归,逻辑回归也是一种有监督学习方法(supervised machine learning).逻辑回归一般用来 做预测,也可以用来做分类,预测是某个类别^.^!线性回归想比大家都不陌生了,y=kx+b,给定一堆数据点, 拟合出k和b的值就行了,下次给定X时,就

OpenCV手写数字字符识别(基于k近邻算法)

  摘要 本程序主要参照论文,<基于OpenCV的脱机手写字符识别技术>实现了,对于手写阿拉伯数字的识别工作.识别工作分为三大步骤:预处理,特征提取,分类识别.预处理过程主要找到图像的ROI部分子图像并进行大小的归一化处理,特征提取将图像转化为特征向量,分类识别采用k-近邻分类方法进行分类处理,最后根据分类结果完成识别工作. 程序采用Microsoft Visual Studio 2010与OpenCV2.4.4在Windows 7-64位旗舰版系统下开发完成.并在Windows xp-32位

神经网络和机器学习基础入门分享

         最近在做知识图谱实体对齐和属性对齐中,简单用了下Word2vec谷歌开源代码.Word2vec是一个将单词表征成向量的形式,它可以把文本内容的处理简化为向量空间中的向量运算,计算出向量空间上的相似度,来表示文本语义上的相似度.         Word2vec采用CBOW(Continuous Bag-Of-Words Model,连续词袋模型)和Skip-Gram(Continuous Skip-GramModel)两种模型,涉及到神经网络和深度学习的一些知识.故这周给学弟和