对线性回归、逻辑回归、各种回归的概念学习

article/2025/9/27 1:35:54

回归问题的条件/前提:

1) 收集的数据

2) 假设的模型,即一个函数,这个函数里含有未知的参数,通过学习,可以估计出参数。然后利用这个模型去预测/分类新的数据。


1. 线性回归

假设 特征 和 结果 都满足线性。即不大于一次方。这个是针对 收集的数据而言。
收集的数据中,每一个分量,就可以看做一个特征数据。每个特征至少对应一个未知的参数。这样就形成了一个线性模型函数,向量表示形式:

clip_image005


这个就是一个组合问题,已知一些数据,如何求里面的未知参数,给出一个最优解。 一个线性矩阵方程,直接求解,很可能无法直接求解。有唯一解的数据集,微乎其微。

基本上都是解不存在的超定方程组。因此,需要退一步,将参数求解问题,转化为求最小误差问题,求出一个最接近的解,这就是一个松弛求解。


求一个最接近解,直观上,就能想到,误差最小的表达形式。仍然是一个含未知参数的线性模型,一堆观测数据,其模型与数据的误差最小的形式,模型与数据差的平方和最小:

clip_image006

这就是损失函数的来源。接下来,就是求解这个函数的方法,有最小二乘法,梯度下降法。


http://zh.wikipedia.org/wiki/%E7%BA%BF%E6%80%A7%E6%96%B9%E7%A8%8B%E7%BB%84

最小二乘法

是一个直接的数学求解公式,不过它要求X是列满秩的,

clip_image008

梯度下降法

分别有梯度下降法,批梯度下降法,增量梯度下降。本质上,都是偏导数,步长/最佳学习率,更新,收敛的问题。这个算法只是最优化原理中的一个普通的方法,可以结合最优化原理来学,就容易理解了。


2. 逻辑回归

逻辑回归与线性回归的联系、异同?

逻辑回归的模型 是一个非线性模型,sigmoid函数,又称逻辑回归函数。但是它本质上又是一个线性回归模型,因为除去sigmoid映射函数关系,其他的步骤,算法都是线性回归的。可以说,逻辑回归,都是以线性回归为理论支持的。

只不过,线性模型,无法做到sigmoid的非线性形式,sigmoid可以轻松处理0/1分类问题。


另外它的推导含义:仍然与线性回归的最大似然估计推导相同,最大似然函数连续积(这里的分布,可以使伯努利分布,或泊松分布等其他分布形式),求导,得损失函数。

\begin{align}J(\theta) = -\frac{1}{m} \left[ \sum_{i=1}^m y^{(i)} \log h_\theta(x^{(i)}) + (1-y^{(i)}) \log (1-h_\theta(x^{(i)})) \right]\end{align}

逻辑回归函数

f(t) = \frac{e^t}{e^t+1} = \frac{1}{1+e^{-t}},  表现了0,1分类的形式。

应用举例:

是否垃圾邮件分类?

是否肿瘤、癌症诊断?

是否金融欺诈?


3. 一般线性回归

线性回归 是以 高斯分布 为误差分析模型; 逻辑回归 采用的是 伯努利分布 分析误差。

而高斯分布、伯努利分布、贝塔分布、迪特里特分布,都属于指数分布。

clip_image040

而一般线性回归,在x条件下,y的概率分布 p(y|x) 就是指 指数分布.

经历最大似然估计的推导,就能导出一般线性回归的 误差分析模型(最小化误差模型)。


softmax回归就是 一般线性回归的一个例子。

有监督学习回归,针对多类问题(逻辑回归,解决的是二类划分问题),如数字字符的分类问题,0-9,10个数字,y值有10个可能性。

而这种可能的分布,是一种指数分布。而且所有可能的和 为1,则对于一个输入的结果,其结果可表示为:

\begin{align}h_\theta(x^{(i)}) =\begin{bmatrix}p(y^{(i)} = 1 | x^{(i)}; \theta) \\p(y^{(i)} = 2 | x^{(i)}; \theta) \\\vdots \\p(y^{(i)} = k | x^{(i)}; \theta)\end{bmatrix}=\frac{1}{ \sum_{j=1}^{k}{e^{ \theta_j^T x^{(i)} }} }\begin{bmatrix}e^{ \theta_1^T x^{(i)} } \\e^{ \theta_2^T x^{(i)} } \\\vdots \\e^{ \theta_k^T x^{(i)} } \\\end{bmatrix}\end{align}
参数是一个k维的向量。

而代价函数:
\begin{align}J(\theta) = - \frac{1}{m} \left[ \sum_{i=1}^{m} \sum_{j=1}^{k}  1\left\{y^{(i)} = j\right\} \log \frac{e^{\theta_j^T x^{(i)}}}{\sum_{l=1}^k e^{ \theta_l^T x^{(i)} }}\right]\end{align}
是逻辑回归代价函数的推广。


而对于softmax的求解,没有闭式解法(高阶多项方程组求解),仍用梯度下降法,或L-BFGS求解。


当k=2时,softmax退化为逻辑回归,这也能反映softmax回归是逻辑回归的推广。


线性回归,逻辑回归,softmax回归 三者联系,需要反复回味,想的多了,理解就能深入了。


4. 拟合:拟合模型/函数

由测量的数据,估计一个假定的模型/函数。如何拟合,拟合的模型是否合适?可分为以下三类

合适拟合

欠拟合

过拟合


看过一篇文章(附录)的图示,理解起来很不错:

 欠拟合:
逻辑回归欠拟合-我爱公开课-52opencourse.com


合适的拟合
逻辑回归合适的拟合-我爱公开课-52opencourse.com

过拟合
逻辑回归过拟合-我爱公开课-52opencourse.com

过拟合的问题如何解决?

问题起源?模型太复杂,参数过多,特征数目过多。

方法: 1) 减少特征的数量,有人工选择,或者采用模型选择算法

http://www.cnblogs.com/heaad/archive/2011/01/02/1924088.html (特征选择算法的综述)

     2) 正则化,即保留所有特征,但降低参数的值的影响。正则化的优点是,特征很多时,每个特征都会有一个合适的影响因子。


5. 概率解释:线性回归中为什么选用平方和作为误差函数?

假设模型结果与测量值 误差满足,均值为0的高斯分布,即正态分布。这个假设是靠谱的,符合一般客观统计规律。

数据x与y的条件概率:

clip_image016

若使 模型与测量数据最接近,那么其概率积就最大。概率积,就是概率密度函数的连续积,这样,就形成了一个最大似然函数估计敲打。对最大似然函数估计进行推导,就得出了求导后结果: 平方和最小公式


6. 参数估计 与 数据的关系

拟合关系


7. 错误函数/代价函数/损失函数:

线性回归中采用平方和的形式,一般都是由模型条件概率的最大似然函数 概率积最大值,求导,推导出来的。

统计学中,损失函数一般有以下几种:

1) 0-1损失函数

L(Y,f(X


http://chatgpt.dhexx.cn/article/5WiVdID1.shtml

相关文章

回归问题

回归 回归(regression) 是监督学习的另一个重要问题。 回归用于预测输入变量(自变量) 和输出变量(因变量) 之间的关系, 特别是当输入变量的值发生变化时, 输出变量的值随之发生的…

回归问题原理

回归问题是一种常见的监督机器学习任务,在很多领域均有广泛应用。其典型应用包括销量预测、库存预测、股票价格预测、天气预测等。本问将讨论线性回归,包括线性回归模型的目标函数(损失函数和正则函数)、线性回归模型的优化求解、…

机器学习之回归问题

目录 前言 一、回归定义 二、回归建模步骤 1.模型假设-线性模型(Linear Model) (1)一元线性模型 (2)多元线性模型 2.模型评估-损失函数(Loss Funtion) 3.最佳模型-梯度下降&…

mac idea jrebel 激活

jrebel 官网提供注册,然后会给你一个注册码 首先 idea 安装 jrebel . 在安装完成之后,点击以下按钮 一开始 跟我的不一样,我的是注册完成之后,才会显示Change license 的这个提示, 之前好像是 Activate now 提示,点击即可 当注册完成之后,关闭弹出框 选择上图中的值,去官网注…

安装jrebel并激活

1.File-Settings-Plugins搜索jrebel,找到JRebel for IntelliJ ,点击install(我这里已经安装过了,所以显示的是更新) 2.重启idea 3.激活步骤,下载工具 ①下载激活工具 连接:https://pan.baidu.com/s/1Fh2v2zrAO2u50ZnS9LHBOQ 提取码…

JRebel激活步骤

JRebel简介: JRebel是与应用程序服务器集成的JVM Java代理,可使用现有的类加载器重新加载类。只有更改的类会重新编译并立即重新加载到正在运行的应用程序中,JRebel特别不依赖任何IDE或开发工具(除编译器外)。但是&…

关于JRebel 激活

具体JRebel安装教程参考: https://blog.csdn.net/lmdsoft/article/details/93769089 本文提供JRebel激活 Demo JRebel address was: 【http://jrebel.qekang.com:80/48dc7f8c-019f-4cb8-85d7-99b0134b69d0】, with any email.

JRebel插件激活

JRebel,一款好用的 Spring 热部署插件。 1. 安装 注意:截至到目前为止,作者只找到了 2022.4.1 的激活方式,更高版本皆未激活成功。 1.1. IDEA 中直接安装 在插件市场中直接搜索:JRebel and XRebel 注意,这…

2019.9最新JRebel激活方式

原文链接 最近JRebel离线方式到期, idea报无法激活JRebel了, 找了很多以前的方式都无法生效, ip或域名都已经失效了, 好在找到了大神有效的激活方式,以下是激活步骤: 1. 下载反向代理软件 下载地址: https://github.com/ilanyu/ReverseProxy/releases根据自己的操作系统下载…

jrebel激活服务器搭建教程

jrebel是一款热部署插件,很好用,但是是收费的软件,本博客将搭建起一个jrebel激活服务器,如果条件允许,请购买正版lisence,请购买正版lisence,请购买正版lisence重要的事说三遍。 本博客激活是基于码云上的一个开源程序…

jrebel 激活

jrebel是ideal是的一款插件,是一个很好的热部署工具 -作用: 在项目启动过程中编译代码后,无需再次run或者debug,节省程序启动时间。 主要操作file—》settings—》plugins在搜索框中,输入jrebel点击右侧的install安装好…

JRebel激活失效解决

问题: 使用Jrebel运行项目时报错:Jrebel is not yet activated.Do you want to activate Jrebel now? 意思是插件未激活,需要激活插件 解决办法: 1. 下载代理软件:ReverseProxy,下载成功后双击打开(未成…

【IDEA】IDEA使用——IDEA中全局查找和全局替换

【IDEA】IDEA使用——IDEA中全局查找和全局替换 IDEA是一款优秀的Java IDE,全局查找和全局替换功能在学习和开发过程中使用的最为频繁,本文将简要总结其使用方法。 1.全局查找 面板位置:Edit > Find > Find In Path快捷键:…

IDEA全局替换--解决快捷键不起作用

看了网上的帖子: 使用快捷键后出来是酱紫的: 后来发现应该是这样: 输入完直接点enter键即可

IDEA中的全局批量替换正则表达式

目录 一. 常用搜索快捷键二. IDEA中常用的正则1. ^xxx:匹配以xxx开始的文件2. xxx$:搜索以xxx为结尾的文件3. .xxx:搜索包含字符串xxx的文件4. 复杂搜索例子 三. 正则表达式四. 常用字符五. 特殊字符六. 限定字符 一. 常用搜索快捷键 CTRL …

idea全局搜索替换快捷键

默认是:CtrlShiftR 如果不是继续看下面: 不是可能是你不是使用的idea默认的快捷键,或者之前更改过快捷键, 打开Setting(CtrlAltS)——>keymap——>搜索replace in path

mac idea实现全局替换

点击Edit ----- Find ----- Replace in Path 例如要把项目中的cc替换为aa 点击Replace All

IDEA 全局搜索全局替换快捷键

用惯eclips的可能ctrlh一个键就能搞定查找所有和替换全部. idea的全局搜索和替换是分开看用的. 此次记录为window idea默认快捷键使用 全局搜索:ctrlshiftf 全局替换: ctrlshiftr 文件内搜索:ctrlf 文件内替换:ctrlr 当然单独用ctrlshiftr 和 ctrlr 是完全可以替代ctrlshi…

fc nes CHR解读及使用gd2生成对应图片

首先,这个涉及比较古老的机器,估计也没什么人感兴趣,我在这里只是记录一下相关信息, 其实fc开发感觉相当于现在的单片机之类的开发,当然作为古老机种,可能模式和思路更古老,不及现在快速高效的…