【ML入门系列】(二)分类与回归
前言
在机器学习中,“分类”和“回归”这两个词经常听说,但很多时候我们却混为一谈。本文主要从应用场景、训练算法等几个方面来叙述两者的区别。
本质区别
分类和回归的区别在于输出变量的类型。分类的输出是离散的,回归的输出是连续的。
定量输出称为回归,或者说是连续变量预测; 定性输出称为分类,或者说是离散变量预测。
若我们欲预测的是离散值,例如"好瓜""坏瓜",此类学习任务称为 "分类"。
若欲预测的是连续值,例如西瓜的成熟度0.95 ,0.37,此类学习任务称为"回归"。《机器学习》周志华著
分类就是想办法让一堆数据站队,找出最符合其自身特征的群体。
例:有群体y=x和y=-x,数据集(1,1) (-2,2) (3,-3) (-4,-4)... (n,n),(1,1),(-4,-4)就符合群体y=x,(-2,2) (3,-3)就符合群体y=-x。
回归就是数学意义上的找出一个函数,让某些数据尽量符合这个函数的特征。例如线性回归(Linear Regression,LR)。
例:(1,1) (2,2) (3,3) ... (n,n)这些数据回归后的结果就是函数 y = x。

举例说明:
- 预测明天的气温是多少度,这是一个回归任务;
- 预测明天是阴、晴还是雨,就是一个分类任务。
应用场景
分类问题
分类问题是用于将事物打上一个标签,通常结果为离散值。例如判断一幅图片上的动物是一只猫还是一只狗,分类通常是建立在回归之上,分类的最后一层通常要使用softmax函数进行判断其所属类别。
分类并没有逼近的概念,最终正确结果只有一个,错误的就是错误的,不会有相近的概念。最常见的分类方法是逻辑回归,或者叫逻辑分类。
回归问题
回归问题通常是用来预测一个值,如预测房价、未来的天气情况等等,例如一个产品的实际价格为500元,通过回归分析预测值为499元,我们认为这是一个比较好的回归分析。
一个比较常见的回归算法是线性回归算法(LR)。另外,回归分析用在神经网络上,其最上层是不需要加上softmax函数的,而是直接对前一层累加即可。回归是对真实值的一种逼近预测。
总结
解决的问题类型
分类问题是从不同类型的数据中学习到这些数据间的边界,比如通过鱼的体长、重量、鱼鳞色泽等维度来分类鲶鱼和鲤鱼,这是一个定性问题。
回归问题则是从同一类型的数据中学习到这种数据中不同维度间的规律,去拟合真实规律,比如通过数据学习到面积、房间数、房价几个维度的关系,用于根据面积和房间数预测房价,这是一个定量问题;
【ML入门系列】(二)分类与回归的更多相关文章
- Maven入门系列(二)--设置中央仓库的方法
原文地址:http://www.codeweblog.com/maven入门系列-二-设置中央仓库的方法/ Maven仓库放在我的文档里好吗?当然不好,重装一次电脑,意味着一切jar都要重新下载和发布 ...
- mybatis入门系列二之输入与输出参数
mybatis入门系列二之详解输入与输出参数 基础知识 mybatis规定mapp.xml中每一个SQL语句形式上只能有一个@parameterType和一个@resultType 1. 返回 ...
- C语言高速入门系列(二)
C语言高速入门系列(二) -----转载请注明出处coder-pig 本节引言: 在前面一节中我们对C语言进行了初步的了解,学会了使用IDE进行代码的编写,编译执行! 在这一节中我们会对C语言的基本的 ...
- C# 互操作性入门系列(二):使用平台调用调用Win32 函数
好文章搬用工模式启动ing ..... { 文章中已经包含了原文链接 就不再次粘贴了 言明 改文章是一个系列,但只收录了2篇,原因是 够用了 } --------------------------- ...
- [转]C# 互操作性入门系列(二):使用平台调用调用Win32 函数
传送门 C#互操作系列文章: C# 互操作性入门系列(一):C#中互操作性介绍 C# 互操作性入门系列(二):使用平台调用调用Win32 函数 C# 互操作性入门系列(三):平台调用中的数据封送处理 ...
- 二分类Logistic回归模型
Logistic回归属于概率型的非线性回归,分为二分类和多分类的回归模型.这里只讲二分类. 对于二分类的Logistic回归,因变量y只有“是.否”两个取值,记为1和0.这种值为0/1的二值品质型变量 ...
- ActiveMQ入门系列二:入门代码实例(点对点模式)
在上一篇<ActiveMQ入门系列一:认识并安装ActiveMQ(Windows下)>中,大致介绍了ActiveMQ和一些概念,并下载.安装.启动他,还访问了他的控制台页面. 这篇,就用代 ...
- SPSS数据分析—二分类Logistic回归模型
对于分类变量,我们知道通常使用卡方检验,但卡方检验仅能分析因素的作用,无法继续分析其作用大小和方向,并且当因素水平过多时,单元格被划分的越来越细,频数有可能为0,导致结果不准确,最重要的是卡方检验不能 ...
- spring cloud 入门系列二:使用Eureka 进行服务治理
服务治理可以说是微服务架构中最为核心和基础的模块,它主要用来实现各个微服务实例的自动化注册和发现. Spring Cloud Eureka是Spring Cloud Netflix 微服务套件的一部分 ...
随机推荐
- Java并发程序设计(二)Java并行程序基础
Java并行程序基础 一.线程的生命周期 其中blocked和waiting的区别: 作者:赵老师链接:https://www.zhihu.com/question/27654579/answer/1 ...
- C# virtual、abstract
(1) virtual:修饰的方法必须有实现 abstract:修饰的方法一定不能实现 (2) virtual:可被子类重写, 子类中必须用overide修饰 abstract:必须被子类重写 (3) ...
- 潭州课堂25班:Ph201805201 django 项目 第三十五课 后台用户权限的添加 mixins 课堂笔记)
验证用户登录: 对一个视图函数进行登录权限验证,(登录后才可以访问,否则重定向到登录页面) #from django.contrib.auth.decorators import login_requ ...
- mongodb数据导入导出
1.导出: 2.导入: 注意headline,导入一定要跳过第一行,第一行是列名
- 编程菜鸟的日记-初学尝试编程-C++ Primer Plus 第5章编程练习1
#include <iostream>using namespace std;int main(){ int min,max; cout<<"Enter the mi ...
- html页面布局之table布局:
table布局: table来做整体页面的布局,布局技巧归纳如下: (1)按照设计图的尺寸设置表格的宽高以及单元格的宽高 (2)将表格的border.cellpadding.cellspacing全部 ...
- django部署admin后台static文件丢失问题解决
settings.py 中进行设置 设置static文件目录 STATIC_ROOT = os.path.join(BASE_DIR, 'static').replace('\\','/') 运行命令 ...
- RFC-TCP
RFC: 793 TRANSMISSION CONTROL PROTOCOL DARPA INTERNET PROGRAM PROTOCOL SPECIFICATION September 1981 ...
- tmux终端工具的简单使用
Linux上管理和运行进程除了程序级别的守护进程之外,经常用到的有比如nohup &的方式,以及screen会话的方式,而Tmux正是一个非常优秀的终端进程管理的软件,和GNU screen类 ...
- [JS]常见JS错误之一:Uncaught SyntaxError: Unexpected identifier
在编写JS时如果创建变量没有用var而是使用了变量的类型,如: MyClass c=new MyClass(); 这样的错误Java程序员容易犯,也许不经意就写出来了,然后chrome的开发者工具里会 ...