最近需要复习一下机器学习相关知识,记录一下
一、简介
线性回归: h ( x ) = w T x + b h(x)=w^T x +b h(x)=wTx+b
logistic回归就是在线性模型的基础上加上一个sigmoid函数 g g g,即 h ( x ) = g ( w T x + b ) h(x)=g(w^T x+b) h(x)=g(wTx+b) 。 。 。 g ( z ) = 1 / ( 1 + e − z ) g(z)=1/(1+e^{-z}) g(z)=1/(1+e−z)。
它可以将一个线性回归中的结果转化为一个概率值。此时 h ( x ) h(x) h(x)表示的就是某件事发生的概率,我们也可以记为 p ( Y = 1 ∣ x ) p(Y=1|x) p(Y=1∣x)
二、 逻辑回归的损失函数
逻辑回归采用的是交叉熵的损失函数。
对于一般的二分类的逻辑回归来说交叉熵函数为: J ( θ ) = − [ y l n ( y ′ ) + ( 1 − y ) l n ( 1 − y ′ ) ] J(\theta)=-[yln(y')+(1-y)ln(1-y')] J(θ)=−[yln(y′)+(1−y)ln(1−y′)],其中 y ′ y' y′是预测值。
实际上我们求的是训练中所有样本的损失,因此:
J ( θ ) = − 1 m ∑ [ y i l n ( y i ‘ ) + ( 1 − y i ) l n ( 1 − y i ‘ ) ] J(\theta )=-\frac{1}{m}\sum[y_i ln(y_i`)+(1-y_i )ln(1-y_i`)] J(θ)=−m1∑[yiln(yi‘)+(1−yi)ln(1−yi‘)]
三、逻辑回归的优化方法
3.1 梯度下降
函数梯度的方向就是函数增长最快的方向,反之梯度的反方向就是函数减少最快的方向。因此我们想要计算一个函数的最小值,就朝着该函数梯度相反的方向前进。
假设我们需要优化的函数: f ( X ) = f ( x 1 , . . . , x n ) f(X)=f(x_1,...,x_n) f(X)=f(x1,...,xn)
首先我们初始化自变量,从 X ( 0 ) = ( x 1 ( 0