机器学习算法原理、实现与实践——监督学习

机器学习包括监督学习、非监督学习、半监督学习及强化学习,这里先讨论监督学习。
监督学习的任务是学习一个模型,使模型能够对任意给定的输入,对其相应的输出做出一个好的预测。

1 基本概念

1.1 输入空间、特征空间与输出空间

输入与输出所有可能取值的集合分别称为输入空间输出空间

每个具体的输入是一个实例(instance),通常由特征向量(feature vector)表示,这时,所有特征向量存在的空间称为特征空间。特征空间的每一维对应于一个特征。有时假设输入空间与特征空间为相同的空间。有时假设为不同的空间,这里需要将输入空间映射于特征空间,这一过程称为特征提取。模型实际上都是定义在特征空间上的。在监督学习中,往往把输入空间看为特征空间。通常用$x$表示输入空间的一个实例
$$x = (x^{(1)},x^{(2)},\dots,x^{(i)},x^{(n)})^T$$

其中,$x^{(i)}$表示$x$的第$i$个特征。注意区分$x^{(i)}$与$x_i$,前者是一个实例中的第$i$维特征的值,而后者表示一个训练集中的第$i$个实例,它是一个向量。

监督学习从训练数据集合中学习模型,对测试数据进行预测。训练数据由输入(或特征向量)与输出对组成,训练集通常表示为:
$$T={(x_1,y_1),(x_2,y_2),\dots,(x_N,y_N)}$$

测试数据也是由相应的输入与输出对组成。
输入与输出变量均为连续变量的预测问题称为回归问题。输出变量为有限个离散变量的预测称为分类问题;输入变量与输出变量均为变量序列的预测问题称为标注问题

1.2 联合概率分布

监督学习假设输入与输出的随机变量$X$和$Y$遵循联合概率分布$P(X,Y)$。训练数据与测试数据被看作是依联合概率分布$P(X,Y)$独立同分布产生的。
对于要统计分析的数据,存在这样的联合概率分布$P(X,Y)$,这是监督学习对数据的基本假设。

1.3 假设空间

监督学习的目的在于学习一个输入到输出的映射,这一映射由模型来表示。但这样的映射往往不止一个,学习的目标在于找到最好的这样的模型。由这样的模型构成的集合就是假设空间。
监督学习的模型可以是概率模型或非概率模型。由条件概率分布$P(Y|X)$或决策函数$Y=f(X)$表示。

2 监督问题的形式化表示

监督学习利用训练数据集学习一个模型,再用模型对测试样本集进行预测。由于在这个过程中需要训练数据集,而训练数据集往往是人工给出的,所以称为监督学习。
监督学习分为学习和预测两个过程,由学习系统与预测系统完成,可以描述为下图。

首先给定一个训练数据集:
$$T={(x_1,y_1),(x_2,y_2),\dots,(x_N,y_N)}$$

其中$(x_i,y_i),i=1,2,\dots,N$,称为样本或样本点。$x_i$为一个输入的观测值,$y_i$为输出的观测值。
监督学习中,假设训练数据与测试数据是依联合概率分布$P(X,Y)$独立同分布产生的。

在学习的过程中,学习系统利用给定的训练数据集,通过学习得到一个模型,表示为条件概率分布$\hat{P}(Y|X)$或决策函数$Y=\hat{f}(X)$。

在预测过程中,预测系统对给定的测试样本集中的输入$x_{N+1}$,由模型$Y_{N+1} = arg \max_{y_{N+1}}\hat{P}(y_{N+1}|x_{N+1})$或$y_{N+1} = \hat{f}(x_{N+1})$给出相应的输出$y_n+1$

在学习的过程中,每一个$(x_i,y_i)$都会给模型带来一些信息,具体地说就是,对于输入$x_i$,一个具体的模型$y=f(x)$会产生一个输出$f(x_i)$,然后用$f(x_i)$与训练样本的输出$y_i$对比,然后学习模型会根据这个差距适当的自我调整,以保证下次再遇到$x_i$这个输入时,预测的比现在好。

ML 02、监督学习的更多相关文章

  1. (转载)[机器学习] Coursera ML笔记 - 监督学习(Supervised Learning) - Representation

    [机器学习] Coursera ML笔记 - 监督学习(Supervised Learning) - Representation http://blog.csdn.net/walilk/articl ...

  2. ML之监督学习算法之分类算法一 ——— 决策树算法

    一.概述 决策树(decision tree)的一个重要任务是为了数据中所蕴含的知识信息,因此决策树可以使用不熟悉的数据集合,并从中提取出一系列规则,在这些机器根据数据创建规则时,就是机器学习的过程. ...

  3. ML之监督学习算法之分类算法一 ———— k-近邻算法(最邻近算法)

    一.概述 最近邻规则分类(K-Nearest Neighbor)KNN算法 由Cover 和Hart在1968年提出了最初的邻近算法, 这是一个分类(classification)算法 输入基于实例的 ...

  4. ML Lecture 0-2: Why we need to learn machine learning?

    在Github上也po了这个系列学习笔记(MachineLearningCourseNote),觉得写的不错的小伙伴欢迎来给项目点个赞哦~~ ML Lecture 0-2: Why we need t ...

  5. 【ML入门系列】(三)监督学习和无监督学习

    概述 在机器学习领域,主要有三类不同的学习方法: 监督学习(Supervised learning) 非监督学习(Unsupervised learning) 半监督学习(Semi-supervise ...

  6. Google's Machine Learning Crash Course #02# Descending into ML

    INDEX How do we know if we have a good line Linear Regression Training and Loss How do we know if we ...

  7. [OpenCV] Samples 02: [ML] kmeans

    注意Mat作为kmeans的参数的含义. 扩展:高维向量的聚类. #include "opencv2/highgui.hpp" #include "opencv2/cor ...

  8. 机器学习入门02 - 深入了解 (Descending into ML)

    原文链接:https://developers.google.com/machine-learning/crash-course/descending-into-ml/ 线性回归是一种找到最适合一组点 ...

  9. [Machine Learning & Algorithm]CAML机器学习系列1:深入浅出ML之Regression家族

    声明:本博客整理自博友@zhouyong计算广告与机器学习-技术共享平台,尊重原创,欢迎感兴趣的博友查看原文. 符号定义 这里定义<深入浅出ML>系列中涉及到的公式符号,如无特殊说明,符号 ...

随机推荐

  1. C++_Eigen函数库用法笔记——Matrix and Vector Arithmetic

    Addition and subtraction Scalar multiplication and division Transposition Matrix-matrix and matrix-v ...

  2. SQL Server中的联合主键、聚集索引、非聚集索引、mysql 联合索引

    我们都知道在一个表中当需要2列以上才能确定记录的唯一性的时候,就需要用到联合主键,当建立联合主键以后,在查询数据的时候性能就会有很大的提升,不过并不是对联合主键的任何列单独查询的时候性能都会提升,但我 ...

  3. Linix常用命令

    uname -a    查看内核版本        ls -al    显示所有文件的属性 pwd         显示当前路径         cd -    返回上一次目录     cd ~    ...

  4. ExtJS学习之路第七步:contentEl与renderTo的区别

    上回在Panel的应用中我们应该能大致区分开conteEl和renderTo,这回我们从定义中区分. 在Panel的API中, contentEl:String指定一个现有的HTML元素或者id作为此 ...

  5. jQuery类库的设计

    目前为止,jquery是js社区中最活跃.用户最多的前端类库,具有链式操作.兼容性.基于数组的操作.强大的插件机制等特点,也是很多前端入门同学最早接触到的库.但是内部如何实现的,一直吸引着我.因此最近 ...

  6. 一张图解释Hadoop IPC

    基于hadoop2.6.2.... 一张图Server启动,Client访问..... RPC是IPC的一种,IPC还有另外一种LPC,相关请看参考中的3 使用hadoop ipc步骤: 1.定义RP ...

  7. cocos2d-x创建精灵动画方式汇总

    1.创建精灵框架缓存,并向其中添加相应的动画文件(plist),最后,通过动画集缓存生产动画 CCSpriteFrameCache *cache = CCSpriteFrameCache::share ...

  8. 自定义 array_map() 对应的递归函数 array_map_recursive()

    array_walk 有个原生递归函数 array_walk_recursive($arr, 'function', 'words'),但是 array_map 却没有对应的递归函数 array_ma ...

  9. js实现文本框限制输入数字和小数点--兼容多个浏览器

    <html> <head> <meta http-equiv="content-Type" content="text/html;chars ...

  10. [BZOJ1618][Usaco2008 Nov]Buying Hay 购买干草

    [BZOJ1618][Usaco2008 Nov]Buying Hay 购买干草 试题描述 约翰的干草库存已经告罄,他打算为奶牛们采购H(1≤H≤50000)磅干草. 他知道N(1≤N≤100)个干草 ...