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

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、监督学习的更多相关文章
- (转载)[机器学习] Coursera ML笔记 - 监督学习(Supervised Learning) - Representation
[机器学习] Coursera ML笔记 - 监督学习(Supervised Learning) - Representation http://blog.csdn.net/walilk/articl ...
- ML之监督学习算法之分类算法一 ——— 决策树算法
一.概述 决策树(decision tree)的一个重要任务是为了数据中所蕴含的知识信息,因此决策树可以使用不熟悉的数据集合,并从中提取出一系列规则,在这些机器根据数据创建规则时,就是机器学习的过程. ...
- ML之监督学习算法之分类算法一 ———— k-近邻算法(最邻近算法)
一.概述 最近邻规则分类(K-Nearest Neighbor)KNN算法 由Cover 和Hart在1968年提出了最初的邻近算法, 这是一个分类(classification)算法 输入基于实例的 ...
- ML Lecture 0-2: Why we need to learn machine learning?
在Github上也po了这个系列学习笔记(MachineLearningCourseNote),觉得写的不错的小伙伴欢迎来给项目点个赞哦~~ ML Lecture 0-2: Why we need t ...
- 【ML入门系列】(三)监督学习和无监督学习
概述 在机器学习领域,主要有三类不同的学习方法: 监督学习(Supervised learning) 非监督学习(Unsupervised learning) 半监督学习(Semi-supervise ...
- 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 ...
- [OpenCV] Samples 02: [ML] kmeans
注意Mat作为kmeans的参数的含义. 扩展:高维向量的聚类. #include "opencv2/highgui.hpp" #include "opencv2/cor ...
- 机器学习入门02 - 深入了解 (Descending into ML)
原文链接:https://developers.google.com/machine-learning/crash-course/descending-into-ml/ 线性回归是一种找到最适合一组点 ...
- [Machine Learning & Algorithm]CAML机器学习系列1:深入浅出ML之Regression家族
声明:本博客整理自博友@zhouyong计算广告与机器学习-技术共享平台,尊重原创,欢迎感兴趣的博友查看原文. 符号定义 这里定义<深入浅出ML>系列中涉及到的公式符号,如无特殊说明,符号 ...
随机推荐
- yum只下载而不安装软件包?
yum本身自带了两个选项, 用来只下载要安装的rpm包, 而并不实际安装包: yum --downloadonly --downloaddir=/root/Desktop rpm-name1 rpm ...
- shell 删除文件下的* (copy).jpg备份文件
shell编程中, 在for, while循环中为什么不用(), {} 不是没有; 而是因为(), {}做了其他用途: (): 执行命令组, 注意这个命令组是新开一个子shell中执行, 因此,括号 ...
- 怎样把excel一列分成多列
1,选定要分列的列. 2,点击“数据”-“分列”. 3,在选项栏中设置如图 4,选择分隔符 4,看,分开了吧!
- Java并发编程笔记—基础知识—实用案例
如何正确停止一个线程 1)共享变量的使用 中断线程最好的,最受推荐的方式是,使用共享变量(shared variable)发出信号,告诉线程必须停止正在运行的任务.线程必须周期性的核查这一变量(尤其在 ...
- 虚拟机里面安装Openfiler 2.99
简介 Openfiler 由rPath Linux驱动,它是一个基于浏览器的免费网络存储管理实用程序,可以在单一框架中提供基于文件的网络连接存储 (NAS) 和基于块的存储区域网 (SAN).Open ...
- [BZOJ3671][UOJ#6][NOI2014]随机数生成器
[BZOJ3671][UOJ#6][NOI2014]随机数生成器 试题描述 小H最近在研究随机算法.随机算法往往需要通过调用随机数生成函数(例如Pascal中的random和C/C++中的rand)来 ...
- 在ubuntu 15.04下安装VMware Tools
提出问题:在Ubuntu 15. 04版本上,不能实现剪贴板的共享 解决方法:发现没有装VMware Tools 安装VMware Tools步骤 1. 点击菜单栏,虚拟机 → 安装VMware工具 ...
- POJ 2492 并查集扩展(判断同性恋问题)
G - A Bug's Life Time Limit:10000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64u S ...
- nGrinder性能测试平台搭建(LVS压力测试)
1. nGrinder是什么 nGrinder是一个免费的.开放源代码的Web性能测试平台.运行在应用中间件服务器中运行.它由一个控制端和多个代理端组成.通过控制端(浏览器访问)建立测试场景,然后通过 ...
- 【Linux】为啥查某个进程的线程,查出来的所有线程的pid不一样啊
楼上说的linux线程和进程是一样的,这个说法是错误的. 看了楼主的问题,感觉楼主是被PID给弄混了,线程进程都会有自己的ID,这个ID就叫做PID,PID是不特指进程ID,线程ID也可以叫做PID. ...