文章目录
- 算法推导
线性回归解决连续值的回归预测;而逻辑回归解决离散值的分类预测;
算法推导
逻辑回归可以看作是两部分,以0、1分类问题说明;
-
线性回归部分
- 对于一个样本 x i x_i xi,有n个特征 x i ( 1 ) x_i^{(1)} xi(1)、 x i ( 2 ) x_i^{(2)} xi(2)… x i ( n ) x_i^{(n)} xi(n),每个特征有对应的权重 θ ( j ) \theta_{(j)} θ(j),则该样本所有特征的线性加权求和为: h θ ( x i ) = ∑ j n θ j x i ( j ) + θ 0 x i ( 0 ) = > θ T x i ; 其中 x i ( 0 ) = 1 h_{\theta}(x_i) =\sum_j^n\theta_jx_i^{(j)} + \theta_0x_i^{(0)}=>\theta^Tx_i ; 其中x_i^{(0)}=1 hθ(xi)=j∑nθjxi(j)+θ0xi(0)=>θTxi;其中xi(0)=1
θ 为权重列向量, x i 为第 i 个样本的列向量 \theta为权重列向量,x_i为第i个样本的列向量 θ为权重列向量,xi为第i个样本的列向量
- 对于一个样本 x i x_i xi,有n个特征 x i ( 1 ) x_i^{(1)} xi(1)、 x i ( 2 ) x_i^{(2)} xi(2)… x i ( n ) x_i^{(n)} xi(n),每个特征有对应的权重 θ ( j ) \theta_{(j)} θ(j),则该样本所有特征的线性加权求和为: h θ ( x i ) = ∑ j n θ j x i ( j ) + θ 0 x i ( 0 ) = > θ T x i ; 其中 x i ( 0 ) = 1 h_{\theta}(x_i) =\sum_j^n\theta_jx_i^{(j)} + \theta_0x_i^{(0)}=>\theta^Tx_i ; 其中x_i^{(0)}=1 hθ(xi)=j∑nθjxi(j)+θ0xi(0)=>θTxi;其中xi(0)=1
-
逻辑函数部分
- 回归拟合的值 h θ ( x i ) h_{\theta}(x_i) hθ(xi) 是一个连续值,需要转为 [ 0 , 1 ] [0, 1] [0,1]之间的概率;
- 逻辑函数 f ( x ) = 1 1 + e − x f(x) = \frac {1} {1+e^{-x}} f(x)=1+e−x1 将 h θ ( x i ) h_{\theta}(x_i) hθ(xi) 连续值经过该逻辑函数映射到0-1之间
-
由以上两部分,可以得到逻辑回归的预测函数: y p r e d ( x i ) = 1 1 + e − θ T x i y_{pred}(x_i) = \frac {1} {1+e^{-\theta^Tx_i}} ypred(xi)=1+e−θTxi1 这里的预测值在 0 − 1 0-1 0−1之间,可以表示样本 x i x_i xi属于某类别的概率;
-
概率的似然函数 f = ∏ i = 1 m y p r e d y t r u e ( 1 − y p r e d ) ( 1 − y t r u e ) f = \prod_{i=1}^my_{pred}^{y_{true}}(1-y_{pred})^{(1-y_{true})} f=i=1∏mypredytrue(1−ypred)(1−ytrue) 尽量让属于某类的概率最大,即极大似然估计求解;两边取对数,并乘以-1,得到损失函数: L = − ∑ i = 1 m ( y t r u e l o g ( y p r e d ) + ( 1 − y t r u e ) l o g ( 1 − y p r e d ) ) L = -\sum_{i=1}^m(y_{true}log(y_{pred}) + (1-y_{true})log(1-y_{pred})) L=−i=1∑m(ytruelog(ypred)+(1−ytrue)log(1−ypred))求该损失函数的最小值。
-
梯度下降法,优化损失函数,得到权重更新公式: θ j = θ j − α ∑ i = 1 m ( y p r e d ( x i ) − y t r u e ( x i ) ) x i j \theta_j = \theta_j - \alpha\sum_{i=1}^m(y_{pred}(x_i) - y_{true}(x_i))x_i^{j} θj=θj−αi=1∑m(ypred(xi)−ytrue(xi))xij