监督学习

2.2:监督学习的基本分类模型(KNN、决策树、朴素贝叶斯)

 ̄綄美尐妖づ 提交于 2020-02-12 19:33:28
K近邻分类器(KNN) KNN:通过计算待分类数据点,与已有数据集中的所有数据点的距离。取距离最小的前K个点,根据“少数服从多数“的原则,将这个数据点划分为出现次数最多的那个类别。 sklearn中的K近邻分类器 在sklearn库中,可以使用sklearn.neighbors.KNeighborsClassifier创建一个K近邻分类器,主要参数有: • n_neighbors:用于指定分类器中K的大小( 默认值为5,注意与kmeans的区别 ) • weights:设置选中的K个点对分类结果影响的权重( 默认值为平均权重“uniform”,可以选择“distance”代表越近的点权重越高,或者传入自己编写的以距离为参数的权重计算函数 ) • algorithm:设置用于计算临近点的方法,因为当数据量很大的情况下计算当前点和所有点的距离再选出最近的k各点,这个计算量是很费时的,所以( 选项中有ball_tree、kd_tree和brute,分别代表不同的寻找邻居的优化算法,默认值为auto,根据训练数据自动选择 ) K近邻分类器的使用 创建一组数据 X 和它对应的标签 y: >>> X = [[0], [1], [2], [3]] >>> y = [0, 0, 1, 1] 使用 import 语句导入 K 近邻分类器: >>> from sklearn.neighbors

2.1:监督学习导学

淺唱寂寞╮ 提交于 2020-02-11 21:46:06
监督学习的目标 利用一组带有标签的数据,学习从输入到输出的映射,然后将这种映射关系应用到未知数据上,达到分类或回归的目的。 分类:当输出是 离散的 ,学习任务为分类任务。 回归:当输出是 连续的 ,学习任务为回归任务。 分类学习 输入:一组有标签的训练数据(也称观察和评估),标签表明了这些数据(观察)的所署类别。 输出:分类模型根据这些训练数据,训练自己的模型参数,学习出一个适合这组数据的分类器,当有新数据(非训练数据)需要进行类别判断,就可以将这组新数据作为输入送给学好的分类器进行判断。 分类学习-评价 • 训练集(training set):顾名思义用来训练模型的已标注数据,用来建立模型,发现规律。 • 测试集(testing set):也是已标注数据,通常做法是将标注隐藏,输送给训练好的模型,通过结果与真实标注进行对比,评估模型的学习能力。训练集/测试集的划分方法:根据已有标注数据,随机选出一部分数据( 70% )数据作为训练数据,余下的作为测试数据, 此外还有交叉验证法,自助法用来评估分类模型。 分类学习-评价标准 精确率:精确率是针对我们预测结果而言的,( 以二分类为例 )它表示的是预测为正的样本中有多少是真正的正样本。那么预测为正就有两种可能了,一种就是把正类预测为正类(TP),另一种就是把负类预测为正类(FP),也就是 召回率:是针对我们原来的样本而言的

机器学习(Machine Learning)- 吴恩达(Andrew Ng) 学习笔记(十二)

吃可爱长大的小学妹 提交于 2020-02-11 00:27:42
Support Vector Machines 支持向量机 支持向量机是监督学习算法的一种,在学习复杂的非线性方程时提供了一种更为清晰、更为强大的学习方式。 Optimization objective Alternative view of logistic regression 先介绍一下逻辑回归 \(h_\theta(x) = \frac{1}{1 + e^{-\theta^Tx}}\) If \(y = 1\) , we want \(h_\theta(x) \approx 1\) , \(\theta^Tx >> 0\) If \(y = 0\) , we want \(h_\theta(x) \approx 0\) , \(\theta^Tx << 0\) Cost of example: \(-(y\ logh_\theta(x) + (1-y)log(1-h_\theta(x)))\) = \(-ylog\frac{1}{1+e^{-\theta^Tx}} - (1-y)log(1-\frac{1}{1+e^{-\theta^Tx}}))\) 每个样本都对总的代价函数有影响,下图为具体关系。 扩展: 从代价函数开始修改,实现支持向量机。 如图所示,在左边的图中取 \(z = 1\) 点,画出要用的代价函数(看起来和逻辑回归的曲线有点相似,但它的是直线)

机器学习之支持向量机

删除回忆录丶 提交于 2020-02-08 20:31:39
SVM与神经网络 支持向量机并不是神经网络,这两个完全是两条不一样的路吧。不过详细来说,线性SVM的计算部分就像一个单层的神经网络一样,而非线性SVM就完全和神经网络不一样了(是的没错,现实生活中大多问题是非线性的),详情可以参考知乎答案。 这两个冤家一直不争上下,最近基于神经网络的深度学习因为AlphaGo等热门时事,促使神经网络的热度达到了空前最高。毕竟,深度学习那样的多层隐含层的结构,犹如一个黑盒子,一个学习能力极强的潘多拉盒子。有人或许就觉得这就是我们真正的神经网络,我们不知道它那数以百千计的神经元干了什么,也不理解为何如此的结构能诞生如此美好的数据 —— 犹如复杂性科学般,处于高层的我们并不能知道底层的”愚群“为何能涌现。两者一比起来,SVM似乎也没有深度学习等那么令人狂热,连Hinton都开玩笑说SVM不过是浅度学习(来自深度学习的调侃)。 不然,个人觉得相对于热衷于隐含层的神经网络,具有深厚的数学理论的SVM更值得让我们研究。SVM背后伟大的数学理论基础可以说是现今人类的伟大数学成就,因此SVM的解释性也非神经网络可比,可以说,它的数学理论让它充满了理性,这样的理性是一个理工科生向往的。就如,你渴望知道食物的来源以确定食物是否有毒,如果有毒是什么毒,这样的毒会在人体内发生了什么反应以致于让你不适 —— 我的理性驱使我这么想,一个来路不明的食物是不能让我轻易接受的。

机器学习

你离开我真会死。 提交于 2020-02-08 11:58:30
概念 分类、回归、监督学习、非监督学习 机器学习步骤 获取数据 获取、清洗、存储(hdfs) 数据拆分训练集和测试集 用特征向量训练算法 在测试集上评估算法 算法迭代与改进 实际应用 获取更多数据 … ## 常用算法 大专栏 机器学习 "监督学习"> 监督学习 分类 KNN(k个nearest neighbors) python anocoda python DT(decision Tree) SVN(Surpport vector machine) NN(nerual network) //深度学习基础 NB(naive bays) 回归 LR(linear Regression) NLR(Non-) 非监督学习算法 * K-Means 来源: https://www.cnblogs.com/lijianming180/p/12275807.html

你不得不了解的目标检测发展史

喜你入骨 提交于 2020-02-07 15:48:21
计算机视觉 计算机视觉中的三大类任务: 分类 Classification:解决“是什么?”的问题,即给定一张图片或一段视频判断里面包含什么类别的目标 定位 Location:解决“在哪里”的问题,即定位出这个目标的位置 检测 Detection:解决“是什么?在哪里”的问题,即定位出这个目标的位置并且知道目标物是什么 分割 Segmentation:分为实例分割和场景分割,解决“每一个像素属于哪个目标物或场景”的问题。 一、目标检测 目标检测可以理解为是物体识别和物体定位的综合,不仅仅要识别物体属于哪个分类,更重要的是得到物体在图片中的具体位置。 为了完成这两个任务,目标检测模型分为两类。一类是two-stage算法;一类是one-stage算法。对于two-stage检测方法来说,它先生成了可能包含物体的候选区域Region Proposal,然后对这个候选区域做进一步的分类和校准,得到最终的检测结果,代表方法有R-CNN系列方法。而对于one-stage检测算法直接给出最终的检测结果,没有经过生成候选区域的步骤,典型代表为YOLO和SSD。 目标检测算法的3个模块: 第一个是检测窗口的选择 ; 第二个是图像特征的提取 ; 第三个是分类器的设计 。 补充基础知识之检测窗口的选择 1.滑动窗口法 首先对输入图像进行不同窗口大小的滑窗进行从左往右、从上到下的滑动

机器学习篇(小白)—1

此生再无相见时 提交于 2020-02-07 03:12:57
(1)什么是机器学习? 机器学习是指依据数据或者以往的经验,来优化计算机程序的性能标准。 (2)分类 根据数据集是否有标签,分为监督学习和非监督学习两大类。其中,监督学习,数据集拥有标签,本身知道测试的正确与否,代表性的模型算法有; 线性回归、逻辑回归等;非监督学习,数据集没有标签,并不知道测试的正确性,代表算法有:聚类、降维等。 (3)使用Python实现 安装的是Anaconda,使用jupyter notebook或者那个spyder,我没看这课前用的是spyder,写点codewars上关于Python的小训练。 (4)本人对机器学习的理解 使机器能够自己学习吧,但在其学习的过程中,人类对它提供了多少帮助,比如使用SVM进行图像分类时,图像特征的选择上。 (课程是 深度之眼—吴恩达机器学习(ps:2月份免费,关注并回复 在家充电)) 来源: CSDN 作者: qq_42684396 链接: https://blog.csdn.net/qq_42684396/article/details/104152651

目标检测:R-CNN

元气小坏坏 提交于 2020-02-04 23:37:43
R-CNN:Region-CNN,是第一个成功将深度学习应用到目标检测上的算法。 R-CNN 基于卷积神经网络( CNN ),线性回归,和支持向量机(SVM)等算法 ,实现目标检测技术。 创新点: 将CNN用作目标检测的特征提取器、有监督预训练的方式初始化CNN、在CNN特征上做BoundingBox 回归。 目标检测区别于目标识别很重要的一点是其需要目标的具体位置,也就是BoundingBox。而产生BoundingBox最简单的方法就是滑窗,可以在卷积特征上滑窗。但是我们知道CNN是一个层次的结构,随着网络层数的加深,卷积特征的步伐及感受野也越来越大。例如AlexNet的Pool5层感受野为195*195, feature map大小 为32*32,显然这种感受野是不足以进行目标定位的。使用浅层的神经网络能够保留这种空间结构,但是特征提取的性能就会大打折扣。RCNN另辟蹊径,既然我们无法使用卷积特征滑窗,那我们通过 Region P roposals( 区域建议 ) 方法产生一系列的区域,然后直接使用CNN去分类这些区域是目标还是背景不就可以吗?当然这样做也会面临很多的问题,不过这个思路正是RCNN的核心。因此RCNN全称为Regions with CNN features。 RCNN算法分为4个步骤 : 候选区域生成:一张图像生成1K~2K个候选区域 (采用Selective

统计学习方法笔记

烂漫一生 提交于 2020-02-03 03:33:55
统计学习方法概论 1.1 统计学习 统计学习 (statistics learning): 计算机 基于 数据 构建 概率统计模型 并运用 模型 对 数据 进行 预测与分析 。也称为 统计机器学习 (statistics machine learning)。 统计学习的特点: 以 计算机及网络 为平台,是建立在计算机及网络之上的; 以 数据 为研究对象,是数据驱动的学科; 目的是对 数据 进行 预测与分析 ; 统计学习以 方法 为中心,统计学习方法构建 模型 并应用模型进行预测与分析; 是 概率论、统计学、信息论、计算理论、最优化理论及计算机科学等 多个领域的交叉学科; // 现在我们所说的机器学习,往往是指 统计机器学习 。 统计学习的对象 数据(data) 。 首先呢,统计学习从数据出发,提取数据的特征,抽象出数据中的模型,发现数据中的知识,最终又回到对数据的分析预测中去。 其次,作为统计学习的对象,数据是多样的,它包括存在于计算机及网络上的各种 数字 、 文字 、 图像 、 视频 、 音频 数据以及它们的组合。 关于数据的基本假设: 同类数据具有一定的统计规律性。 (什么叫“同类数据”:具有某种共同性质的数据,比如英文文章,互联网网页,数据库中的数据等,它们具有统 计规律性 ,所以可以用 概率统计方法 来进行处理。比如,可以用随机变量描述数据中的特征

监督学习supervised learning

会有一股神秘感。 提交于 2020-01-30 21:57:58
#1定义:给出一个算法,需要部分数据集已经有正确答案。比如给定房价数据集:对于里面的每个数据,算法都知道对应的正确房价,即这个房子最终卖出的价格。 #2总结:监督学习实际上就是通过一种算法,在给定的数据集中直接做出一种结果的计算,当你输入一个条件时,直接根据计算结果得出结论。 ##比如:①房屋大小 与 出售价格 的关系:已有的数据→算法→所有的出售价格,当我想要知道100㎡可以卖多少钱时,可以直接得出预测结果。②年龄、肿瘤大小、恶性良性:在已有的数据中,根据年龄和肿瘤大小→算法→恶性良性,当以为病人知道报出了自己的年龄和肿瘤的大小时,直接在结果中进行查找对应的条件就得出了肿瘤是否为恶心还是良性。 这就是监督学习:即预测正确的答案。 来源: CSDN 作者: lmq3238466 链接: https://blog.csdn.net/lmq3238466/article/details/104117303