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

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

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. Shell脚本获得变量值作为新变量一部分的值

    最近使用shell写一个发布脚本时,由于shell编程是边学便用的缘故,经验不足,中间遇到一个问题,一个变量的值作为一个新变量的一部分,而我要根据变量获得新变量的值,以前没有遇到过.网络搜索一番,最后 ...

  2. 如果jsp提交到action为空指针的话

    很严重的一点:表单<form>有没有添加一个method="post",如果表单的这个没有写,肯定是空指针, 哎,被这个坑爹的代码,查了好久,特此记录下

  3. 使用注解实现IOC

    在biz业务处理类实现类中 /** * 用户业务类,实现对User功能的业务管理 */ @Service("userBiz") public class UserBiz imple ...

  4. C#验证是否是真的图片格式

    做图片上传功能时,我们要限制用户上传的图片格式和大小. 但是,还有一种情况就是验证用户伪造的符合要求的图片,这种情况就必须要验证文件的真正格式. C#的办法时可以通过将文件读成二进制流,取前两个字节判 ...

  5. 一张图解释Hadoop IPC

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

  6. Java中的final修饰符

    1.什么时候可以选择final修饰符 如果想让一个类不被其他类继承,不允许在有子类,这时候就要考虑用到final来修饰. 2.用final修饰的类 首先大家要明白,用final修饰的类是不能被继承的, ...

  7. [Effective JavaScript 笔记]第18条:理解函数调用、方法调用及构造函数调用之间的不同

    面向对象编程中,函数.方法.类的构造函数是三种不同的概念. JS中,它们只是单个构造对象的三种不同的使用模式. 三种不同的使用模式 函数调用 function hello(username){ ret ...

  8. 快还要更快,让PHP 7 运行更加神速

    导读 PHP 7 比5.x 快上很多,即使只有单纯的版本升级就已经很有感,不过大家还是希望它变得越来越快,这时再做些小调整就会更有fu,Let's try it! 事前准备 说到PHP 7,那一定跑不 ...

  9. 即时聊天 / XMPP

    MQTT是第二个即时聊天协议(了解) 5.即时通讯 即时通讯网上有第三方的解决方案,比如环信,融云等.我们是自己搭的xmpp服务器,服务器使用的tigase,之前写过相关的博客,自己去年也做了对应的w ...

  10. sql注入学习小结

    /* 转载请注明出处,By:珍惜少年时 小知识,只是放在博客吃饭时无聊看看,大牛勿喷. */ 珍惜少年时博客,专注网络安全 web渗透测试 00x1爆所有库: mysql> select sch ...