线性模型的理论推导
线性模型即
线性回归
线性模型中,我们试图学得
确定 $\hat{\omega}$ 的过程就是使$\mathbf{f(x_i)}$与$y_i$之间的差别最小的过程。其中$\hat{\omega}=(\omega;b)$。均方误差是回归任务中最常用的性能度量,因此基于均方误差最小化来进行模型求解,也就是模型“最小二乘法”参数估计。
模型均方误差的矩阵形式:
也就是损失函数。则目标函数就是:
对$\hat{\omega}$求导得到
令导数等于零,当$\mathbf{X^TX}$ 的逆存在时,则有
一般把向量定义为列向量
广义线性模型
令模型预测值逼近 $y$ 的衍生物。比如说,$\omega^Tx+b = g(y)$,即示例对应输出满足$g(y)$变化,其中$g(\cdot)$为单调可微函数,则
称为广义线性模型,其中函数$g(\cdot)$称为联系函数。
在形式上仍是线性回归,但实质上已是在求输入空间到输出空间的非线性函数映射。
逻辑回归
若要使用线性模型进行分类任务是,则引入逻辑回归。逻辑回归更准确地应该称为“对数几率回归”。在广义线性模型下,令
此时,可以得到
则可以推导出
若将 $y$ 视为样本 $x$ 作为正利的可能性,则 $1-y$ 是其反例可能性,两者的比值称为“几率”(odds),反映了 $x$ 作为正利的相对可能性。
最大似然估计 $\omega ^T$ ,梯度下降法求解。
输入:训练集 $D={ (xk, y_k) }{k=1}^m$
梯度下降步长 $\alpha$,算法终止距离$\epsilon$
过程:
在$(0,1)$范围内随机初始化参数$\beta$
repeat
for all $(x_k, y_k) \in D$ do
根据当前参数和梯度公式计算当前样本的梯度$\theta$;
根据下降步长计算当前下降距离$\alpha \theta$:若小于终止距离,则停止,否则下一步
更新梯度$\theta = \theta - \alpha \theta$
end for
逻辑回归实战
1 | def gradAscent(dataMatIn, classLabels): |