回归和分类的区别

分类模型和回归模型本质一样,分类模型是将回归模型的输出离散化。

举几个例子:

1. Logistic Regression 和 Linear Regression:

  • Linear Regression: 输出一个标量 wx+b,这个值是连续值,所以可以用来处理回归问题。
  • Logistic Regression:把上面的 wx+b 通过 sigmoid函数映射到(0,1)上,并划分一个阈值,大于阈值的分为一类,小于等于分为另一类,可以用来处理二分类问题。
  • 更进一步:对于N分类问题,则是先得到N组w值不同的 wx+b,然后归一化,比如用 softmax函数,最后变成N个类上的概率,可以处理多分类问题。

2. Support Vector Regression 和 Support Vector Machine:

  • SVR:输出 wx+b,即某个样本点到分类面的距离,是连续值,所以是回归模型。

  • SVM:把这个距离用 sign(·) 函数作用,距离为正(在超平面一侧)的样本点是一类,为负的是另一类,所以是分类模型。

3. 神经网络用于 分类 和 回归:

  • 用于回归:最后一层有m个神经元,每个神经元输出一个标量,m个神经元的输出可以看做向量 v,现全部连到一个神经元上,则这个神经元输出wv+b,是一个连续值,可以处理回归问题,跟上面 Linear Regression 思想一样。

  • 用于N分类:现在这m个神经元最后连接到 N 个神经元,就有 N 组w值不同的 wv+b,同理可以归一化(比如用 softmax )变成
    N个类上的概率。

拓展: 上面的例子其实都是从 prediction 的角度举例的,如果从training角度来看,分类模型和回归模型的目标函数不同,分类常见的是 log loss, hinge loss, 而回归是 square loss。

1.回归问题的应用场景

回归问题通常是用来预测一个值,如预测房价、未来的天气情况等等,例如一个产品的实际价格为500元,通过回归分析预测值为499元,我们认为这是一个比较好的回归分析。一个比较常见的回归算法是线性回归算法(LR)。另外,回归分析用在神经网络上,其最上层是不需要加上softmax函数的,而是直接对前一层累加即可。回归是对真实值的一种逼近预测。

2.分类问题的应用场景

分类问题是用于将事物打上一个标签,通常结果为离散值。例如判断一幅图片上的动物是一只猫还是一只狗,分类通常是建立在回归之上,分类的最后一层通常要使用softmax函数进行判断其所属类别。分类并没有逼近的概念,最终正确结果只有一个,错误的就是错误的,不会有相近的概念。最常见的分类方法是逻辑回归,或者叫逻辑分类。

3.如何选择模型

下面一幅图可以告诉实际应用中我们如何选择合适的模型。
这里写图片描述

转载于:https://www.cnblogs.com/soyo/p/7787743.html

### 机器学习中分类回归区别及应用场景 #### 1. 定义目标 - **分类**是一种监督学习任务,旨在将输入数据分配到预定义的离散类别或标签中。例如,判断一张图片中的动物是猫还是狗[^3]。分类问题的核心在于寻找最优决策边界,以便最大程度地区分不同的类别。 - **回归**则是另一种形式的监督学习,专注于预测连续型数值输出。典型例子包括根据房屋面积其他属性预测房价[^4]。回归分析的主要目的是发现并建模自变量因变量之间存在的关系。 #### 2. 输出类型 - 对于**分类模型**, 其输出为有限集合内的成员身份指示器 (如布尔值、整数编码)[^5]. 这种情况下不存在“接近”的概念—某个实例要么属于某类, 要么不属于. - 反观**回归模型**, 则返回实数值作为响应变量估计值的一部分; 此处允许存在不同程度上的误差容忍度. #### 3. 应用场景举例 | 类别 | 描述 | |------------|---------------------------------------------------------------------------------------| | 分类 | - 邮件过滤系统区分垃圾邮件否<br>- 医疗诊断程序判定患者是否有某种病症 | | 回归 | - 房地产市场估值服务依据房产特性推测售价<br>- 天气预报平台预计每日降水量 | #### 4. 性能衡量标准 由于两类任务的本质差异决定了它们各自适用的不同评价尺度: - 在评估**分类效果**时常采用混淆矩阵衍生的各项统计量, 如准确率(Precision), 召回率(Recall) F1得分(F1-Score); - 至于**回归表现**, 更倾向于依赖量化残差分布特性的测度, 比如均方根误差(RMSE), 平均绝对偏差(MAE) 或决定系数 R² . ```python # 示例代码片段展示了如何利用sklearn库分别执行简单线性回归KNN分类操作: from sklearn.linear_model import LinearRegression from sklearn.neighbors import KNeighborsClassifier # 初始化回归对象 regressor = LinearRegression() # 初始化分类对象 classifier = KNeighborsClassifier(n_neighbors=3) # 假设 X_train, y_train 已经准备好... # 训练回归模型 regressor.fit(X_train, y_train) # 训练分类模型 classifier.fit(X_train, y_labels) ``` --- ### 参数说明 - `LinearRegression`: 实现了经典的最小二乘法求解路径, 主要针对数值型目标变量做预测工作. - `KNeighborsClassifier`: 使用最近邻法则来进行判别归属哪一类别的算法代表作之一.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值