文章目录
线性回归
什么是线性回归?
分析特征和目标之间的关系
模型基本思想:
使用梯度下降法对损失函数进行优化,找出最优的模型参数θ
线性回归的预测函数
h θ ( x ) = θ T x h_{\theta}(x)=\theta^{T} x hθ(x)=θTx
损失函数:
J ( θ ) = 1 2 ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2 J(\theta)=\frac{1}{2} \sum_{i=1}^{m}\left(h_{\theta}\left(x^{(i)}\right)-y^{(i)}\right)^{2} J(θ)=21i=1∑m(hθ(x(i))−y(i))2
梯度下降
梯度下降步骤:
- 初始化θ
- 将θ沿着 损失函数变小的方向变化 ,也就是 θ沿着负梯度的方向变化
梯度下降公式
θ = θ − α ∙ ∂ J ( θ ) ∂ θ \theta=\theta-\alpha \bullet \frac{\partial J(\theta)}{\partial \theta} θ=θ−α∙∂θ∂J(θ)
批量梯度下降算法 BGD
θ j = θ j + α ∑ i = 1 m ( y ( i ) − h θ ( x ( i ) ) ) x j ( i ) \theta_{j}=\theta_{j}+\alpha \sum_{i=1}^{m}\left(y^{(i)}-h_{\theta}\left(x^{(i)}\right)\right) x_{j}^{(i)} θj=θj+αi=1∑m(y(i)−hθ(x(i)))xj(i)
随机梯度下降算法 SGD
θ j = θ j + α ( y ( i ) − h θ ( x ( i ) ) ) x j ( i ) \theta_{j}=\theta_{j}+\alpha\left(y^{(i)}-h_{\theta}\left(x^{(i)}\right)\right) x_{j}^{(i)} θj=θj+α(y(i)−hθ(x(i)))xj(i)
小批量梯度下降法 MBGD
θ j = θ j + α ∑ k = i i + 10 ( y ( k ) − h θ ( x ( k ) ) ) x j ( k ) \theta_{j}=\theta_{j}+\alpha \sum_{k=i}^{i+10}\left(y^{(k)}-h_{\theta}\left(x^{(k)}\right)\right) x_{j}^{(k)} θj=θj+αk=i∑i+10(y(k)−hθ(x(k)))xj(k)
线性回归的过拟合
加L1正则项 (LASSO回归) 有稀疏解
J
(
θ
)
=
1
2
∑
i
=
1
m
(
h
θ
(
x
(
i
)
)
−
y
(
i
)
)
2
+
λ
∑
j
=
1
n
∣
θ
j
∣
λ
>
0
J(\theta)=\frac{1}{2} \sum_{i=1}^{m}\left(h_{\theta}\left(x^{(i)}\right)-y^{(i)}\right)^{2}+\lambda \sum_{j=1}^{n}\left|\theta_{j}\right| \quad \lambda>0
J(θ)=21i=1∑m(hθ(x(i))−y(i))2+λj=1∑n∣θj∣λ>0
加L2正则项 (Ridge回归)
J
(
θ
)
=
1
2
∑
i
=
1
m
(
h
θ
(
x
(
i
)
)
−
y
(
i
)
)
2
+
λ
∑
i
=
1
n
θ
j
2
λ
>
0
J(\theta)=\frac{1}{2} \sum_{i=1}^{m}\left(h_{\theta}\left(x^{(i)}\right)-y^{(i)}\right)^{2}+\lambda \sum_{i=1}^{n} \theta_{j}^{2} \quad \lambda>0
J(θ)=21i=1∑m(hθ(x(i))−y(i))2+λi=1∑nθj2λ>0
弹性网络 Elasitc Net
J ( θ ) = 1 2 ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2 + λ ( p ∑ j = 1 n ∣ θ j ∣ + ( 1 − p ) ∑ j = 1 n θ j 2 ) { λ > 0 p ∈ [ 0 , 1 ] J(\theta)=\frac{1}{2} \sum_{i=1}^{m}\left(h_{\theta}\left(x^{(i)}\right)-y^{(i)}\right)^{2}+\lambda\left(p \sum_{j=1}^{n}\left|\theta_{j}\right|+(1-p) \sum_{j=1}^{n} \theta_{j}^{2}\right) \\ \left\{\begin{array}{l}{\lambda>0} \\ {p \in[\mathbf{0}, 1]}\end{array}\right. J(θ)=21i=1∑m(hθ(x(i))−y(i))2+λ(pj=1∑n∣θj∣+(1−p)j=1∑nθj2){λ>0p∈[0,1]
线性回归面试题
什么是线性回归?
线性回归是分析特征属性与目标属性之间的线性关系
模型的基本思想:用梯度下降法对最小二乘法形式的误差函数进行优化
我们常用的有两种方法来求损失函数最小化时候的θ参数:一种是梯度下降法,一种是最小二乘法。
一般表达式是什么
Y = w x + b Y = wx+b Y=wx+b
w叫做x的系数,b叫做偏置项。
如何计算?
线性回归损失函数
J ( θ ) = 1 2 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2 J(\theta)=\frac{1}{2m} \sum_{i=1}^{m}\left(h_{\theta}\left(x^{(i)}\right)-y^{(i)}\right)^{2} J(θ)=2m1i=1∑m(hθ(x(i))−y(i))2
利用梯度下降法找到最小值点,也就是最小误差,最后把 w 和 b 给求出来
线性回归损失函数是什么?
J ( θ ) = 1 2 ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2 J(\theta)=\frac{1}{2} \sum_{i=1}^{m}\left(h_{\theta}\left(x^{(i)}\right)-y^{(i)}\right)^{2} J(θ)=21i=1∑m(hθ(x(i))−y(i))2
加L1正则的损失函数
J
(
θ
)
=
1
2
∑
i
=
1
m
(
h
θ
(
x
(
i
)
)
−
y
(
i
)
)
2
+
λ
∑
j
=
1
n
∣
θ
j
∣
λ
>
0
J(\theta)=\frac{1}{2} \sum_{i=1}^{m}\left(h_{\theta}\left(x^{(i)}\right)-y^{(i)}\right)^{2}+\lambda \sum_{j=1}^{n}\left|\theta_{j}\right| \quad \lambda>0
J(θ)=21i=1∑m(hθ(x(i))−y(i))2+λj=1∑n∣θj∣λ>0
加L2正则的损失函数
J
(
θ
)
=
1
2
∑
i
=
1
m
(
h
θ
(
x
(
i
)
)
−
y
(
i
)
)
2
+
λ
∑
i
=
1
n
θ
j
2
λ
>
0
J(\theta)=\frac{1}{2} \sum_{i=1}^{m}\left(h_{\theta}\left(x^{(i)}\right)-y^{(i)}\right)^{2}+\lambda \sum_{i=1}^{n} \theta_{j}^{2} \quad \lambda>0
J(θ)=21i=1∑m(hθ(x(i))−y(i))2+λi=1∑nθj2λ>0
说一下L1, L2正则
使用正则化,防止数据过拟合,也就是的θ值在样本空间中不能过大 可以降低模型的复杂度。
L1得到稀疏解,去掉一部分特征 降低模型复杂度。
L1正则化是L1范数而来,投到坐标图里面,是棱型的,最优解在坐标轴上取到,所以某些部分的特征的系数就为0。
L1范式可以用来作为特征选择,并且可解释性较强
L2得到较小的参数,如果参数很大,样本稍微变动一点,值就有很大偏差。相当于降低每个特征的权重。
L1和L2正则先验分别服从什么分布 ?
L1和L2正则先验分别服从什么分布,L1是拉普拉斯分布,L2是高斯分布。
线性回归的优缺点?
实现简单,但不能拟合非线性数据
为什么线性回归使用的是平方差形式的损失函数?
(类似问题:线性回归问什么要用最小二乘法计算之类的)
线性回归模型最优的时候是所有样本的预测值和实际值之间的差值最小化,由于预测值和实际值之间的差值存在正负性,所以要求平方后的值最小化
梯度下降算法流程
损失函数
J
(
θ
)
=
1
2
∑
i
=
1
m
(
h
θ
(
x
(
i
)
)
−
y
(
i
)
)
2
J(\theta)=\frac{1}{2} \sum_{i=1}^{m}\left(h_{\theta}\left(x^{(i)}\right)-y^{(i)}\right)^{2}
J(θ)=21i=1∑m(hθ(x(i))−y(i))2
1 初始化θ(随机初始化,可以初始为0)
2 将θ沿着负梯度方向迭代,更新后的θ使 J(θ) 更小
θ
=
θ
−
α
∙
∂
J
(
θ
)
∂
θ
α
:
学
习
率
、
步
长
\theta=\theta-\alpha \bullet \frac{\partial J(\theta)}{\partial \theta}\\α:学习率、步长
θ=θ−α∙∂θ∂J(θ)α:学习率、步长
梯度下降不一定能够找到全局的最优解,也有可能只是一个局部最优解