ML--广义线性回归(线性回归、逻辑回归)

1.线性回归

1.1 线性模型(Linear Model)

给定数据集 D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ( x 3 , y 3 ) , . . . , ( x m , y m ) } D=\left \{ \left (x_{1}\mathbf{},y_{1} \right ),\left ( x_{2},y_{2} \right ),\left (x_{3},y_{3} \right ),...,\left (x_{m},y_{m} \right ) \right \} D={(x1,y1),(x2,y2),(x3,y3),...,(xm,ym)},其中 x i x_{i} xi d d d个特征,表示为 x i = ( x i 1 ; x i 1 ; . . . ; x i d ) x_{i}=\left ( x_{i1}; x_{i1};...;x_{id}\right ) xi=(xi1;xi1;...;xid),线性回归模型是通过 d d d个特征的线性组合对 y y y值进行拟合,即 f ( x i ) = w T x i + b f(x_{i})=w^{T}x_{i}+b f(xi)=wTxi+b,使得 f ( x i ) ≃ y i f(x_{i})\simeq y_{i} f(xi)yi

1.2 损失函数(Loss Function):Square Loss

  • 定义: L ( f ( x ) , y ) = ( f ( x ) − y ) 2 L(f(x),y)=(f(x)-y)^2 L(f(x),y)=(f(x)y)2

  • 为什么使用square loss作为损失函数:

(1)记误差 ε = y i − y i ^ \varepsilon=y_{i}-\hat{y_{i}} ε=yiyi^,假设误差独立同分布,根据中心极限定理, ε ∼ ( μ , σ 2 ) \varepsilon\sim(\mu,\sigma^2) ε(μ,σ2),得到 f ( ε ) = 1 σ 2 π e x p ( − ( ε − μ ) 2 2 σ 2 ) f(\varepsilon)=\frac{1}{\sigma\sqrt{2\pi}}exp(-\frac{(\varepsilon-\mu)^2}{2\sigma^2}) f(ε)=σ2π 1exp(2σ2(εμ)2),求 μ \mu μ σ 2 \sigma^2 σ2的极大似然估计,
L ( μ , σ 2 ) = ∏ i = 1 m 1 σ 2 π e x p ( − ( ε − μ ) 2 2 σ 2 ) L(\mu,\sigma^2)=\prod_{i=1}^{m}\frac{1}{\sigma\sqrt{2\pi}}exp(-\frac{(\varepsilon-\mu)^2}{2\sigma^2}) L(μ,σ2)=i=1mσ2π 1exp(2σ2(εμ)2),等式两边取对数,得到,
l o g L ( μ , σ 2 ) = − m 2 l o g 2 π − m 2 l o g σ 2 − ( ε − μ ) 2 2 σ 2 logL(\mu,\sigma^2)=-\frac{m}{2}log2\pi-\frac{m}{2}log\sigma^2-\frac{(\varepsilon-\mu)^2}{2\sigma^2} logL(μ,σ2)=2mlog2π2mlogσ22σ2(εμ)2,对 μ \mu μ σ 2 \sigma^2 σ2求偏导,得到
∂ L ∂ μ = 1 σ 2 ( ε − μ ) \frac{\partial{L}}{\partial{\mu}}=\frac{1}{\sigma^2}(\varepsilon-\mu) μL=σ21(εμ),
∂ L ∂ σ 2 = m 2 σ 2 + ( ε − μ ) 2 2 σ 4 \frac{\partial{L}}{\partial{\sigma^2}}=\frac{m}{2\sigma^2}+\frac{(\varepsilon-\mu)^2}{2\sigma^4} σ2L=2σ2m+2σ4(εμ)2,
∂ L ∂ μ = ∂ L ∂ σ 2 = 0 \frac{\partial{L}}{\partial{\mu}}=\frac{\partial{L}}{\partial{\sigma^2}}=0 μL=σ2L=0,得到: μ = 1 m ∑ i = 1 m ε i = 1 m ∑ i = 1 m ( y i − y i ^ ) \mu=\frac{1}{m}\sum_{i=1}^{m}\varepsilon_{i}=\frac{1}{m}\sum_{i=1}^{m}(y_{i}-\hat{y_{i}}) μ=m1i=1mεi=m1i=1m(yiyi^)趋近于0或越小越好 , σ 2 = 1 m ∑ i = 1 m ( ε i − μ ) 2 = 1 m ∑ i = 1 m ( y i − y i ^ − μ ) 2 ≈ 1 m ∑ i = 1 m ( y i − y i ^ ) 2 \sigma^2=\frac{1}{m}\sum_{i=1}^{m}(\varepsilon_{i}-\mu)^2=\frac{1}{m}\sum_{i=1}^{m}(y_{i}-\hat{y_{i}}-\mu)^2\approx\frac{1}{m}\sum_{i=1}^{m}(y_{i}-\hat{y_{i}})^2 σ2=m1i=1m(εiμ)2=m1i=1m(yiyi^μ)2m1i=1m(yiyi^)2趋近于0或越小越好,与最前面构建的平方形式损失函数本质上是等价的。
(2)误差的平方形式是正数。这样正的误差和负的误差不会相互抵消。
(3)与采用绝对值形式的比较:平方形式对大误差的惩罚大于小误差;平方形式对数学运算也更友好,绝对值形式在求导使需要分段求导。

  • 定义代价函数(cost function):
    J ( w , b ) = 1 2 m ∑ i = 1 m ( f ( x i ) − y i ) 2 J(w,b)=\frac{1}{2m}\sum_{i=1}^{m}(f(x_{i})-y_{i})^2 J(w,b)=2m1i=1m(f(xi)yi)2

1.3 求解

引入向量形式
θ = ( w , b ) , X = [ x 11 x 12 ⋯ x 1 d 1 x 21 x 22 ⋯ x 2 d 1 ⋮ ⋮ ⋱ ⋮ ⋮ x m 1 x m 2 ⋯ x m d 1 ] = [ x 1 T 1 x 2 T 1 ⋮ ⋮ x m T 1 ] \theta=(w,b),X=\begin{bmatrix} x_{11} & x_{12} & \cdots & x_{1d}&1 \\ x_{21} & x_{22} & \cdots & x_{2d}&1 \\ \vdots &\vdots & \ddots & \vdots&\vdots\\ x_{m1} & x_{m2} & \cdots & x_{md}&1 \end{bmatrix}=\begin{bmatrix} x_{1}^{T}&1 \\ x_{2}^{T}&1 \\ \vdots &\vdots \\ x_{m}^{T} & 1 \end{bmatrix} θ=(w,b),X=x11x21xm1x12x22xm2x1dx2dxmd111=x1Tx2TxmT111,
J ( θ ) = 1 2 ∑ i = 1 m ( h θ ( x i ) − y i ) 2 = 1 2 ( X θ − y ) T ( X θ − y ) J(\theta)=\frac{1}{2}\sum_{i=1}^{m}(h_{\theta}(x_{i})-y_{i})^2=\frac{1}{2}(X\theta-y)^T(X\theta-y) J(θ)=21i=1m(hθ(xi)yi)2=21(Xθy)T(Xθy)

1.3.1 最小二乘法(Least Square Method)

在线性回归中,最小二乘法就是试图找到一条直线,使所有样本到直线上的欧式距离之和最小。

求梯度
$\nabla_{\theta}J(\theta)
= ∇ θ ( 1 2 ( θ T X T − y T ) ( X θ − y ) ) =\nabla_{\theta}\left(\frac{1}{2}(\theta^TX^T-y^T)(X\theta-y)\right) =θ(21(θTXTyT)(Xθy))
= ∇ θ ( 1 2 ( θ T X T X θ − θ T X T y − y T X θ + y T y ) ) =\nabla_{\theta}\left(\frac{1}{2}(\theta^TX^TX\theta-\theta^TX^Ty-y^TX\theta+y^Ty)\right) =θ(21(θTXTXθθTXTyyTXθ+yTy))
= 1 2 ( 2 X T X θ − X T y − ( y T X ) T ) =\frac{1}{2}\left(2X^TX\theta-X^Ty-(y^TX)^T\right) =21(2XTXθXTy(yTX)T)
= X T X θ − X T y =X^TX\theta-X^Ty =XTXθXTy
令上式等于0,求驻点,则有 θ = ( X T X ) − 1 X T y \theta=(X^TX)^{-1}X^Ty θ=(XTX)1XTy,
则令 x i ^ = ( x i ; 1 ) \hat{x_{i}}=(x_{i};1) xi^=(xi;1)线性回归模型为 f ( X ) = x i ^ T ( X T X ) − 1 X T y f(X)=\hat{x_{i}}^T(X^TX)^{-1}X^Ty f(X)=xi^T(XTX)1XTy

1.3.2 梯度下降法(Gradient Descent)

1.初始化 θ \theta θ
2.沿着负梯度方向迭代,得到 θ = θ − α ⋅ ∂ J ∂ θ \theta=\theta-\alpha\cdot\frac{\partial J}{\partial \theta} θ=θαθJ,使得 J ( θ ) J(\theta) J(θ)更小, α \alpha α为学习率(learning rate)(也称为步长),
偏导计算
∂ J ∂ θ j = ( h θ ( x ) − y ) ⋅ ∂ ∂ θ j ( ∑ i = 1 m θ i x i − y ) = ( h θ ( x ) − y ) x j \frac{\partial J}{\partial \theta_{j}}=(h_{\theta}(x)-y)\cdot\frac{\partial }{\partial \theta_j}(\sum_{i=1}^{m}\theta_{i}x_{i}-y)=(h_{\theta}(x)-y)x_j θjJ=(hθ(x)y)θj(i=1mθixiy)=(hθ(x)y)xj
3.直至下降到无法下降时,停止计算

批量梯度下降法(Batch Gradient Descent):在更新参数时使用所有的样本来进行更新
随机梯度下降法(Stochastic Gradient Descent):仅选取一个样本来求梯度
小批量梯度下降法(Mini-batch Gradient Descent):对于m个样本,采用x个样本进行迭代

1.4 正则化(Regularization)

现实往往其变量数目超过样本数, X T X X^TX XTX不满秩,导致存在多个 θ ^ \hat{\theta} θ^,使得 J ( θ ) J(\theta) J(θ)最小化。此时,选择哪个解作为输出,由学习算法的归纳偏好决定,常见的做法是引入正则化项,通过减少参数 θ \theta θ的值,使得模型变得简单,避免过拟合。
正则化线性回归(regularized linear regression)的代价函数(cost function)为:

  • L1-norm(LASSO):
    假设参数的先验分布是Laplace分布,
    J ( θ ) = 1 2 ∑ i = 1 m ( h θ ( x i ) − y i ) 2 + λ ∑ i = 1 m ∣ θ j ∣ J(\theta)=\frac{1}{2}\sum_{i=1}^{m}(h_{\theta}(x_{i})-y_{i})^2+\lambda\sum_{i=1}^{m}|\theta_j| J(θ)=21i=1m(hθ(xi)yi)2+λi=1mθj
    L1范数可以实现稀疏化,而本质上对 θ \theta θ进行稀疏约束,即希望 θ \theta θ非零分量尽可能少,常用L0范数,但L0范数不连续,很难优化求解(NP问题)。而在求解向量足够稀疏的情况下,L0范数优化问题等价于L1范数优化问题,即各向量分量绝对值之和。
    L1的优势在于通过稀疏化可用于特征选择,但也因此导致局部特征没有完全体现出来。
  • L2-norm(Ridge):
    假设参数的先验分布是Gaussian 分布,
    J ( θ ) = 1 2 ∑ i = 1 m ( h θ ( x i ) − y i ) 2 + λ ∑ i = 1 m θ j 2 J(\theta)=\frac{1}{2}\sum_{i=1}^{m}(h_{\theta}(x_{i})-y_{i})^2+\lambda\sum_{i=1}^{m}\theta_j^2 J(θ)=21i=1m(hθ(xi)yi)2+λi=1mθj2
    为了解决L1没有保留局部特征的问题,引入L2范数替代L1范数。L2范数使得 θ \theta θ趋向于0, θ \theta θ越小使得模型的复杂度降低。
  • Elastic Net:
    J ( θ ) = 1 2 ∑ i = 1 m ( h θ ( x i ) − y i ) 2 + λ ( ρ ⋅ ∑ i = 1 m ∣ θ j ∣ + ( 1 − ρ ) ∑ i = 1 m θ j 2 ) J(\theta)=\frac{1}{2}\sum_{i=1}^{m}(h_{\theta}(x_{i})-y_{i})^2+\lambda\left(\rho\cdot\sum_{i=1}^{m}|\theta_j|+(1-\rho)\sum_{i=1}^{m}\theta_j^2\right) J(θ)=21i=1m(hθ(xi)yi)2+λ(ρi=1mθj+(1ρ)i=1mθj2)
    其中,L1正则项产生稀疏模型,L2正则项消除L1正则项中选择变量个数的限制(即稀疏性)。
    Elastic Net在高度相关变量的情况下,会产生群体效应;选择变量的数目没有限制;可以承受双重收缩。

2.广义线性回归(Generalized linear model,GLM)

2.1 定义

2.1.1 指数族分布

  • 给定随机变量 Y Y Y,观测值为 y y y,服从指数型分布,即有概率分布函数:
    p ( y ; η ) = b ( y ) e x p ( η T T ( y ) − a ( η ) ) p(y;η)=b(y)exp(η^TT(y)−a(η)) p(y;η)=b(y)exp(ηTT(y)a(η)),其中 η η η为自然参数(bature parameter), T ( y ) T(y) T(y)是充分统计量(sufficient statistic)。
  • 常见的指数族分布:伯努利分布、高斯分布、多项式分布、泊松分布、指数分布、伽马分布、贝塔分布、狄利克雷分布、维希特分布……

2.1.2 广义线性模型

GLM必须满足以下3个假设:

  • y ∣ x , θ ∼ E x p o n e n t i a l F a m i l y ( η ) y|x,\theta\sim ExponentialFamily(η) yx,θExponentialFamily(η)
  • 预测的值 h θ ( x ) = E [ T ( y ) ∣ x ] h_{\theta}(x)=E[T(y)|x] hθ(x)=E[T(y)x],通常 T ( y ) = y T(y)=y T(y)=y
    假设 E ( Y ) = μ E(Y)=\mu E(Y)=μ,且 μ \mu μ η \eta η由如下关系: g ( μ ) = η g(\mu)=\eta g(μ)=η,则 μ = g − 1 ( η ) \mu=g^{-1}(\eta) μ=g1(η), g ( μ ) g(\mu) g(μ)称之为联系函数(link function)。
  • η = θ T x η=\theta^Tx η=θTx

2.2 逻辑回归(Logistic Regression)

2.2.1 定义

  • y ∼ B ( 1 , φ ) y\sim B(1,\varphi) yB(1,φ)
    F ( y ) = φ y ( 1 − φ ) ( 1 − y ) F(y)=\varphi^y(1-\varphi)^{(1-y)} F(y)=φy(1φ)(1y)
    = e x p ( y l o g φ + ( 1 − y ) l o g ( 1 − φ ) ) =exp\left(ylog\varphi+(1-y)log(1-\varphi)\right) =exp(ylogφ+(1y)log(1φ))
    = e x p ( y l o g φ 1 − φ + l o g ( 1 − φ ) ) =exp\left(ylog\frac{\varphi}{1-\varphi}+log(1-\varphi)\right) =exp(ylog1φφ+log(1φ))
    由指数族分布可知, b ( y ) = 1 , η = l o g φ 1 − φ b(y)=1,η=log\frac{\varphi}{1-\varphi} b(y)=1,η=log1φφ(称为logit), T ( y ) = y , a ( η ) = − l o g ( 1 − φ ) T(y)=y,a(η)=-log(1-\varphi) T(y)=y,a(η)=log(1φ)
    得到, φ = 1 1 + e − η \varphi=\frac{1}{1+e^{-η}} φ=1+eη1(sigmoid函数)
  • h θ ( x ) = E [ T ( y ) ∣ x ] = φ h_{\theta}(x)=E[T(y)|x]=\varphi hθ(x)=E[T(y)x]=φ
  • η = θ T x η=\theta^Tx η=θTx
    由此得到 h θ ( x ) = 1 1 + e θ T x h_{\theta}(x)=\frac{1}{1+e^{\theta^Tx}} hθ(x)=1+eθTx1

2.2.2 损失函数(Loss Function)

loss function:对数损失, 即对数似然损失(Log-likelihood Loss), 也称逻辑斯谛回归损失(Logistic Loss)

L ( θ ) = ∏ i = 1 m P ( y ∣ x ; θ ) L(\theta)=\prod_{i=1}^{m}P(y|x;\theta) L(θ)=i=1mP(yx;θ)
= ∏ i = 1 m h θ ( x i ) y i ( 1 − h θ ( x i ) ) ( 1 − y i ) =\prod_{i=1}^{m}h_{\theta}(x_i)^{y_i}(1-h_{\theta}(x_i))^{(1-y_i)} =i=1mhθ(xi)yi(1hθ(xi))(1yi)
l o g L ( θ ) logL(\theta) logL(θ)
= ∑ i = 1 m l o g ( h θ ( x i ) y i ( 1 − h θ ( x i ) ) ( 1 − y i ) ) =\sum_{i=1}^{m}log(h_{\theta}(x_i)^{y_i}(1-h_{\theta}(x_i))^{(1-y_i)}) =i=1mlog(hθ(xi)yi(1hθ(xi))(1yi))
= ∑ i = 1 m [ y i l o g h θ ( x i ) + ( 1 − y i ) l o g ( 1 − h θ ( x i ) ) ] =\sum_{i=1}^{m}[y_ilogh_{\theta}(x_i)+(1-y_i)log(1-h_{\theta}(x_i))] =i=1m[yiloghθ(xi)+(1yi)log(1hθ(xi))]

cost function通过最小化负的对数似然函数得到:
J ( θ ) = − 1 m ∑ i = 1 m [ y i l o g h θ ( x i ) + ( 1 − y i ) l o g ( 1 − h θ ( x i ) ) ] J(\theta)=-\frac{1}{m}\sum_{i=1}^{m}[y_ilogh_{\theta}(x_i)+(1-y_i)log(1-h_{\theta}(x_i))] J(θ)=m1i=1m[yiloghθ(xi)+(1yi)log(1hθ(xi))]

为什么使用logitic loss而不是square loss

  • 极大似然法求解得到的结果与对数似然函数的结果是等价的(推导如上)

  • 逻辑回归的平方损失不是一个凸函数,不容易求解,得到的解是局部最优解。 对数损失是一个凸函数,且是关于 θ \theta θ的高阶连续可导的凸函数(证略,多元函数的海赛矩阵半正定是其为凸函数的充分必要条件)

2.2.3 求解

梯度下降法:同1.3.2

2.2.4 逻辑回归和线性回归的区别和联系

  • 两者都是属于广义线性回归的特殊情况

  • 线性回归是假设y服从高斯分布,逻辑回归假设y服从伯努利分布

  • 线性回归的损失函数是square loss,而逻辑回归的损失函数是logistic loss

2.2.5 优缺点

优点:
(1).模型的可解释性强,可以通过参数值看到特征对结果的影响(该值并不能代表特征的重要性)。
(2).模型的训练速度较快
(3).既可以得到分类结果也可以得到类别的概率值
缺点:
(1).模型的准确性不高
(2).数据不平衡时,对正负样本的区分能力差
(3).对模型中自变量多重共线性较为敏感
(4).不适合处理非线性数据,只能处理二分类的问题。
(5).sigmoid函数两端斜率小,模型输出的概率值变化小,中间段斜率大,概率变化大。这导致特征某些区间的数值变化对概率的影响较大。

现实场景中,应用逻辑回归往往先进行特征归一化、特征离散化和交叉化处理

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
拟(Generalized Linear Model,简称GLM)是一种广泛应用于分类和回归问题的统计模型。逻辑回归是GLM的一种特殊情况,用于解决二分类问题。 在逻辑回归中,我们希望根据输入变量的线性组合来预测一个二元变量的概率。逻辑回归使用逻辑函数(也称为sigmoid函数)将线性输出转换为概率值。逻辑函数的公式如下: p = 1 / (1 + exp(-z)) 其中,p表示概率值,z表示线性组合的结果。线性组合的计算可以表示为: z = b0 + b1*x1 + b2*x2 + ... + bn*xn 其中,b0,b1,b2...bn分别表示模型的参数(也称为系数),x1,x2...xn表示输入变量。 逻辑回归模型的训练过程是通过最大似然估计来确定参数的值,使得模型预测的概率最大化与实际观测结果的概率相符。 逻辑回归具有以下优点: - 简单易实现:模型参数的估计相对简单,可以通过常用的优化算法进行求解。 - 可解释性强:可以通过参数的值来解释变量对结果的影响程度。 - 可以处理线性可分和线性不可分的问题。 然而,逻辑回归也有一些局限性: - 只能处理二分类问题:逻辑回归只能对二元变量进行分类,无法直接处理多分类问题。 - 对线性关系敏感:逻辑回归假设输入变量与输出变量之间存在线性关系,对非线性关系的拟合能力较弱。 总的来说,逻辑回归是一种强大的分类模型,特别适用于二分类问题。在实际应用中,可以通过特征工程和模型优化来提高逻辑回归的性能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值