[机器学习导论]——第二课——线性回归与逻辑回归

文章目录

  • 第二课——线性回归与逻辑回归
    • 线性回归
      • 梯度下降法求解
        • 复习梯度
        • 梯度下降求解
        • 随机梯度下降法
      • 正规方程法求解
      • 三种求解方法的比较
    • 多项式回归
    • 模型评估
      • 留出法
      • 交叉验证
    • 性能度量
      • 均方误差
      • 错误率与精度
      • accuracy、precision与recall
    • 逻辑回归
      • 极大似然估计
      • 系数求解
    • 逻辑回归与线性回归的比较
    • 线性回归的概率解释
    • 参考资料

第二课——线性回归与逻辑回归

线性回归

机器学习中的线性回归

[机器学习导论]——第二课——线性回归与逻辑回归_第1张图片

当输入变量的特征/属性数目变为时,线性回归模型表示为:
f ( x ) = θ 0 + θ 1 x 1 + . . . + θ p x p f(x)=\theta_0+\theta_1x_1+...+\theta_px_p f(x)=θ0+θ1x1+...+θpxp
向量积表达形式为
f ( X ) = ∑ i = 0 p θ i x i = θ T x = x T θ θ = [ θ 0 θ 1 . . . θ p ] x T = [ ( x 0 = 1 ) , x 1 , x 2 , . . . , x p ] f(X)=\sum^p_{i=0}\theta_ix_i=\theta^Tx=x^T\theta\\ \theta=\begin{bmatrix} \theta_0\\ \theta_1\\...\\ \theta_p \end{bmatrix} \qquad x^T=[(x_0=1),x_1,x_2,...,x_p] f(X)=i=0pθixi=θTx=xTθθ=θ0θ1...θpxT=[(x0=1),x1,x2,...,xp]
多元线性回归的目标是选择一个最优的,使得预测输出()与实际输出之间的差别尽可能小

使用均方误差和来衡量损失(假设一共有n个样本)
J ( θ ) = 1 2 ∑ i = 1 n ( x i T θ − y i ) 2 J(\theta)=\frac{1}{2}\sum^n_{i=1}(x_i^T\theta-y_i)^2 J(θ)=21i=1n(xiTθyi)2
线性回归目标:求解参数使损失函数 J ( θ ) J(\theta) J(θ)的值达到最小。

几何意义:试图找到一个超平面,使所有样本到超平面上的欧式距离之和最小

隐含假设:误差(预测 θ T x i \theta^T x_i θTxi与真实输出 差异)服从服从独立同分布的高斯分布

梯度下降法求解

复习梯度

梯度的本意是一个向量(矢量),表示某一函数在该点处的方向导数沿着该方向取得最大值,即函数在该点处沿着该方向(此梯度的方向)变化最快,变化率最大(为该梯度的模)。

设二元函数 z = f ( x , y ) z=f(x,y) z=f(x,y)在平面区域D上具有一阶连续偏导数,则对于每一个点P(x,y)都可定出一个向量

,该函数就称为函数 z = f ( x , y ) z=f(x,y) z=f(x,y)在点P(x,y)的梯度,记作gradf(x,y)或 ∇ f ( x , y ) \nabla f(x,y) f(x,y),即有:
g r a d f ( x , y ) = ∇ f ( x , y ) = { ∂ f ∂ x , ∂ f ∂ y } = f x ( x , y ) i ⃗ + f y ( x , y ) j ⃗ gradf(x,y)=\nabla f(x,y)=\{\frac{\partial f}{\partial x},\frac{\partial f}{\partial y}\}=f_x(x,y)\vec{i}+f_y(x,y)\vec{j} gradf(x,y)=f(x,y)={xf,yf}=fx(x,y)i +fy(x,y)j
其中 ∇ = ∂ ∂ x i ⃗ + ∂ ∂ y j ⃗ \nabla = \frac{\partial}{\partial x}\vec{i}+\frac{\partial}{\partial y}\vec{j} =xi +yj 称为(二维的)向量微分算子或Nabla算子, ∇ f = ∂ f ∂ x i ⃗ + ∂ f ∂ y j ⃗ \nabla f = \frac{\partial f}{\partial x}\vec{i}+\frac{\partial f}{\partial y}\vec{j} f=xfi +yfj

梯度下降求解

梯度下降是一种计算局部最小值的一种方法。梯度下降思想就是给定一个初始值,每次沿着函数梯度下降的方向移动:

[机器学习导论]——第二课——线性回归与逻辑回归_第2张图片

image-20220316231407132

在梯度为零或趋近于零的时候收敛
J ( θ ) = 1 2 ∑ i = 1 n ( x i T θ − y i ) 2 J(\theta)=\frac{1}{2}\sum^n_{i=1}(x_i^T\theta-y_i)^2 J(θ)=21i=1n(xiTθyi)2
对损失函数求偏导可得到
x i = ( x i , 0 , . . . , x i , p ) T x i j 表 示 第 i 个 样 本 的 第 j 个 分 量 ∂ θ j 1 2 ( x i T θ − y i ) 2 = ∂ θ j 1 2 ( ∑ j = 0 p x i , j θ j − y i ) 2 = ( ∑ j = 0 p x i , j θ j − y i ) x i , j = ( f ( x i − y i ) ) x i , j ∇ θ J = [ J θ 0 J θ 1 . . . J θ p ] x_i=(x_{i,0},...,x_{i,p})^T\\ x_{ij}表示第i个样本的第j个分量\\ \frac{\partial}{\theta_j}\frac{1}{2}(x_i^T\theta-y_i)^2=\frac{\partial}{\theta_j}\frac{1}{2}(\sum^p_{j=0}x_{i,j}\theta_j-y_i)^2=(\sum^p_{j=0}x_{i,j}\theta_j-y_i)x_{i,j}=(f(x_i-y_i))x_{i,j} \\ \nabla_\theta J=\begin{bmatrix} \frac{J}{\theta_0}\\ \frac{J}{\theta_1}\\...\\ \frac{J}{\theta_p} \end{bmatrix} xi=(xi,0,...,xi,p)Txijijθj21(xiTθyi)2=θj21(j=0pxi,jθjyi)2=(j=0pxi,jθjyi)xi,j=(f(xiyi))xi,jθJ=θ0Jθ1J...θpJ
对于只有一个训练样本的训练组而言,每走一步,(= 0,1,…,)的更新公式就可以写成:

image-20220316233051758

因此,当有 n 个训练实例的时候(批处理梯度下降算法),该公式就可以写为:
θ j ( t + 1 ) : = θ j ( t ) − α ∑ i = 1 n ( f ( x i ) − y i ) x i , j \theta_j^{(t+1)}:=\theta_j^{(t)}-\alpha\sum^n_{i=1}(f(x_i)-y_i)x_{i,j} θj(t+1):=θj(t)αi=1n(f(xi)yi)xi,j
这样,每次根据所有数据求出偏导,然后根据特定的步长,就可以不断更新,直到其收敛。当梯度为0或目标函数值不能继续下降的时候,就可以说已经收敛,即目标函数达到局部最小值。

具体过程可以归纳如下

1️⃣ 初始化(随机初始化)

2️⃣ 利用如下公式更新
θ j ( t + 1 ) : = θ j ( t ) − α ∑ i = 1 n ( f ( x i ) − y i ) x i , j \theta_j^{(t+1)}:=\theta_j^{(t)}-\alpha\sum^n_{i=1}(f(x_i)-y_i)x_{i,j} θj(t+1):=θj(t)αi=1n(f(xi)yi)xi,j
其中α为步长

3️⃣ 如果新的能使()继续减少,继续利用上述步骤更新,否则收敛,停止迭代。

如何判断收敛?image-20220316233856578

学习率α的影响

小的值可以帮助找到最优解,但是收敛速度很慢
大的值一开始会使损失下降的较快,但会导致“锯齿”现象School of Software Engineering

[机器学习导论]——第二课——线性回归与逻辑回归_第3张图片

随机梯度下降法

梯度下降算法有一个最大的问题:每次更新,都要利用所有的数据,当数据量十分大的时候,这会使效率变得特别低。因此,又出现了增强梯度下降(随机梯度下降算法),每次只用训练集中的一个数据更新,即:
θ j ( t + 1 ) : = θ j ( t ) − α ( f ( x i ) − y i ) x i , j \theta_j^{(t+1)}:=\theta_j^{(t)}-\alpha(f(x_i)-y_i)x_{i,j} θj(t+1):=θj(t)α(f(xi)yi)xi,j
在深度神经网络学习中,小批量梯度下降(mini-batch gradient decent)应用的非常广泛:把数据分为若干个批,按批来更新参数。一个批中的一组数据共同决定了本次梯度的方向,下降起来就不容易跑偏,减少了随机性。另一方面因为批的样本数与整个数据集相比小了很多,计算量也不是很大。

正规方程法求解

将训练数据表示成矩阵形式

[机器学习导论]——第二课——线性回归与逻辑回归_第4张图片
x 1 ⃗ T = [ 1 , x 1 , 1 , x 1 , 2 , . . . , x 1 , p ] \vec{x_1}^T=[1,x_{1,1},x_{1,2},...,x_{1,p}] x1 T=[1,x1,1,x1,2,...,x1,p]
[机器学习导论]——第二课——线性回归与逻辑回归_第5张图片

损失函数 J ( θ ) J(\theta) J(θ)可变为
J ( θ ) = 1 2 ∣ ∣ Y − Y ^ ∣ ∣ 2 = 1 2 ∣ ∣ Y − X θ ∣ ∣ 2 J(\theta)=\frac{1}{2}||Y-\hat Y||^2=\frac{1}{2}||Y-X\theta||^2 J(θ)=21YY^2=21YXθ2
使用矩阵表达形式转化损失函数
[机器学习导论]——第二课——线性回归与逻辑回归_第6张图片

最小化损失函数(),可通过令梯度= (+1维的零向量)实现:

[机器学习导论]——第二课——线性回归与逻辑回归_第7张图片

利用公式
∂ x T B x ∂ x = ( B + B T ) x ∂ x T a ∂ x = ∂ a T x ∂ x = a \frac{\partial x^TBx}{\partial x}=(B+B^T)x\\ \frac{\partial x^Ta}{\partial x}=\frac{\partial a^Tx}{\partial x}=a xxTBx=(B+BT)xxxTa=xaTx=a
可得到
∇ θ J ( θ ) = X T X θ − ( Y T X ) T = X T X θ − X T Y = 0 \nabla_\theta J(\theta)=X^TX\theta-(Y^TX)^T=X^TX\theta-X^TY=0 θJ(θ)=XTXθ(YTX)T=XTXθXTY=0
正规方程为: X T X θ = X T Y X^TX\theta=X^TY XTXθ=XTY,得到解: θ ∗ = ( X T X ) − 1 X T Y \theta^*=(X^TX)^{-1}X^TY θ=(XTX)1XTY(假设 X T X X^TX XTX可逆)

对θ再求一次梯度可得到 ∇ θ 2 J ( θ ) = X T X \nabla_\theta^2J(\theta)=X^TX θ2J(θ)=XTX,这是半正定的,因此,若 ∇ θ J ( θ ∗ ) = 0 \nabla_{\theta}J(\theta^*)=0 θJ(θ)=0,则 J ( θ ) J(\theta) J(θ)在∗处取到最小值

正定矩阵与半正定矩阵

正定矩阵:设M是n阶方阵,如果对任何非零向量z,都有 z T M z > 0 z^TMz>0 zTMz>0,其中 z T z^T zT表示z的转置,就称M为正定矩阵。正定矩阵的行列式恒为正。

半正定矩阵:设M是n阶方阵,如果对任何非零向量z,都有 z T M z ≥ 0 z^TMz\ge0 zTMz0,其中 z T z^T zT表示z的转置,就称M为半正定矩阵。矩阵与其转置的矩阵积是一个半正定矩阵。

当训练样本的数目大于训练样本的维度+1时, X T X X^TX XTX在实际中通常是可逆的

X T X X^TX XTX可逆时,表明该矩阵是正定矩阵,求得的参数∗是全局最优解

矩阵可逆的充要条件:行列式不为0

X T X X^TX XTX不可逆时,可解出多个。可使用正则化给出一个“归纳偏好”解

保留所有特征,但减少θ的大小,通常使其接近于0

三种求解方法的比较

方法名称 表达式 优点 缺点
正规方程 θ ∗ = ( X T X ) − 1 X T Y \theta^*=(X^TX)^{-1}X^TY θ=(XTX)1XTY 有闭式解,实现简单 计算量大:需计算矩阵乘积及矩阵的逆,矩阵有可能奇异
梯度下降 θ j ( t + 1 ) : = θ j ( t ) − α ∑ i = 1 n ( f ( x i ) − y i ) x i , j \theta_j^{(t+1)}:=\theta_j^{(t)}-\alpha\sum^n_{i=1}(f(x_i)-y_i)x_{i,j} θj(t+1):=θj(t)αi=1n(f(xi)yi)xi,j 收敛、实现简单 通常收敛速度较慢
随机梯度下降 θ j ( t + 1 ) : = θ j ( t ) − α ( f ( x i ) − y i ) x i , j \theta_j^{(t+1)}:=\theta_j^{(t)}-\alpha(f(x_i)-y_i)x_{i,j} θj(t+1):=θj(t)α(f(xi)yi)xi,j 迭代成本低 不一定收敛到最优解

奇异矩阵:对应的行列式等于0的方阵

如果A(n×n)为奇异矩阵(singular matrix)<=> A的秩Rank(A)

多项式回归

线性回归并不意味着我们只能处理线性关系

image-20220317103703134

[机器学习导论]——第二课——线性回归与逻辑回归_第8张图片

θ ∗ = ( X T X ) − 1 X T y ⃗ ⇒ θ ∗ = ( φ T φ ) − 1 φ T y ⃗ φ ( x ) : = [ 1 , x , x 2 ] T \theta^*=(X^TX)^{-1}X^T\vec y\qquad\Rightarrow\qquad \theta^*=(\varphi^T\varphi)^{-1}\varphi^T\vec y\\ \varphi(x):=[1,x,x^2]^T θ=(XTX)1XTy θ=(φTφ)1φTy φ(x):=[1,x,x2]T
一旦基给定,参数的学习仍然是线性问题(中包含的分量个数发生了变化)

多项式回归包含两个主要问题

1️⃣ 参数学习

线性回归几乎一样,仅仅是将→()

参数仍然是基函数的线性组合

2️⃣ 确定多项式的阶数(模型评估)

选择不好会引起欠拟合(under-fitting)或过拟合问题(over-fitting)

欠拟合:训练误差较大;过拟合:训练误差几乎为0

[机器学习导论]——第二课——线性回归与逻辑回归_第9张图片

模型评估

❓ 对于给定的标记数据,既要训练,又要测试,该如何做

留出法

1️⃣ 随机挑选一部分标记数据作为测试集(空心点)

2️⃣ 其余的作为训练集(实心点),计算回归模型

3️⃣ 使用测试集对模型评估:MSE =2.4

MSE: Mean Square Error均方误差

[机器学习导论]——第二课——线性回归与逻辑回归_第10张图片

测试集不能太大,也不能太小。2 <= n:m <=4

交叉验证

问题:没有足够的数据留出一个测试集

方案:每一个数据既被当作训练样本也被当作测试样本

[机器学习导论]——第二课——线性回归与逻辑回归_第11张图片

线性回一维例子:3折交叉验证

将数据分成紫、绿、蓝三个子集

对于蓝色划分:使用紫、绿数据训练线性模型,使用蓝色数据计算均方误差

对于绿色划分:使用紫、蓝数据训练线性模型,使用绿色数据计算均方误差

对于紫色划分:使用绿、蓝数据训练线性模型,使用紫色数据计算均方误差

[机器学习导论]——第二课——线性回归与逻辑回归_第12张图片

性能度量

均方误差

对于线性回归模型,其损失函数使用平方差误差来度量
J t r a i n ( θ ) = 1 2 ∑ i = 1 n ( x i T θ − y i ) 2 J_{train}(\theta)=\frac{1}{2}\sum^n_{i=1}(x_i^T\theta-y_i)^2 Jtrain(θ)=21i=1n(xiTθyi)2
最小化平方和误差,利用正规方程得到
θ ∗ = a r g m i n J t r a i n ( θ ) = ( X t r a i n T X t r a i n ) − 1 X t r a i n T Y ⃗ t r a i n \theta^*=argminJ_{train}(\theta)=(X_{train}^TX_{train})^{-1}X_{train}^T\vec{Y}_{train} θ=argminJtrain(θ)=(XtrainTXtrain)1XtrainTY train

a r g m i n J t r a i n ( θ ) argminJ_{train}(\theta) argminJtrain(θ)就是使 J t r a i n ( θ ) J_{train}(\theta) Jtrain(θ)达到最小值时的θ的取值

在测试集上报告 MSE(mean square error)误差

[机器学习导论]——第二课——线性回归与逻辑回归_第13张图片

错误率与精度

分类任务性能度量:错误率与精度

错误率是分类错误的样本数占样本总数的比例

精度是分类正确的样本数占样本总数的比例

accuracy、precision与recall

对于二分类问题,有分类结果混淆矩阵

[机器学习导论]——第二课——线性回归与逻辑回归_第14张图片

True Positive,即正确预测出的正样本个数

False Positive,即错误预测出的正样本个数(本来是负样本,被我们预测成了正样本)

True Negative,即正确预测出的负样本个数

False Negative,即错误预测出的负样本个数(本来是正样本,被我们预测成了负样本)

准确率(Accuracy)=(TP + TN)/总样本

定义是: 对于给定的测试数据集,分类器正确分类的样本数与总样本数之比

精确率(Precision)= TP /(TP + FP),又称为查准率

预测为正的样本中有多少是真正的正样本,是针对我们预测结果而言的

召回率(Recall)= TP /(TP + FN),又称为查全率

它表示:样本中的正例有多少被预测正确了,是针对我们原来的样本而言的

逻辑回归

线性回归模型中,假设输出标记是连续值。如果输出标记= 0,1 (即二分类任务),怎么将分类标记与线性回归模型联系起来?

最理想的情况—单位阶跃函数
y ^ = f θ ( z ) = { 0 , z < 0 0.5 , z = 0 1 , z > 0 \hat y=f_{\theta}(z)=\begin{cases} 0,&z<0\\ 0.5,&z=0\\ 1,&z>0 \end{cases} y^=fθ(z)=0,0.5,1,z<0z=0z>0
预测值小于0判为反例,大于0判为正例,临界值0任意判别

但单位阶跃函数不可导(很难学习参数)

这时可以使用逻辑函数(logistic/sigmoid function,对数几率函数)来进行替代

单调递增、任意阶可微

输出值在= 0 附近变化很快

y = 1 1 + e − z y=\frac{1}{1+e^{-z}} y=1+ez1

[机器学习导论]——第二课——线性回归与逻辑回归_第15张图片

不难发现 f θ ( x ) ⊆ ( 0 , 1 ) f_{\theta}(x)\subseteq(0,1) fθ(x)(0,1),因此可将 f θ ( x ) f_{\theta}(x) fθ(x)视为样本 作为正例的可能性, 则 1 − f θ ( x ) 1-f_{\theta}(x) 1fθ(x) 是反例可能性

y ^ \hat y y^越接近1,认为是正例的可能性越大

y ^ \hat y y^越接近0,认为是反例的可能性越大

image-20220318154143225

合并以上两个公式,可得到伯努利公式
P ( y ∣ x ; θ ) = ( f θ ( x ) ) y ( 1 − f θ ( x ) ) 1 − y P(y|x;\theta)=(f_{\theta}(x))^y(1-f_{\theta}(x))^{1-y} P(yx;θ)=(fθ(x))y(1fθ(x))1y
logistic回归可以被看做一种概率模型,且y发生的概率与 回归参数Θ有关

问题转化为求Logistic回归的最佳系数。

极大似然估计

极大似然估计法是参数点估计中的一个重要方法,它是利用总体的分布函数的表达式及样本所提供的信息建立未知参数估计量的方法.它的直观解释为:设一个随机试验有若干个可能结果,如果在某次试验中,某一结果A出现了,那么,我们认为在诸多可能的试验条件中,应该是使事件 A 发生的概率为最大的那一种条件,这就是极大似然估计的基本思想。即从若干个参数集合中选取使样本出现概率最大的参数

定义

设总体X为连续型随机变量,其密度函数为 f ( x ; θ 1 , θ 2 , θ 3 , . . . , θ t ) f(x;\theta_1,\theta_2,\theta_3,...,\theta_t) f(x;θ1,θ2,θ3,...,θt),其中 θ 1 , θ 2 , θ 3 , . . . , θ t \theta_1,\theta_2,\theta_3,...,\theta_t θ1,θ2,θ3,...,θt为位置参数,则如下公式为参数 θ 1 , θ 2 , θ 3 , . . . , θ t \theta_1,\theta_2,\theta_3,...,\theta_t θ1,θ2,θ3,...,θt似然函数
L ( θ 1 , θ 2 , . . . , θ t ) = ∏ i = 1 n f ( x i ; θ 1 , θ 2 , . . . , θ t ) L(\theta_1,\theta_2,...,\theta_t)=\prod_{i=1}^nf(x_i;\theta_1,\theta_2,...,\theta_t) L(θ1,θ2,...,θt)=i=1nf(xi;θ1,θ2,...,θt)
如果 θ j ^ ( x 1 , x 2 , . . . , x n ) , j = 1 , 2 , . . . , t \hat{\theta_j}(x_1,x_2,...,x_n),j=1,2,...,t θj^(x1,x2,...,xn),j=1,2,...,t满足使似然函数罪罚,则称其为 θ j ( x 1 , x 2 , . . . , x n ) , j = 1 , 2 , . . . , t {\theta_j}(x_1,x_2,...,x_n),j=1,2,...,t θj(x1,x2,...,xn),j=1,2,...,t的极大似然估计值,相应的统计量 θ j ^ ( X 1 , X 2 , . . . , X n ) , j = 1 , 2 , . . . , t \hat{\theta_j}(X_1,X_2,...,X_n),j=1,2,...,t θj^(X1,X2,...,Xn),j=1,2,...,t为极大似然估计量

极大似然估计法就是当得到样本值 ( x 1 , x 2 , x 3 , . . . , x n ) (x_1,x_2,x_3,...,x_n) (x1,x2,x3,...,xn)时选取 ( θ 1 ^ , θ 2 ^ , . . . , θ t ^ ) (\hat{\theta_1},\hat{\theta_2},...,\hat{\theta_t}) (θ1^,θ2^,...,θt^) 使得似然函数最大,因为lnx是x的单调递增函数,因此 ln ⁡ L ( θ 1 , θ 2 , θ 3 , . . . , θ t ) \ln L(\theta_1,\theta_2,\theta_3,...,\theta_t) lnL(θ1,θ2,θ3,...,θt) L ( θ 1 , θ 2 , θ 3 , . . . , θ t ) L(\theta_1,\theta_2,\theta_3,...,\theta_t) L(θ1,θ2,θ3,...,θt)有相同的极大值点,故极大似然估计 ( θ 1 ^ , θ 2 ^ , . . . , θ t ^ ) (\hat{\theta_1},\hat{\theta_2},...,\hat{\theta_t}) (θ1^,θ2^,...,θt^) 可等价定义为
ln ⁡ L ( θ 1 ^ , θ 2 ^ , . . . , θ t ^ ) = m a x ( θ 1 , θ 2 , , . . . , θ t ) ∈ Θ ln ⁡ L ( θ 1 , θ 2 , . . . , θ t ) \ln L(\hat{\theta_1},\hat{\theta_2},...,\hat{\theta_t})=\underset{(\theta_1,\theta_2,,...,\theta_t)\in \Theta}{max}\ln L(\theta_1,\theta_2,...,\theta_t) lnL(θ1^,θ2^,...,θt^)=(θ1,θ2,,...,θt)ΘmaxlnL(θ1,θ2,...,θt)
很多情况下,似然函数 L ( θ 1 , θ 2 , . . . , θ t ) L(\theta_1,\theta_2,...,\theta_t) L(θ1,θ2,...,θt)和对数似然函数关于 θ 1 , θ 2 , . . . , θ t \theta_1,\theta_2,...,\theta_t θ1,θ2,...,θt的偏导数存在,这时 θ 1 ^ , θ 2 ^ , . . . , θ t ^ \hat{\theta_1},\hat{\theta_2},...,\hat{\theta_t} θ1^,θ2^,...,θt^可以从方程组
∂ L ( θ 1 , θ 2 , . . . , θ t ) ∂ θ j = 0   ( j = 1 , 2 , . . . , t ) \frac{\partial L(\theta_1,\theta_2,...,\theta_t)}{\partial \theta_j}=0\ (j=1,2,...,t) θjL(θ1,θ2,...,θt)=0 (j=1,2,...,t)
或者
∂ ln ⁡ L ( θ 1 , θ 2 , . . . , θ t ) ∂ θ j = 0   ( j = 1 , 2 , . . . , t ) \frac{\partial\ln L(\theta_1,\theta_2,...,\theta_t)}{\partial \theta_j}=0\ (j=1,2,...,t) θjlnL(θ1,θ2,...,θt)=0 (j=1,2,...,t)
解得

系数求解

对Θ进行极大似然 估计,使得观测数据发生的概率最大:

image-20220318162048288

转换为对数似然,有

[机器学习导论]——第二课——线性回归与逻辑回归_第16张图片

极大似然法要求最大值,所以使用梯度上升来求

在求极值的问题中,有梯度上升和梯度下降两个最优化方法。

梯度上升用于求极大值,梯度下降用于求极小值。如logistic回归的目标函数 是求参向量,使得对数似然函数达到最大值,所以使用梯度上升算法。

而线性回归的代价函数:代表的则是误差,我们想求误差最小值,所以用 梯度下降算法。

梯度上升公式如下:
θ ( t + 1 ) = θ ( t ) + α ∇ θ ln ⁡ ( L ( θ ( t ) ) ) \theta^{(t+1)}=\theta^{(t)}+\alpha \nabla_\theta \ln({L(\theta^{(t)})}) θ(t+1)=θ(t)+αθln(L(θ(t)))
求梯度如下

[机器学习导论]——第二课——线性回归与逻辑回归_第17张图片

得到:

image-20220318163833614

与线性回归的公式很相似 θ j ( t + 1 ) : = θ j ( t ) − α ∑ i = 1 n ( f ( x i ) − y i ) x i , j \theta_j^{(t+1)}:=\theta_j^{(t)}-\alpha\sum^n_{i=1}(f(x_i)-y_i)x_{i,j} θj(t+1):=θj(t)αi=1n(f(xi)yi)xi,j

逻辑回归与线性回归的比较

类别 逻辑回归 线性回归
输出 y ∈ { 0 , 1 } y\in\{0,1\} y{0,1} y ∈ R y\in R yR
线性二分类 :决策边界 θ T x = 0 \theta^Tx = 0 θTx=0 线性拟合 : y = θ T x y=\theta^Tx y=θTx
[机器学习导论]——第二课——线性回归与逻辑回归_第18张图片 [机器学习导论]——第二课——线性回归与逻辑回归_第19张图片
自变量和因变量关系 无要求 线性关系
数据假设 P(y|x)服从伯努利分布 − ()服从iid高斯分布
建模 极大似然方法 最小二乘方法
求解 梯度上升 梯度下降

线性回归的概率解释

假设输入输出之间满足以下关系

image-20220318164551455

假设 服从高斯分布(0, ),那么

image-20220318164609041

假设样本独立同分布,于是可通过极大似然法(MLE)估 计。构造似然函数:

[机器学习导论]——第二课——线性回归与逻辑回归_第20张图片

通过“对数似然”求解

[机器学习导论]——第二课——线性回归与逻辑回归_第21张图片

最大化 ln ⁡ ( L ( θ ) ) \ln (L(\theta)) ln(L(θ))等价于 m i n θ ∑ i = 1 n ( y i − θ T x i ) 2 = J ( θ ) \underset{\theta}{min}\sum^n_{i=1}(y_i-\theta^Tx_i)^2=J(\theta) θmini=1n(yiθTxi)2=J(θ)

在假设误差服从独立同分布的高斯分布情况下,极大似然估计等价于最小平方和误差损失函数

参考资料

[1]庞善民.西安交通大学机器学习导论2022春PPT

[2]周志华.机器学习.北京:清华大学出版社,2016

[3]王宁.概率论与数理统计:西安交通大学出版社,2017

[3]多项式回归(Polynomial regression)

[4]百度百科

[5]机器学习中的Accuracy和Precision的区别

你可能感兴趣的:(#,机器学习入门,机器学习,线性回归,逻辑回归)