浅谈linear regression和logistic regression的概率理解

本文探讨了机器学习课程中概率统计与回归模型的重要性,深入分析了线性回归与逻辑回归的数学背景及实际应用。通过解析模型原理与优化目标,解释了如何利用概率论方法最大化似然来求解最优参数。同时,对比两种回归方法在分类问题中的差异,采用最大似然方法调整参数以提高预测准确性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在学习斯坦福的机器学习课程,发现这类人工智能的东西都跟概率统计意义结合紧密,这里就阐述一下自己的理解。

1.linear regression

在线性回归中我们是用线性模型ΘTX来拟合feature和target的线性关系的,其中Θ是确定的。但是我们拟合的线性模型并不能完全准确的拟合数据,所以当我们将真实的观测数据带入到模型中会产生误差,我们用y(i)Tx(i) +ε(i)  来表示,误差由于是由多种因素产生,根据中心极限定理以及我们平时对误差的一般假设,都可以将其看做服从期望为0的正态分布,将误差看做随机变量的话,y(i) 也可以看做随机变量,其服从期望为ΘTx(i)的正态分布。

由于线性回归大多情况下是用来做预测,例如根据房子的大小,设备的齐全性等对其价格做预测(当然这里选择的feature如大小、齐全性在常识下是和价格是呈线性关系的),把线性回归看做系统的话,输入为一个或者多个feature,输出为一个值。我们拥有的是一组已经观测好的样本(x(i),y(i)),我们的目标是通过样本的训练得到一个Θ。那么训练的依据是什么呢?很直观的想法是我们得到的Θ要使ΘTx(i)和y(i)尽量接近,当然就产生了残差的平方和最小作为代价函数。但如果我们从概率去思考,让ΘTx(i)和y(i)尽量接近,也就是让P(y(i)|x(i);Θ)最大,这就是最大似然方法(其实似然和概率在表达式上是一回事,只是关注的变量不同)。至于具体的推导,课程的note上有详细的过程。

2.logistic regression

这个逻辑回归才是我比较想谈的问题,相比线性回归它的概率意义要稍微难理解一点,但是核心思想差不多。参考别人写的东西:该回归用于分类,只是在线性回归的结果上使用了一个logistic function对线性的结果进行了映射,使结果在[0,1]内变化。个人认为,按照前面的分析方法,将其看做一个系统,输入也是一个或者多个feature,而输出就两个值(假设只分为两类),0和1,大多数都这样假设,其他任何两个值在理论上都是可以的吧,也就是两个值代表两个类别吧。至于怎样根据给定的样本进行训练,我对note上的写法,一来就搞出来一个伯努利分布,感觉比较突兀,个人能力不够,理解不通。但是我沿袭前面的思考方法,就是调整Θ使得hΘ (x(i))和y(i)接近,有一点不同就是我们的y只有两个值0和1。下面假设我们有两组样本(x(1),1)和(x(2),0),对第一个样本我们就希望hΘ (x(1))尽量大从而接近1,对第二个样本我们希望hΘ (x(2))尽量小接近0(换句话说我们就希望1-hΘ (x(2))尽量大)。写成一个更精练的式子就是,不论对x(1)还是x(2),我们都希望hΘ (x(i))y(i)(1-hΘ (x(i)))1-y(i)尽量大,将我举的两个样本带入就可以化简为能理解的式子,恰好这个式子就是参数为hΘ (x(i))的伯努利分布的概率密度,随机变量为y(i)。接下来同样是使用最大似然来求取theta即可。

这两种回归都是generalized linear model的特例,东西的理解对我这类小白还是有难度的,在学习过后也争取谈谈自己的理解吧。

 

转载于:https://www.cnblogs.com/ideawu1001/archive/2012/11/07/2759425.html

### 线性回归逻辑回归的区别 线性回归是一种用于预测连续变量的方法,其假设因变量 \( y \) 自变量 \( X \) 之间存在线性关系。模型通过最小化实际观测值预测值之间的平方差来拟合数据[^1]。 逻辑回归则主要用于分类问题,特别是二元分类。尽管名字中有“回归”,但实际上它是一个分类算法。逻辑回归利用 Sigmoid 函数将输入映射到 [0, 1] 的概率空间内,从而实现类别归属的概率估计[^2]。 #### 数学表达形式差异 对于线性回归而言,目标是最小化损失函数: \[ J(\theta)=\frac{1}{2m}\sum_{i=1}^{m}(h_\theta(x^{(i)})-y^{(i)})^2 \] 其中 \( h_\theta(x) = \theta_0+\theta_1x_1+...+\theta_nx_n \),即线性组合的形式。 而逻辑回归采用的是最大似然估计法求解参数,并且输出经过Sigmoid转换后的结果作为类别的概率分布: \[ P(y=1|x;\theta )=\frac {e^{\theta ^T x}}{1 + e^{\theta ^T x}},P(y=0|x;\theta )=\frac {1}{1 + e^{\theta ^T x}} \] ```python from sklearn.linear_model import LogisticRegression, LinearRegression import numpy as np # Example data generation for demonstration purposes only. X_linear = np.random.rand(100, 1)*10 Y_linear = 3*X_linear.squeeze() + 4 + np.random.randn(100) model_lr = LinearRegression() model_lr.fit(X_linear, Y_linear) print(f'Linear Regression Coefficients: {model_lr.coef_[0]}') X_logistic = np.vstack((np.ones_like(Y_linear), Y_linear)).T Y_logistic = (Y_linear > np.median(Y_linear)).astype(int) model_lg = LogisticRegression(solver='lbfgs') model_lg.fit(X_logistic[:, :-1], Y_logistic) print(f'Logistic Regression Coefficient: {model_lg.coef_[0][0]}') ``` ### 应用场景对比 当面对数值型的目标变量时,比如房价、温度等可以取任意实数的情况,应该优先考虑使用 **线性回归** 来建立预测模型;而对于离散的选择项或是事件发生的可能性评估,则更适合应用 **逻辑回归** 进行处理,例如判断邮件是否为垃圾邮件、客户是否会购买产品等问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值