西瓜书笔记3: 线性模型

目录

3.1 基本形式

3.2 线性回归

情形1, 输入属性只有1个

情形2, 样本属性d个, 多元线性回归

线性模型变化, 广义线性模型

3.3对数几率回归

对数几率函数

对数几率回归

参数估计-极大似然法

求最优解-牛顿法

3.4线性判别分析

参数估计-拉格朗日乘子法

推广到多分类任务

参数估计-广义特征值问题

3.5多分类学习

ECOC

3.6类别不平衡问题

习题


3.1 基本形式

线性模型(linear model)学得一个函数, 通过属性的线性组合来进行预测:

一般形式:

$$ f(\boldsymbol x)=w_1x_1+...+w_dx_d+b $$

向量形式:

$$ f(\boldsymbol x)=\boldsymbol w^\mathrm T\boldsymbol x+b, 其中\boldsymbol w=(w_1;...;w_d) $$

得w, b, 则模型确定.

其中列元素分隔符";", 行元素分隔符",". 故w为d*1的列向量.

线性模型为基础, 引入层级结构, 高维映射等衍生非线性模型(nonlinear model).

线性模型有可解释性(comprehensibility, understandability), w直观表达各属性重要性.

3.2 线性回归

情形1, 输入属性只有1个

离散属性处理: 1.连续化0-0.5-1( 属性值有序order )2.转化为k维向量0-1 ( 属性值无序 )

线性回归:

$$ f(x_i)=wx_i+b,使得f(x_i)\approx y_i $$

如何确定w, b->衡量f(x)与y差别->均方误差( 平方损失square loss )最小化:

$$ (w^*,b^*)=\arg\min_{(w,b)}\sum_{i=1}^m(f(x_i)-y_i)^2\\=\arg\min_{(w,b)}\sum_{i=1}^m(y_i-wx_i-b)^2 $$

 

其中有一些最优化方法的符号:min-输出目标函数最小值, arg min-输出使目标函数最小的参数(w^*,b^*即为w和b的解). 目标函数中y_i和x_i是常量即训练集样本.

均方误差几何意义: 欧氏距离(Euclidean distance)

“最小二乘法”(least square method)(基于均方误差最小化的模型求解方法)几何意义: 找到一条直线,使所有样本到直线上的欧氏距离之和最小.

线性回归模型的最小二乘“参数估计”(parameter estimation)- 找w, b:

E为w, b的凸函数, 令它关于w和b的导数均为0时得最优解. 将E_(w,b)分别对w和b求导.

参考: https://datawhalechina.github.io/pumpkin-book/#/chapter3/chapter3?id=_35

均方误差:

$$ E_{(w, b)}=\sum_{i=1}^{m}(y_{i}-w x_{i}-b)^{2} $$

E对w求导:

$$ \begin{aligned} \cfrac{\partial E_{(w, b)}}{\partial w}&=\cfrac{\partial}{\partial w} \left[\sum_{i=1}^{m}\left(y_{i}-w x_{i}-b\right)^{2}\right] \\ &= \sum_{i=1}^{m}\cfrac{\partial}{\partial w} \left[\left(y_{i}-w x_{i}-b\right)^{2}\right] \\ &= \sum_{i=1}^{m}\left[2\cdot\left(y_{i}-w x_{i}-b\right)\cdot (-x_i)\right] \\ &= \sum_{i=1}^{m}\left[2\cdot\left(w x_{i}^2-y_i x_i +bx_i\right)\right] \\ &= 2\cdot\left(w\sum_{i=1}^{m} x_{i}^2-\sum_{i=1}^{m}y_i x_i +b\sum_{i=1}^{m}x_i\right) \\ &=2\left(w \sum_{i=1}^{m} x_{i}^{2}-\sum_{i=1}^{m}\left(y_{i}-b\right) x_{i}\right) \end{aligned} $$

E对b求导:

$$ \begin{aligned} \cfrac{\partial E_{(w, b)}}{\partial b}&=\cfrac{\partial}{\partial b} \left[\sum_{i=1}^{m}\left(y_{i}-w x_{i}-b\right)^{2}\right] \\ &=\sum_{i=1}^{m}\cfrac{\partial}{\partial b} \left[\left(y_{i}-w x_{i}-b\right)^{2}\right] \\ &=\sum_{i=1}^{m}\left[2\cdot\left(y_{i}-w x_{i}-b\right)\cdot (-1)\right] \\ &=\sum_{i=1}^{m}\left[2\cdot\left(b-y_{i}+w x_{i}\right)\right] \\ &=2\cdot\left[\sum_{i=1}^{m}b-\sum_{i=1}^{m}y_{i}+\sum_{i=1}^{m}w x_{i}\right] \\ &=2\left(m b-\sum_{i=1}^{m}\left(y_{i}-w x_{i}\right)\right) \end{aligned} $$

令两个导数为0可得到w和b的最优闭式解(closed-form即具体表达式解出).

先算b的解比较方便, 令E对b的导数为0移项即可:

$$ b=\cfrac{1}{m}\sum_{i=1}^{m}(y_i-wx_i) $$

代入y bar, x bar可将形式化简:

$$ \cfrac{1}{m}\sum_{i=1}^{m}y_i=\bar{y}\\ \cfrac{1}{m}\sum_{i=1}^{m}x_i=\bar{x}\\则b=\bar{y}-w\bar{x} $$

令E对w导数等于0:

$$ 0 = w\sum_{i=1}^{m}x_i^2-\sum_{i=1}^{m}(y_i-b)x_i\\ w\sum_{i=1}^{m}x_i^2 = \sum_{i=1}^{m}y_ix_i-\sum_{i=1}^{m}bx_i  $$

将b代入上式可得:

$$ \begin{aligned} w\sum_{i=1}^{m}x_i^2 & = \sum_{i=1}^{m}y_ix_i-\sum_{i=1}^{m}(\bar{y}-w\bar{x})x_i \\ w\sum_{i=1}^{m}x_i^2 & = \sum_{i=1}^{m}y_ix_i-\bar{y}\sum_{i=1}^{m}x_i+w\bar{x}\sum_{i=1}^{m}x_i \end{aligned} $$

移项提w解出:

$$ \begin{aligned} w(\sum_{i=1}^{m}x_i^2-\bar{x}\sum_{i=1}^{m}x_i) & = \sum_{i=1}^{m}y_ix_i-\bar{y}\sum_{i=1}^{m}x_i \\ w & = \cfrac{\sum_{i=1}^{m}y_ix_i-\bar{y}\sum_{i=1}^{m}x_i}{\sum_{i=1}^{m}x_i^2-\bar{x}\sum_{i=1}^{m}x_i} \end{aligned} $$

重新将x_i, y_i代入上式中的y bar, x bar:

$$ \begin{aligned} \bar{y}\sum_{i=1}^{m}x_i& =\cfrac{1}{m}\sum_{i=1}^{m}y_i\sum_{i=1}^{m}x_i=\bar{x}\sum_{i=1}^{m}y_i\\ \bar{x}\sum_{i=1}^{m}x_i& =\cfrac{1}{m}\sum_{i=1}^{m}x_i\sum_{i=1}^{m}x_i=\cfrac{1}{m}(\sum_{i=1}^{m}x_i)^2 \end{aligned} $$

可解出w:

$$ w=\cfrac{\sum_{i=1}^{m}y_i(x_i-\bar{x})}{\sum_{i=1}^{m}x_i^2-\cfrac{1}{m}(\sum_{i=1}^{m}x_i)^2} $$

如果要用矩阵运算, 上式需要向量化:

将x bar​代入分母:

$$ \cfrac{1}{m}(\sum_{i=1}^{m}x_i)^2=\bar{x}\sum_{i=1}^{m}x_i\\ \begin{aligned} w & = \cfrac{\sum_{i=1}^{m}y_i(x_i-\bar{x})}{\sum_{i=1}^{m}x_i^2-\bar{x}\sum_{i=1}^{m}x_i} \\ & = \cfrac{\sum_{i=1}^{m}(y_ix_i-y_i\bar{x})}{\sum_{i=1}^{m}(x_i^2-x_i\bar{x})} \end{aligned} $$

再代入:

$$ \bar{y}\sum_{i=1}^{m}x_i=\bar{x}\sum_{i=1}^{m}y_i=\sum_{i=1}^{m}\bar{y}x_i=\sum_{i=1}^{m}\bar{x}y_i=m\bar{x}\bar{y}=\sum_{i=1}^{m}\bar{x}\bar{y}\\ \sum_{i=1}^{m}x_i\bar{x}=\bar{x}\sum_{i=1}^{m}x_i=\bar{x}\cdot m \cdot\frac{1}{m}\cdot\sum_{i=1}^{m}x_i=m\bar{x}^2=\sum_{i=1}^{m}\bar{x}^2 $$

将后一项的两个因子都化为平均值形式, 加项减项凑因式分解, 则w可化为:

$$ \begin{aligned} w & = \cfrac{\sum_{i=1}^{m}(y_ix_i-y_i\bar{x}-x_i\bar{y}+\bar{x}\bar{y})}{\sum_{i=1}^{m}(x_i^2-x_i\bar{x}-x_i\bar{x}+\bar{x}^2)} \\ & = \cfrac{\sum_{i=1}^{m}(x_i-\bar{x})(y_i-\bar{y})}{\sum_{i=1}^{m}(x_i-\bar{x})^2} \end{aligned} $$

若令x, y每一项分别去均值得x_d​、y_d​, 其中xx_d​、yy_d​均为m行1列的列向量:

$$ \boldsymbol{x}=(x_1,x_2,...,x_m)^T\\ \boldsymbol{x}_{d}=(x_1-\bar{x},x_2-\bar{x},...,x_m-\bar{x})^T\\ \boldsymbol{y}=(y_1,y_2,...,y_m)^T\\ \boldsymbol{y}_{d}=(y_1-\bar{y},y_2-\bar{y},...,y_m-\bar{y})^T $$

x_d​、y_d代入上式可得

$$ w=\cfrac{\boldsymbol{x}_{d}^T\boldsymbol{y}_{d}}{\boldsymbol{x}_d^T\boldsymbol{x}_{d}} $$

情形2, 样本属性d个, 多元线性回归

$$ f(\boldsymbol x_i)=\boldsymbol w^T\boldsymbol x_i+b,使得f(\boldsymbol x_i)\approx y_i  $$

最小二乘法进行w, b估计. 为便于讨论,把b吸收入向量形式:

$$ \hat {\boldsymbol w}=(\boldsymbol w,b) $$

用m*(d+1) 大小的矩阵X表示数据集D,其中每行对应于一个示例,前d个元素对应于示例的d个属性值,最后一个元素恒置为1:

$$ \boldsymbol X=\begin{bmatrix} x_{11} & \cdots & x_{1d} & 1 \\ \vdots & \ddots & \vdots & \vdots \\ x_{m1} & \cdots & x_{md} & 1 \end{bmatrix} = \begin{bmatrix} x_{1}^T & 1 \\ \vdots & \vdots \\  x_{m}^T & 1 \\  \end{bmatrix} $$

y写成向量形式:

$$ \boldsymbol y=(y_1;y_2;...;y_m) $$

均方误差最小化/最小二乘法:

$$ \hat{\boldsymbol{w}}^{*}=\underset{\hat{\boldsymbol{w}}}{\arg \min }(\boldsymbol{y}-\mathbf{X} \hat{\boldsymbol{w}})^{\mathrm{T}}(\boldsymbol{y}-\mathbf{X} \hat{\boldsymbol{w}}) $$
上式是由一元推多元, 先由一元的均方误差最小化式子中代入多元y(x_i)的向量形式:

$$ \begin{aligned} \left(\boldsymbol{w}^{*}, b^{*}\right)&=\underset{(\boldsymbol{w}, b)}{\arg \min } \sum_{i=1}^{m}\left(f\left(\boldsymbol{x}_{i}\right)-y_{i}\right)^{2} \\ &=\underset{(\boldsymbol{w}, b)}{\arg \min } \sum_{i=1}^{m}\left(y_{i}-f\left(\boldsymbol{x}_{i}\right)\right)^{2}\\ &=\underset{(\boldsymbol{w}, b)}{\arg \min } \sum_{i=1}^{m}\left(y_{i}-\left(\boldsymbol{w}^\mathrm{T}\boldsymbol{x}_{i}+b\right)\right)^{2} \end{aligned} $$

将b吸收入向量形式, w和x扩展一列, 得简化形式:

$$ \begin{aligned} \hat{\boldsymbol{w}}^{*}&=\underset{\hat{\boldsymbol{w}}}{\arg \min } \sum_{i=1}^{m}\left(y_{i}-\hat{\boldsymbol{w}}^\mathrm{T}\hat{\boldsymbol{x}}_{i}\right)^{2} \\ &=\underset{\hat{\boldsymbol{w}}}{\arg \min } \sum_{i=1}^{m}\left(y_{i}-\hat{\boldsymbol{x}}_{i}^\mathrm{T}\hat{\boldsymbol{w}}\right)^{2} \\ \end{aligned} $$

写成向量内积的形式:

$$ \begin{aligned} \hat{\boldsymbol{w}}^{*}&=\underset{\hat{\boldsymbol{w}}}{\arg \min } \begin{bmatrix} y_{1}-\hat{\boldsymbol{x}}_{1}^\mathrm{T}\hat{\boldsymbol{w}} & \cdots & y_{m}-\hat{\boldsymbol{x}}_{m}^\mathrm{T}\hat{\boldsymbol{w}} \\ \end{bmatrix} \begin{bmatrix} y_{1}-\hat{\boldsymbol{x}}_{1}^\mathrm{T}\hat{\boldsymbol{w}} \\ \vdots \\ y_{m}-\hat{\boldsymbol{x}}_{m}^\mathrm{T}\hat{\boldsymbol{w}} \end{bmatrix} \\ \end{aligned} $$

也即

$$ \hat{\boldsymbol{w}}^{*}=\underset{\hat{\boldsymbol{w}}}{\arg \min }(\boldsymbol{y}-\mathbf{X} \hat{\boldsymbol{w}})^{\mathrm{T}}(\boldsymbol{y}-\mathbf{X} \hat{\boldsymbol{w}}) $$

则均方误差E为:

$$ E_{\hat{\boldsymbol{w}}}=(\boldsymbol{y}-\mathbf{X} \hat{\boldsymbol{w}})^{\mathrm{T}}(\boldsymbol{y}-\mathbf{X} \hat{\boldsymbol{w}}) $$

E展开然后对w求导:

$$ \cfrac{\partial E_{\hat{\boldsymbol w}}}{\partial \hat{\boldsymbol w}}= \cfrac{\partial \boldsymbol{y}^{\mathrm{T}}\boldsymbol{y}}{\partial \hat{\boldsymbol w}}-\cfrac{\partial \boldsymbol{y}^{\mathrm{T}}\mathbf{X}\hat{\boldsymbol w}}{\partial \hat{\boldsymbol w}}-\cfrac{\partial \hat{\boldsymbol w}^{\mathrm{T}}\mathbf{X}^{\mathrm{T}}\boldsymbol{y}}{\partial \hat{\boldsymbol w}}+\cfrac{\partial \hat{\boldsymbol w}^{\mathrm{T}}\mathbf{X}^{\mathrm{T}}\mathbf{X}\hat{\boldsymbol w}}{\partial \hat{\boldsymbol w}} $$

这里用到两个矩微分公式:

$$ \cfrac{\partial\boldsymbol{a}^{\mathrm{T}}\boldsymbol{x}}{\partial\boldsymbol{x}}=\cfrac{\partial\boldsymbol{x}^{\mathrm{T}}\boldsymbol{a}}{\partial\boldsymbol{x}}=\boldsymbol{a},\cfrac{\partial\boldsymbol{x}^{\mathrm{T}}\mathbf{A}\boldsymbol{x}}{\partial\boldsymbol{x}}=(\mathbf{A}+\mathbf{A}^{\mathrm{T}})\boldsymbol{x} $$

将公式代入可得:

$$ \cfrac{\partial E_{\hat{\boldsymbol w}}}{\partial \hat{\boldsymbol w}}= 0-\mathbf{X}^{\mathrm{T}}\boldsymbol{y}-\mathbf{X}^{\mathrm{T}}\boldsymbol{y}+(\mathbf{X}^{\mathrm{T}}\mathbf{X}+\mathbf{X}^{\mathrm{T}}\mathbf{X})\hat{\boldsymbol w}\\ \cfrac{\partial E_{\hat{\boldsymbol w}}}{\partial \hat{\boldsymbol w}}=2\mathbf{X}^{\mathrm{T}}(\mathbf{X}\hat{\boldsymbol w}-\boldsymbol{y}) $$

令上式(E对w的导数)为0即可得w的最优解.

若X^T*X可逆(满秩),直接求逆即可. 不可逆(变量超过样例数, 列数>行数, 解不唯一)就对其处理, 引入正则化项, 根据算法归纳偏好选择.

$$ \frac 1 2 \cfrac{\partial E_{\hat{\boldsymbol w}}}{\partial \hat{\boldsymbol w}}=0=\mathbf{X}^{\mathrm{T}}\mathbf{X}\hat{\boldsymbol w}-\mathbf{X}^{\mathrm{T}}\boldsymbol{y}\\ \hat{\boldsymbol{w}}^{*}=(\mathbf{X}^{\mathrm{T}}\mathbf{X})^{-1}\mathbf{X}^{\mathrm{T}}y $$

代入f可得:

$$ f(\hat{\boldsymbol x_i})=\hat{\boldsymbol x_i}(\mathbf{X}^{\mathrm{T}}\mathbf{X}\hat{\boldsymbol w})^{-1}\mathbf{X}^{\mathrm{T}}\boldsymbol{y} $$

线性模型变化, 广义线性模型

令模型预测值逼近y的衍生物, 将输出标记的对数作为线性模型逼近的目标.

通过线性回归实现非线性模型. 如对数线性回归:

$$ \ln y=\boldsymbol w^{\mathrm T}\boldsymbol x+b\\ y=e^{\boldsymbol w^{\mathrm T}\boldsymbol x+b} $$

广义线性模型考虑单调可微函数g作为联系函数:

$$ y=g^{-1}(\boldsymbol w^{\mathrm T}\boldsymbol x+b) $$

一般先对数据集标记y预处理, 将其转化为g(y)再训练

3.3对数几率回归

对数几率函数

用广义线性模型做二分类任务, 输出实值z转化为y 0/1值. 单位阶跃函数不连续,不能作为联系函数g^-1. S形的对数几率函数(logistic function) 单调可微, 为常用的替代函数:

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

代入z可得:

$$ y=\frac 1{1+e^{-(\boldsymbol w^{\mathrm T}\boldsymbol x+b)}} $$

转化为广义线性模型的形式:

$$ \ln {\frac{y}{1-y}}=\boldsymbol w^{\mathrm T}\boldsymbol x+b $$

其中, 等号左侧为对数几率.

几率: y/(1-y)样本为正例的相对可能性.

y: 样本为正例的可能性(而非二值化后的0/1).

1-y: 样本为反例的可能性.

西瓜书笔记3: 线性模型_第1张图片

对数几率回归

一种分类学习方法的模型, 用线性回归模型的预测结果逼近标记y的对数几率.

优点: 无需事先假设分布, 得到近似概率预测可辅助决策, 目标函数为凸函数可使用很多数值优化算法( 梯度下降, 牛顿法 ).

将y视为类后验概率估计:

$$ y=p(y=1|x)\\ 1-y=p(y=0|x) $$

上式y代入对数几率可重写为:

$$ \ln {\frac{p(y=1|x)}{p(y=0|x)}}=\boldsymbol w^{\mathrm T}\boldsymbol x+b $$

同时y代入对数几率函数也可重写:

$$ y=p(y=1|x)=\frac 1{1+e^{-(\boldsymbol w^{\mathrm T}\boldsymbol x+b)}} $$

分子分母同乘e^(w^T*x+b)得

$$ p(y=1|x)=\frac {e^{\boldsymbol w^{\mathrm T}\boldsymbol x+b}}{1+e^{\boldsymbol w^{\mathrm T}\boldsymbol x+b}}\\ 1-y=p(y=0|x)=\frac {1}{1+e^{\boldsymbol w^{\mathrm T}\boldsymbol x+b}} $$

参数估计-极大似然法

首先需要复习一下最大似然法. 估计量求法主要是两种: 矩估计法, 最大似然估计.

最大似然估计中核心的是最大似然函数: L(θ)=L(x_1, …, x_n; θ)

$$ L(\theta)=L(x_1, …, x_n; \theta)=\prod_{i=1}^n p(x_i;\theta) $$

其中x_i为样本, θ为待估参数.

对率回归模型最大化"对数似然"(取对数后累乘就变成了累加):

$$ \ell(\boldsymbol{w},b)=\sum_{i=1}^{m}\ln p(y_i|\boldsymbol{x}_i;\boldsymbol{w},b) $$

即每个样本标记真实的概率最大化.

为便于讨论,把b吸收入向量形式:

$$ \boldsymbol\beta=(\boldsymbol{w},b)\\ \hat {\boldsymbol x}=(\boldsymbol{x},1)\\\boldsymbol\beta \hat {\boldsymbol x}=\boldsymbol w^{\mathrm T}\boldsymbol x+b $$

再定义p简写形式:

$$ p_1(\hat {\boldsymbol x};\boldsymbol\beta)=p(y=1|\hat {\boldsymbol x};\boldsymbol\beta)\\p_0(\hat {\boldsymbol x};\boldsymbol\beta)=p(y=0|\hat {\boldsymbol x};\boldsymbol\beta)=1-p_1(\hat {\boldsymbol x};\boldsymbol\beta) $$

将β, p等代入, 可重写对数似然中的似然项:

$$ p(y_i|\boldsymbol{x}_i;\boldsymbol{w},b)=y_i p_1(\hat {\boldsymbol x_i};\boldsymbol\beta)+(1-y_i)p_0(\hat {\boldsymbol x_i};\boldsymbol\beta) $$

即y_i=1时取前一项p_1, y_i=0时取后一项p_0.

将上式代入似然函数ℓ得:

$$ \ell(\boldsymbol{\beta})=\sum_{i=1}^{m}\ln\left(y_ip_1(\hat{\boldsymbol x}_i;\boldsymbol{\beta})+(1-y_i)p_0(\hat{\boldsymbol x}_i;\boldsymbol{\beta})\right) $$

代入p_0, p_1, 提公共分母得

$$ \begin{aligned} \ell(\boldsymbol{\beta})&=\sum_{i=1}^{m}\ln\left(\cfrac{y_ie^{\boldsymbol{\beta}^{\mathrm{T}}\hat{\boldsymbol x}_i}+1-y_i}{1+e^{\boldsymbol{\beta}^{\mathrm{T}}\hat{\boldsymbol x}_i}}\right) \\ &=\sum_{i=1}^{m}\left(\ln(y_ie^{\boldsymbol{\beta}^{\mathrm{T}}\hat{\boldsymbol x}_i}+1-y_i)-\ln(1+e^{\boldsymbol{\beta}^{\mathrm{T}}\hat{\boldsymbol x}_i})\right) \end{aligned} $$

取y_i​=0或1后, 式中第一项的lne=1可以消掉:

$$ \ell(\boldsymbol{\beta}) = \begin{cases} \sum_{i=1}^{m}(-\ln(1+e^{\boldsymbol{\beta}^{\mathrm{T}}\hat{\boldsymbol x}_i})), & y_i=0 \\ \sum_{i=1}^{m}(\boldsymbol{\beta}^{\mathrm{T}}\hat{\boldsymbol x}_i-\ln(1+e^{\boldsymbol{\beta}^{\mathrm{T}}\hat{\boldsymbol x}_i})), & y_i=1 \end{cases} $$

​y_i​=0, y_i​=1两式综合可得:

$$ \ell(\boldsymbol{\beta})=\sum_{i=1}^{m}\left(y_i\boldsymbol{\beta}^{\mathrm{T}}\hat{\boldsymbol x}_i-\ln(1+e^{\boldsymbol{\beta}^{\mathrm{T}}\hat{\boldsymbol x}_i})\right) $$

在最大化似然函数前添加负号可得最小化似然函数:

$$ \ell(\boldsymbol{\beta})=\sum_{i=1}^{m}\left(-y_i\boldsymbol{\beta}^{\mathrm{T}}\hat{\boldsymbol x}_i+\ln(1+e^{\boldsymbol{\beta}^{\mathrm{T}}\hat{\boldsymbol x}_i})\right) $$

求最优解-牛顿法

上式是凸函数, 可使用数值优化算法如梯度下降法, 牛顿法得最优解:

$$ \boldsymbol{\beta}^*=\underset{\boldsymbol{\beta}}{\arg\min} \ell(\boldsymbol{\beta}) $$

牛顿法第t+1轮迭代解的更新公式:

$$ \boldsymbol{\beta}^{t+1}=\boldsymbol{\beta}^{t}-(\frac{\partial^2 \ell(\boldsymbol{\beta})}{\partial\boldsymbol{\beta}\partial\boldsymbol{\beta}^\mathrm T})^{-1}\frac{\partial \ell(\boldsymbol{\beta})}{\partial\boldsymbol{\beta}} $$

相关知识点: 牛顿法, 向量函数, 矩阵求导

上式中关于β的1阶、2阶导数分别为:

$$ \frac{\partial \ell(\boldsymbol{\beta})}{\partial\boldsymbol{\beta}}=-\sum_{i=1}^m \hat {\boldsymbol x_i}(y_i-p_1(\hat {\boldsymbol x_i};\boldsymbol\beta))\\ \frac{\partial^2 \ell(\boldsymbol{\beta})}{\partial\boldsymbol{\beta}\partial\boldsymbol{\beta}^\mathrm T}=\sum_{i=1}^m \hat {\boldsymbol x_i}\hat {\boldsymbol x_i}^\mathrm T p_1(\hat {\boldsymbol x_i};\boldsymbol\beta)(y_i-p_1(\hat {\boldsymbol x_i};\boldsymbol\beta)) $$

其中1阶导数的ℓ(β)代入(3.27)给出的最小化目标函数:

$$ \begin{aligned}\frac{\partial \ell(\boldsymbol{\beta})}{\partial\boldsymbol{\beta}}&=\frac{\partial\sum_{i=1}^{m}\left(-y_i\boldsymbol{\beta}^{\mathrm{T}}\hat{\boldsymbol x}_i+\ln(1+e^{\boldsymbol{\beta}^{\mathrm{T}}\hat{\boldsymbol x}_i})\right)}{\partial\boldsymbol{\beta}}\\ &=\sum_{i=1}^{m}\left(\frac{\partial(-y_i\boldsymbol{\beta}^{\mathrm{T}}\hat{\boldsymbol x}_i)}{\partial\boldsymbol{\beta}}+\frac{\partial\ln(1+e^{\boldsymbol{\beta}^{\mathrm{T}}\hat{\boldsymbol x}_i})}{\partial\boldsymbol{\beta}}\right)\end{aligned} $$

根据复合函数求导公式ln'(1+e^αx):

$$ \begin{aligned}\frac{\partial \ell(\boldsymbol{\beta})}{\partial\boldsymbol{\beta}} &=\sum_{i=1}^{m}\left(-y_i\hat{\boldsymbol x}_i+\frac{1}{1+e^{\boldsymbol{\beta}^{\mathrm{T}}\hat{\boldsymbol x}_i}}\hat{\boldsymbol x}_ie^{\boldsymbol{\beta}^{\mathrm{T}}\hat{\boldsymbol x}_i}\right)\\ &=-\sum_{i=1}^{m}\hat{\boldsymbol x}_i\left(y_i-\frac{e^{\boldsymbol{\beta}^{\mathrm{T}}\hat{\boldsymbol x}_i}}{1+e^{\boldsymbol{\beta}^{\mathrm{T}}\hat{\boldsymbol x}_i}}\right)\end{aligned} $$

上式括号内最后一项即为p_1, 代入得1阶导.

2阶导数的∂ℓ (β)/∂β代入上式给出的一阶导, 再次求导:

$$ \frac{\partial^2 \ell(\boldsymbol{\beta})}{\partial\boldsymbol{\beta}\partial\boldsymbol{\beta}^\mathrm T}= -\frac{\partial\sum_{i=1}^{m}\hat{\boldsymbol x}_i\left(y_i-\frac{e^{\boldsymbol{\beta}^{\mathrm{T}}\hat{\boldsymbol x}_i}}{1+e^{\boldsymbol{\beta}^{\mathrm{T}}\hat{\boldsymbol x}_i}}\right)}{\partial\boldsymbol{\beta}^\mathrm T}  $$

其中x_i, y_i为样本值常数项:

$$ \begin{aligned}\frac{\partial^2 \ell(\boldsymbol{\beta})} {\partial\boldsymbol{\beta}\partial\boldsymbol{\beta}^\mathrm T}&= -\sum_{i=1}^{m}\hat{\boldsymbol x}_i \frac{\partial\left(y_i-\frac{e^{\boldsymbol{\beta}^{\mathrm{T}}\hat{\boldsymbol x}_i}} {1+e^{\boldsymbol{\beta}^{\mathrm{T}}\hat{\boldsymbol x}_i}}\right)} {\partial\boldsymbol{\beta}^\mathrm T} \\ &=-\sum_{i=1}^{m}\hat{\boldsymbol x}_i \left( \frac{\partial y_i} {\partial\boldsymbol{\beta}^\mathrm T}- \frac{\partial\left(\frac{e^{\boldsymbol{\beta}^{\mathrm{T}}\hat{\boldsymbol x}_i}} {1+e^{\boldsymbol{\beta}^{\mathrm{T}}\hat{\boldsymbol x}_i}}\right)} {\partial\boldsymbol{\beta}^\mathrm T} \right) \end{aligned} $$

其中第一项偏导数为0, 第二项利用除法求导公式:

$$ \begin{aligned} \frac{\partial\left(\frac{e^{\boldsymbol{\beta}^{\mathrm{T}}\hat{\boldsymbol x}_i}} {1+e^{\boldsymbol{\beta}^{\mathrm{T}}\hat{\boldsymbol x}_i}}\right)} {\partial\boldsymbol{\beta}^\mathrm T}&= \frac{\frac{\partial e^{\boldsymbol{\beta}^{\mathrm{T}}\hat{\boldsymbol x}_i}}{\partial\boldsymbol{\beta}^\mathrm T}(1+e^{\boldsymbol{\beta}^{\mathrm{T}}\hat{\boldsymbol x}_i})-e^{\boldsymbol{\beta}^{\mathrm{T}}\hat{\boldsymbol x}_i}\frac{\partial(1+e^{\boldsymbol{\beta}^{\mathrm{T}}\hat{\boldsymbol x}_i})}{\partial\boldsymbol{\beta}^\mathrm T}}{(1+e^{\boldsymbol{\beta}^{\mathrm{T}}\hat{\boldsymbol x}_i})^2}\\ &= \frac{\hat{\boldsymbol x}_i^\mathrm{T} e^{\boldsymbol{\beta}^{\mathrm{T}}\hat{\boldsymbol x}_i}(1+e^{\boldsymbol{\beta}^{\mathrm{T}}\hat{\boldsymbol x}_i})-e^{\boldsymbol{\beta}^{\mathrm{T}}\hat{\boldsymbol x}_i}\hat{\boldsymbol x}_i^\mathrm{T} e^{\boldsymbol{\beta}^{\mathrm{T}}\hat{\boldsymbol x}_i}}{(1+e^{\boldsymbol{\beta}^{\mathrm{T}}\hat{\boldsymbol x}_i})^2}\\ &= \hat{\boldsymbol x}_i^\mathrm{T} e^{\boldsymbol{\beta}^{\mathrm{T}}\hat{\boldsymbol x}_i} \frac{(1+e^{\boldsymbol{\beta}^{\mathrm{T}}\hat{\boldsymbol x}_i})-e^{\boldsymbol{\beta}^{\mathrm{T}}\hat{\boldsymbol x}_i}}{(1+e^{\boldsymbol{\beta}^{\mathrm{T}}\hat{\boldsymbol x}_i})^2}\\ &= \frac{\hat{\boldsymbol x}_i^\mathrm{T} e^{\boldsymbol{\beta}^{\mathrm{T}}\hat{\boldsymbol x}_i}}{(1+e^{\boldsymbol{\beta}^{\mathrm{T}}\hat{\boldsymbol x}_i})^2} \end{aligned} $$

将第一项偏导(0), 第二项偏导(上式)代入二阶导得:

$$ \begin{aligned}\frac{\partial^2 \ell(\boldsymbol{\beta})} {\partial\boldsymbol{\beta}\partial\boldsymbol{\beta}^\mathrm T} &= \sum_{i=1}^{m}\hat{\boldsymbol x}_i \left(  0- \frac{\hat{\boldsymbol x}_i^\mathrm{T} e^{\boldsymbol{\beta}^{\mathrm{T}}\hat{\boldsymbol x}_i}}{(1+e^{\boldsymbol{\beta}^{\mathrm{T}}\hat{\boldsymbol x}_i})^2} \right)\\  &=  \sum_{i=1}^{m}\hat{\boldsymbol x}_i \hat{\boldsymbol x}_i^\mathrm{T} \frac{ e^{\boldsymbol{\beta}^{\mathrm{T}}\hat{\boldsymbol x}_i}}{1+e^{\boldsymbol{\beta}^{\mathrm{T}}\hat{\boldsymbol x}_i}}  \frac{1}{1+e^{\boldsymbol{\beta}^{\mathrm{T}}\hat{\boldsymbol x}_i}} \end{aligned} $$

最后两个因式分别简写为p1, (1-p1)即得二阶导公式(3.31)

一阶导在实际应用中还可能需要向量化:

$$ \frac{\partial \ell(\boldsymbol{\beta})}{\partial \boldsymbol{\beta}}=-\sum_{i=1}^{m}\hat{\boldsymbol x}_i(y_i-p_1(\hat{\boldsymbol x}_i;\boldsymbol{\beta}))\\ 令p_1(\hat{\boldsymbol x}_i;\boldsymbol{\beta})=\hat{y}_i\\ \begin{aligned} \frac{\partial \ell(\boldsymbol{\beta})}{\partial \boldsymbol{\beta}} &= -\sum_{i=1}^{m}\hat{\boldsymbol x}_i(y_i-\hat{y}_i) \\ & =\sum_{i=1}^{m}\hat{\boldsymbol x}_i(\hat{y}_i-y_i) \\ & ={\mathbf{X}^{\mathrm{T}}}(\hat{\boldsymbol y}-\boldsymbol{y}) \\ & ={\mathbf{X}^{\mathrm{T}}}(p_1(\mathbf{X};\boldsymbol{\beta})-\boldsymbol{y}) \\ \end{aligned} $$

牛顿法

牛顿法原理参考《最优化方法》(孙文瑜)

https://www.bilibili.com/video/BV15C4y1s71

无约束最优化方法中的一种。梯度下降法只需目标函数的一阶导数信息,牛顿法需要目标函数的二阶导数信息。

在x_k附近泰勒展开到2阶近似f(x):

$$ f(x)\approx f(x_k)+\nabla f(x_k)^\mathrm T(x-x_k)+\frac1 2(x-x_k)^\mathrm T\nabla^2 f(x_k)^\mathrm T(x-x_k) $$

令s=x-x_k(自变量迭代增量),则x=x_k+s:

$$ 令q^k(s)\approx f(x_k+s)\approx f(x_k)+\nabla f(x_k)^\mathrm T s+\frac 1 2s^\mathrm T\nabla^2 f(x_k)^\mathrm T s $$

求解自变量迭代增量s使q^k(s)极小化,即对q^k(s)求导并令导数等于零:

$$ \nabla q^k(s)= \nabla f(x_k)+\nabla^2 f(x_k) s=0 $$

其中求导过程: 第一项x^k是常数, 常数项求梯度为0, 线性项使用矩微分第一个公式, 该二次项(可参考附录A.2导数)为二次型的形式, 用链式求导: 先整个式子对(Ax-b)求导, 再(Ax-b)对x求导.

整个式子对(Ax-b)求导过程: 通过矩微分常用公式2可得附录式(A.32)第一行等号右边部分, 其中W^T+W因为W对称化为2W.

(Ax-b)对x求导过程: 通过矩微分常用公式1变形可得. 公式1的被微分函数中有一个为转置, 那就把A看成A^T的转置.

重温矩微分公式:

$$ \cfrac{\partial\boldsymbol{a}^{\mathrm{T}}\boldsymbol{x}}{\partial\boldsymbol{x}}=\cfrac{\partial\boldsymbol{x}^{\mathrm{T}}\boldsymbol{a}}{\partial\boldsymbol{x}}=\boldsymbol{a},\cfrac{\partial\boldsymbol{x}^{\mathrm{T}}\mathbf{A}\boldsymbol{x}}{\partial\boldsymbol{x}}=(\mathbf{A}+\mathbf{A}^{\mathrm{T}})\boldsymbol{x} $$

求导后解出s:

$$ s=-[\nabla^2 f(x_k)]^{-1}\nabla f(x_k) $$

代回s=x-x_k可得迭代公式:

$$ x_{k+1}=x_{k}-[\nabla^2 f(x_k)]^{-1}\nabla f(x_k) $$

对应到书中迭代公式还需代入实际变量:

$$ f(x_k)=\ell(\boldsymbol\beta),\boldsymbol\beta^t=\boldsymbol x_k,\nabla f(x_k)=\frac{\partial\ell(\boldsymbol\beta)}{\partial\boldsymbol\beta},\nabla^2 f(x_k)=\frac{\partial^2\ell(\boldsymbol\beta)}{\partial\boldsymbol\beta\partial\boldsymbol\beta^\mathrm T} $$

矩阵求导

https://www.bilibili.com/video/BV1xk4y1B7RQ?p=3

利用numpy计算矩阵比for循环快100倍左右.

过去学的是标量函数, 现在是向量函数.

则出现4中求导情况:标量对标量,向量对向量,标量对向量,向量对标量.

矩阵求导的本质是遍历,矩阵A中每一个元素,要对B中每一个元素求导. 求导后的元素如何排列:Y横向拉伸,X纵向拉伸

1. X纵向拉伸:对每个分量X求偏导,放到一个列向量

若f(x)为标量函数, x为向量. 标量f(x)不变, 向量x拉伸. 形状x:n*1, f(x): 1*1, df(x)/dx: n*1

实际就是多元函数的偏导数写在一个列向量中.

$$ f(x)=f(x_1,...,x_n)\\ x=[x_1,...x_n]^\mathrm T\\ \frac{df(x)}{dx}= \begin{bmatrix} \frac{\partial f(x)}{\partial x_1} \\ \vdots \\  \frac{\partial f(x)}{\partial x_n} \\  \end{bmatrix} $$

2. Y横向拉伸: 标量x不变, 向量函数f横向拉伸

$$ f(x)=\begin{bmatrix} f_1(x) \\ \vdots \\  f_n(x)\\  \end{bmatrix},\\ x为标量,\\ \frac{df(x)}{dx}= [\frac{\partial f_1(x)}{\partial x} \ ...\ \frac{\partial f_n(x)}{\partial x}] $$

3. XY逐个拉伸

$$ f(x)=\begin{bmatrix} f_1(x) \\ \vdots \\  f_n(x)\\  \end{bmatrix}, x=\begin{bmatrix} x_1 \\ \vdots \\  x_n\\  \end{bmatrix} $$

拉伸X后由向量X变为标量x_i, 再每行拉伸Y. 形状x: n*1, f(x): n*1, df(x)/dx: n*n

$$ \frac{df(x)}{dx}= \begin{bmatrix} \frac{\partial f(x)}{\partial x_1} \\ \vdots \\  \frac{\partial f(x)}{\partial x_n} \\  \end{bmatrix}=\begin{bmatrix} \frac{\partial f_1(x)}{\partial x_1} & \cdots & \frac{\partial f_n(x)}{\partial x_1}\\ \vdots & & \vdots\\  \frac{\partial f_1(x)}{\partial x_n} & \cdots & \frac{\partial f_n(x)}{\partial x_1}\\  \end{bmatrix} $$

常用公式1推导:

$$ f(x)=A^\mathrm T X,A=[a_1,...,a_n]^\mathrm T,X=[x_1,...,x_n]^\mathrm T\\ \frac{dA^\mathrm T X}{dX}=\frac{dXA^\mathrm T}{dX}=A $$

机器学习中的向量默认都是列向量. 此处的f为标量函数, X为向量.

$$ \frac{df(x)}{dx}= \begin{bmatrix} \frac{\partial f(x)}{\partial x_1} \\ \vdots \\  \frac{\partial f(x)}{\partial x_n} \\  \end{bmatrix}=\begin{bmatrix} a_1 \\ \vdots \\  a_n \\  \end{bmatrix}=A $$

前转后不转为标量,标量转置不变:

$$ A^\mathrm T X=XA^\mathrm T\\ \frac{dA^\mathrm T X}{dX}=\frac{dXA^\mathrm T}{dX}=A $$

常用公式2推导:

当f为二次型的形式:

$$ \frac{dX^\mathrm TAX}{dX}=(A+A^\mathrm T)X\\ 令X=[x_1,...,x_n]^\mathrm T, A=\begin{bmatrix} a_{11} & \cdots & a_{1n} \\ \vdots \\  a_{n1} & \cdots & a_{nn} \\  \end{bmatrix}\\ \begin{aligned} f(x)&=X^\mathrm TAX\\&=[x_1,...,x_n]\begin{bmatrix} a_{11} & \cdots & a_{1n} \\ \vdots \\  a_{n1} & \cdots & a_{nn} \\  \end{bmatrix}\begin{bmatrix} x_{1} \\ \vdots \\  x_{n}  \\  \end{bmatrix} \end{aligned} $$

形状x: n*1, A: n*n, f: 1*1三个矩阵形状乘完之后还是标量

利用矩阵乘法公式可得:

$$ f(x)=\sum _{i=1}^n\sum _{j=1}^n a_{ij}x_{i}x_{j} $$

其中a_ij下标i与x_i下标同, 来自于第一个矩阵X^T. a_ij下标j与x_j下标同, 来自于第二个矩阵X.

f是标量不动,x是向量纵向拉伸,结果也是列向量.

由于f的累加式中有两个x因子,每个x_1分别对应i=1与j=1, 分别对这两项求导:

$$ \begin{aligned} \frac{df(x)}{dx}&= \begin{bmatrix} \frac{\partial f(x)}{\partial x_1} \\ \vdots \\  \frac{\partial f(x)}{\partial x_n} \\  \end{bmatrix}\\&=\begin{bmatrix} \sum _{j=1}^n a_{1j}x_{j}+\sum _{i=1}^n a_{i1}x_{i} \\ \vdots \\  \sum _{j=1}^n a_{nj}x_{j}+\sum _{i=1}^n a_{in}x_{i} \\  \end{bmatrix}\end{aligned} $$

f对x的导数可以分成两个列向量相加, 再根据乘法公式倒推可分别写成两个矩阵相乘. 这两个矩阵正好分别是A X与A^T X:

$$ \begin{aligned} \frac{df(x)}{dx}&= \begin{bmatrix} \sum _{j=1}^n a_{1j}x_{j} \\ \vdots \\  \sum _{j=1}^n a_{nj}x_{j} \\  \end{bmatrix} +\begin{bmatrix} \sum _{i=1}^n a_{i1}x_{i} \\ \vdots \\  \sum _{i=1}^n a_{in}x_{i} \\  \end{bmatrix}\\&=\begin{bmatrix} a_{11} & \cdots & a_{1n} \\ \vdots \\  a_{n1} & \cdots & a_{nn} \\ \end{bmatrix}\begin{bmatrix} x_{1} \\ \vdots \\  x_{n}  \\  \end{bmatrix}+\begin{bmatrix} a_{11} & \cdots & a_{n1} \\ \vdots \\  a_{1n} & \cdots & a_{nn} \\ \end{bmatrix}\begin{bmatrix} x_{1} \\ \vdots \\  x_{n}  \\  \end{bmatrix}\\&=AX+A^\mathrm TX=(A+A^\mathrm T)X \end{aligned} $$

3.4线性判别分析

线性判别分析LDA (Linear Discriminant Analysis) 的思想: 给定训练样例集, 设法将样例投影到一条直线上, 使得同类样例的投影点尽可能接近、 异类样例投影点尽可能远离; 在对新样本进行分类时,将其投影到同样的这条直线上,再根据投影点的位置来确定新样本的类别.

西瓜书笔记3: 线性模型_第2张图片

给定数据集D={(x_i, y_i)}, y_i=0或1,

第i(0或1)类示例的集合: X_i

第i(0或1)类均值向量: μ_i

第i(0或1)类协方差矩阵: Σ_i

投影到直线: ω

第i(0或1)类样本中心的投影: ω^T*μ_0, ω^T*μ_1

第i(0或1)类样本投影后协方差: ω^T*Σ_0*ω, ω^T*Σ_1*ω

由于直线是一维空间, 因此中心的投影ω^T*μ_0, ω^T*μ_1, 投影后协方差ω^T*Σ_0*ω, ω^T*Σ_1*ω均为实数.

使同类样例的投影点尽可能接近->同类样例投影点的协方差尽可能小,即:

$$ w^{\mathrm T}\Sigma_0w+w^{\mathrm T}\Sigma_1w $$

使异类样例的投影点尽可能远离->类中心之间的距离尽可能大,即:

$$ \Vert w^{\mathrm T}\mu_0+w^{\mathrm T}\mu_1 \Vert^2_2 $$

相关知识:范数

||x||p:=(∑i=1n||xi||p)1p(1)

L0范数是指向量中非0的元素的个数。

L1范数是指向量中各个元素绝对值之和。

L2范数是指向量各元素的平方和然后求平方根

最大化的目标J(S_b与Sw的"广义瑞利商").

$$ J= \frac{\boldsymbol w^{\mathrm{T}}\boldsymbol{\mathrm S}_b\boldsymbol w}{\boldsymbol w^{\mathrm{T}}\boldsymbol{\mathrm S}_w\boldsymbol w} $$

同时考虑二者(同类协方差, 异类中心距离),则可得到J. 对J进行推导:

$$ \begin{aligned} J &= \cfrac{\|\boldsymbol w^{\mathrm{T}}\boldsymbol{\mu}_{0}-\boldsymbol w^{\mathrm{T}}\boldsymbol{\mu}_{1}\|_2^2}{\boldsymbol w^{\mathrm{T}}(\boldsymbol{\Sigma}_{0}+\boldsymbol{\Sigma}_{1})\boldsymbol w} \\ &= \cfrac{\|(\boldsymbol w^{\mathrm{T}}\boldsymbol{\mu}_{0}-\boldsymbol w^{\mathrm{T}}\boldsymbol{\mu}_{1})^{\mathrm{T}}\|_2^2}{\boldsymbol w^{\mathrm{T}}(\boldsymbol{\Sigma}_{0}+\boldsymbol{\Sigma}_{1})\boldsymbol w} \\ &= \cfrac{\|(\boldsymbol{\mu}_{0}-\boldsymbol{\mu}_{1})^{\mathrm{T}}\boldsymbol w\|_2^2}{\boldsymbol w^{\mathrm{T}}(\boldsymbol{\Sigma}_{0}+\boldsymbol{\Sigma}_{1})\boldsymbol w} \\ &= \cfrac{\left[(\boldsymbol{\mu}_{0}-\boldsymbol{\mu}_{1})^{\mathrm{T}}\boldsymbol w\right]^{\mathrm{T}}(\boldsymbol{\mu}_{0}-\boldsymbol{\mu}_{1})^{\mathrm{T}}\boldsymbol w}{\boldsymbol w^{\mathrm{T}}(\boldsymbol{\Sigma}_{0}+\boldsymbol{\Sigma}_{1})\boldsymbol w} \\ &= \cfrac{\boldsymbol w^{\mathrm{T}}(\boldsymbol{\mu}_{0}-\boldsymbol{\mu}_{1})(\boldsymbol{\mu}_{0}-\boldsymbol{\mu}_{1})^{\mathrm{T}}\boldsymbol w}{\boldsymbol w^{\mathrm{T}}(\boldsymbol{\Sigma}_{0}+\boldsymbol{\Sigma}_{1})\boldsymbol w} \end{aligned} $$

定义类内散度矩阵(即分母中间部分):

$$ \begin{aligned} \boldsymbol{\mathrm S}_w &=\boldsymbol{\Sigma}_{0}+\boldsymbol{\Sigma}_{1}\\ &= \sum_{x\in X_0}(\boldsymbol x-\boldsymbol{\mu}_{0})(\boldsymbol x-\boldsymbol{\mu}_{0})^{\mathrm{T}}+ \sum_{x\in X_1}(\boldsymbol x-\boldsymbol{\mu}_{1})(\boldsymbol x-\boldsymbol{\mu}_{1})^{\mathrm{T}}\end{aligned} $$

定义类间散度矩阵(即分子中间部分):

$$ \boldsymbol{\mathrm S}_b= (\boldsymbol{\mu}_{0}-\boldsymbol{\mu}_{1})(\boldsymbol{\mu}_{0}-\boldsymbol{\mu}_{1})^{\mathrm{T}} $$

将S_b, S_w代入J即可得到广义瑞利商形式.

参数估计-拉格朗日乘子法

目标函数的分子和分母都是关于的二次项, 因此目标函数的解与w的长度无关, 只与其方向有关. 不失一般性,令分母ω^T*S_ω*ω= 1. 在最大化式前添加负号可得最小化函数. 满足分母的约束条件时, 最小化则目标函数可写作:

$$ \min_{\boldsymbol w}-\boldsymbol w^{\mathrm{T}}\boldsymbol{\mathrm S}_b\boldsymbol w\\  s.t. \ \boldsymbol w^{\mathrm{T}}\boldsymbol{\mathrm S}_w\boldsymbol w=1 $$

对上式应用拉格朗日乘子法可得拉格朗日函数为:

$$ L(\boldsymbol w,\lambda)=-\boldsymbol w^{\mathrm{T}}\mathbf{S}_b\boldsymbol w+\lambda(\boldsymbol w^{\mathrm{T}}\mathbf{S}_w\boldsymbol w-1) $$

其中, g(x)=0的约束即:

$$ \boldsymbol w^{\mathrm{T}}\mathbf{S}_w\boldsymbol w-1=0 $$

对w求偏导可得

$$ \begin{aligned} \cfrac{\partial L(\boldsymbol w,\lambda)}{\partial \boldsymbol w} &= -\cfrac{\partial(\boldsymbol w^{\mathrm{T}}\mathbf{S}_b\boldsymbol w)}{\partial \boldsymbol w}+\lambda \cfrac{\partial(\boldsymbol w^{\mathrm{T}}\mathbf{S}_w\boldsymbol w-1)}{\partial \boldsymbol w} \\ &= -(\mathbf{S}_b+\mathbf{S}_b^{\mathrm{T}})\boldsymbol w+\lambda(\mathbf{S}_w+\mathbf{S}_w^{\mathrm{T}})\boldsymbol w \end{aligned} $$

在机器学习中有:

$$ \mathbf{S}_b=\mathbf{S}_b^{\mathrm{T}},\mathbf{S}_w=\mathbf{S}_w^{\mathrm{T}} $$

代入可得:

$$ \cfrac{\partial L(\boldsymbol w,\lambda)}{\partial \boldsymbol w} = -2\mathbf{S}_b\boldsymbol w+2\lambda\mathbf{S}_w\boldsymbol w $$

令上式等于0即可得

$$ -2\mathbf{S}_b\boldsymbol w+2\lambda\mathbf{S}_w\boldsymbol w=0\\ \mathbf{S}_b\boldsymbol w=\lambda\mathbf{S}_w\boldsymbol w $$

其中, λ为拉格朗日乘子. 由于最终要求解的w不关心其大小,只关心其方向,所以常数λ可以任意取值配合求解w. 上式代入S_b与λ, 移项即可解出w:

$$ (\boldsymbol{\mu}_{0}-\boldsymbol{\mu}_{1})(\boldsymbol{\mu}_{0}-\boldsymbol{\mu}_{1})^{\mathrm{T}}\boldsymbol{w}=\lambda\mathbf{S}_w\boldsymbol w \\ 令\lambda=(\boldsymbol{\mu}_{0}-\boldsymbol{\mu}_{1})^{\mathrm{T}}\boldsymbol{w}\\ (\boldsymbol{\mu}_{0}-\boldsymbol{\mu}_{1})=\mathbf{S}_w\boldsymbol w\\ \boldsymbol w=\mathbf{S}_w^{-1}(\boldsymbol{\mu}_{0}-\boldsymbol{\mu}_{1}) $$

相关知识: 附录B.1拉格朗日乘子法

附录给出的拉格朗日乘子法原理中全都是陌生符号, 我暂时也看不懂, 可以参考简明版本:

https://blog.csdn.net/wangyanphp/article/details/54577825

在实践中求S^(-1)_w常对 S_w 进行奇异值分解S_w=U*Σ*V^T:

$$ \mathbf{S}_w^{-1}=\mathbf{V}\mathbf{\Sigma}^{-1}\mathbf{U}^{\mathrm T} $$

相关知识: 附录A.3奇异值分解

LDA 可从贝时斯决策理论的角度来阐释,当两类数据同先验、满足高斯分布且协方差相等时,LDA 可达到最优分类.

推广到多分类任务

LDA 推广到多分类任务中. 假定存在N个类,且第i类示例数为m_i.

定义"全局散度矩阵":

$$ \begin{aligned} \mathbf{S}_t &= \mathbf{S}_b + \mathbf{S}_w \\ &= \sum_{i=1}^m (\boldsymbol x_i-\boldsymbol\mu)(\boldsymbol x_i-\boldsymbol\mu)^{\mathrm{T}} \end{aligned} $$

其中μ是所有示例的均值向量. 将类内散度矩阵S_w重定义为每个类别的散度矩阵之和:

$$ \mathbf{S}_w =\sum_{i=1}^N\mathbf{S}_{w_i} $$

其中:

$$ \mathbf{S}_{w_i}= \sum_{\boldsymbol x\in\boldsymbol X_i} (\boldsymbol x-\boldsymbol\mu_i)(\boldsymbol x-\boldsymbol\mu_i)^{\mathrm{T}} $$

将S_w代入S_t移项可得S_b. 注意下标i含义, μ为所有示例均值, μ_i为第i类均值向量:

$$ \begin{aligned} \mathbf{S}_b &= \mathbf{S}_t - \mathbf{S}_w \\ &= \sum_{i=1}^m(\boldsymbol x_i-\boldsymbol\mu)(\boldsymbol x_i-\boldsymbol\mu)^{\mathrm{T}}-\sum_{i=1}^N\sum_{\boldsymbol x\in X_i}(\boldsymbol x-\boldsymbol\mu_i)(\boldsymbol x-\boldsymbol\mu_i)^{\mathrm{T}} \\ &= \sum_{i=1}^N\left(\sum_{\boldsymbol x\in X_i}\left((\boldsymbol x-\boldsymbol\mu)(\boldsymbol x-\boldsymbol\mu)^{\mathrm{T}}-(\boldsymbol x-\boldsymbol\mu_i)(\boldsymbol x-\boldsymbol\mu_i)^{\mathrm{T}}\right)\right) \\ &= \sum_{i=1}^N\left(\sum_{\boldsymbol x\in X_i}\left((\boldsymbol x-\boldsymbol\mu)(\boldsymbol x^{\mathrm{T}}-\boldsymbol\mu^{\mathrm{T}})-(\boldsymbol x-\boldsymbol\mu_i)(\boldsymbol x^{\mathrm{T}}-\boldsymbol\mu_i^{\mathrm{T}})\right)\right) \\ &= \sum_{i=1}^N\left(\sum_{\boldsymbol x\in X_i}\left(\boldsymbol x\boldsymbol x^{\mathrm{T}} - \boldsymbol x\boldsymbol\mu^{\mathrm{T}}-\boldsymbol\mu\boldsymbol x^{\mathrm{T}}+\boldsymbol\mu\boldsymbol\mu^{\mathrm{T}}-\boldsymbol x\boldsymbol x^{\mathrm{T}}+\boldsymbol x\boldsymbol\mu_i^{\mathrm{T}}+\boldsymbol\mu_i\boldsymbol x^{\mathrm{T}}-\boldsymbol\mu_i\boldsymbol\mu_i^{\mathrm{T}}\right)\right) \\ &= \sum_{i=1}^N\left(\sum_{\boldsymbol x\in X_i}\left(- \boldsymbol x\boldsymbol\mu^{\mathrm{T}}-\boldsymbol\mu\boldsymbol x^{\mathrm{T}}+\boldsymbol\mu\boldsymbol\mu^{\mathrm{T}}+\boldsymbol x\boldsymbol\mu_i^{\mathrm{T}}+\boldsymbol\mu_i\boldsymbol x^{\mathrm{T}}-\boldsymbol\mu_i\boldsymbol\mu_i^{\mathrm{T}}\right)\right)\\ &= \sum_{i=1}^N\left(-\sum_{\boldsymbol x\in X_i}\boldsymbol x\boldsymbol\mu^{\mathrm{T}}-\sum_{\boldsymbol x\in X_i}\boldsymbol\mu\boldsymbol x^{\mathrm{T}}+\sum_{\boldsymbol x\in X_i}\boldsymbol\mu\boldsymbol\mu^{\mathrm{T}}+\sum_{\boldsymbol x\in X_i}\boldsymbol x\boldsymbol\mu_i^{\mathrm{T}}+\sum_{\boldsymbol x\in X_i}\boldsymbol\mu_i\boldsymbol x^{\mathrm{T}}-\sum_{\boldsymbol x\in X_i}\boldsymbol\mu_i\boldsymbol\mu_i^{\mathrm{T}}\right)  \end{aligned} $$

要展开括号内一层的累加求和Σ, 需要用到m_i类i的示例个数, 关系如下:

$$ \begin{aligned} \sum_{\boldsymbol x\in X_i}\boldsymbol x&=m_i \boldsymbol \mu_i\\ \sum_{\boldsymbol x\in X_i}\boldsymbol \mu&=m_i \boldsymbol \mu\\ \sum_{\boldsymbol x\in X_i}\boldsymbol \mu_i&=m_i \boldsymbol \mu_i\\  \end{aligned} $$

代入S_b可得:

$$ \begin{aligned} \mathbf{S}_b &= \sum_{i=1}^N\left(-m_i\boldsymbol\mu_i\boldsymbol\mu^{\mathrm{T}}-m_i\boldsymbol\mu\boldsymbol\mu_i^{\mathrm{T}}+m_i\boldsymbol\mu\boldsymbol\mu^{\mathrm{T}}+m_i\boldsymbol\mu_i\boldsymbol\mu_i^{\mathrm{T}}+m_i\boldsymbol\mu_i\boldsymbol\mu_i^{\mathrm{T}}-m_i\boldsymbol\mu_i\boldsymbol\mu_i^{\mathrm{T}}\right) \\ &= \sum_{i=1}^N\left(-m_i\boldsymbol\mu_i\boldsymbol\mu^{\mathrm{T}}-m_i\boldsymbol\mu\boldsymbol\mu_i^{\mathrm{T}}+m_i\boldsymbol\mu\boldsymbol\mu^{\mathrm{T}}+m_i\boldsymbol\mu_i\boldsymbol\mu_i^{\mathrm{T}}\right) \\ &= \sum_{i=1}^Nm_i\left(-\boldsymbol\mu_i\boldsymbol\mu^{\mathrm{T}}-\boldsymbol\mu\boldsymbol\mu_i^{\mathrm{T}}+\boldsymbol\mu\boldsymbol\mu^{\mathrm{T}}+\boldsymbol\mu_i\boldsymbol\mu_i^{\mathrm{T}}\right) \\ &= \sum_{i=1}^N m_i(\boldsymbol\mu_i-\boldsymbol\mu)(\boldsymbol\mu_i-\boldsymbol\mu)^{\mathrm{T}}  \end{aligned} $$

多分类 LDA 可以有多种实现方法:使用S_b, S_w, S_t 三者中的任何两个即可. 常见的一种实现是采用优化目标:

$$ \max\limits_{\mathbf{W}}\cfrac{ \operatorname{tr}(\mathbf{W}^{\mathrm{T}}\mathbf{S}_b \mathbf{W})}{\operatorname{tr}(\mathbf{W}^{\mathrm{T}}\mathbf{S}_w \mathbf{W})} $$

该式为二分类目标函数J的推广形式:

$$ J= \frac{\boldsymbol w^{\mathrm{T}}\boldsymbol{\mathrm S}_b\boldsymbol w}{\boldsymbol w^{\mathrm{T}}\boldsymbol{\mathrm S}_w\boldsymbol w}\\ 设\mathbf{W}=(\boldsymbol w_1,\boldsymbol w_2,...,\boldsymbol w_i,...,\boldsymbol w_{N-1})\in\mathbb{R}^{d\times(N-1)},\boldsymbol w_i\in\mathbb{R}^{d\times 1} $$

其中S_b与S_w都是d*d的矩阵, w_i为W中d行1列的列向量(二分类时只有一个w, N分类时有N-1个w),则

$$ \left\{ \begin{aligned} \operatorname{tr}(\mathbf{W}^{\mathrm{T}}\mathbf{S}_b \mathbf{W})&=\sum_{i=1}^{N-1}\boldsymbol w_i^{\mathrm{T}}\mathbf{S}_b \boldsymbol w_i \\ \operatorname{tr}(\mathbf{W}^{\mathrm{T}}\mathbf{S}_w \mathbf{W})&=\sum_{i=1}^{N-1}\boldsymbol w_i^{\mathrm{T}}\mathbf{S}_w \boldsymbol w_i \end{aligned} \right. $$

其中每个w_i累加项都是W矩阵相乘后的主对角线元素, 所以和为迹tr.

参数估计-广义特征值问题

对上式求解可利用广义特征值问题

同二分类目标函数一样,也固定该式分母为1:

$$ \begin{array}{cl}\underset{\boldsymbol{w}}{\min} & -\operatorname{tr}(\mathbf{W}^{\mathrm{T}}\mathbf{S}_b \mathbf{W}) \\ \text { s.t. } & \operatorname{tr}(\mathbf{W}^{\mathrm{T}}\mathbf{S}_w \mathbf{W})=1\end{array} $$

拉格朗日乘子法可知,上述优化问题的拉格朗日函数为

$$ L(\mathbf{W},\lambda)=-\operatorname{tr}(\mathbf{W}^{\mathrm{T}}\mathbf{S}_b \mathbf{W})+\lambda(\operatorname{tr}(\mathbf{W}^{\mathrm{T}}\mathbf{S}_w \mathbf{W})-1) $$

其中, g(x)=0的约束即:

$$ \operatorname{tr}(\mathbf{W}^{\mathrm{T}}\mathbf{S}_w \mathbf{W})-1=0 $$

根据矩阵微分公式:

$$ \cfrac{\partial\text { tr }(\mathbf{X}^{\mathrm{T}} \mathbf{B} \mathbf{X})}{\partial \mathbf{X}} =(\mathbf{B}+\mathbf{B}^{\mathrm{T}})\mathbf{X} $$

对上式关于W求偏导可得:

$$ \begin{aligned} \cfrac{\partial L(\mathbf{W},\lambda)}{\partial \mathbf{W}} &= -\cfrac{\partial\left(\operatorname{tr}(\mathbf{W}^{\mathrm{T}}\mathbf{S}_b \mathbf{W})\right)}{\partial \mathbf{W}}+\lambda \cfrac{\partial\left(\operatorname{tr}(\mathbf{W}^{\mathrm{T}}\mathbf{S}_w \mathbf{W})-1\right)}{\partial \mathbf{W}} \\ &= -(\mathbf{S}_b+\mathbf{S}_b^{\mathrm{T}})\mathbf{W}+\lambda(\mathbf{S}_w+\mathbf{S}_w^{\mathrm{T}})\mathbf{W} \end{aligned} $$

由于机器学习中:

$$ \mathbf{S}_b=\mathbf{S}_b^{\mathrm{T}},\mathbf{S}_w=\mathbf{S}_w^{\mathrm{T}} $$

代入得:

$$ \cfrac{\partial L(\mathbf{W},\lambda)}{\partial \mathbf{W}} = -2\mathbf{S}_b\mathbf{W}+2\lambda\mathbf{S}_w\mathbf{W} $$

令上式等于0即可得目标函数:

$$ -2\mathbf{S}_b\mathbf{W}+2\lambda\mathbf{S}_w\mathbf{W}=\mathbf{0}\mathbf{S}_b\mathbf{W}=\lambda\mathbf{S}_w\mathbf{W} $$

W的闭式解则是S_w^(-1)*S_b的N-1个最大广义特征值所对应的特征向量组成的矩阵.

若将W视为一个投影矩阵,则多分类 LDA 将样本投影到 N-1 维空间,N-1 通常远小于数据原有的属性数,且投影过程中使用了类别信息. 因此LDA也常被视为一种经典的监督降维技术.

3.5多分类学习

二分类学习方法推广到多分类. (难)

"拆解法", 将多分类任务拆为若干个二分类任务求解. (常用)

对问题进行拆分,然后为拆出的每个二分类任务训练一个分类器;

在测试时,对这些分类器的预测结果进行集成.

关键是如何对多分类任务进行拆分(本节介绍),以及如何对多个分类器进行集成.

最经典的拆分策略有三种. "一对一" (One vs. One ,简称 OvO) "一对 其余" (One vs. Rest ,简称 OvR) 和"多对多" (Many vs. Many,简称 MvM).

OvO 将N个类别两两配对, 产生 N(N 1)/2 个三分类任务. 新样本同时提交给所有分类器,得 N(N -1)/2 个分类结果,预测得最多的类别作为最终分类结果.

OvR 每次将一个类的样例作为正例、所有其他类的样例作为反例来训练N个分类器.在测试时选择置信度最大的类别标记作为分类结果.

MvM 是每次将若干个类作为正类,若干个其他类作为反类.

西瓜书笔记3: 线性模型_第3张图片

容易看出, OvR 只需训练N个分类器 OvO 需训练 N(N - 1)/2 个分类器. 因此, OvO的存储开销和测试时间开销通常比 OvR 更大. 但在训练时,OvR 的每个分类器均使用全部训练样例,而 OvO 的每个分类器仅用到两个类的样例,因此,在类别很多时, OvO 的训练时间开销通常比 OvR 更小.

ECOC

最常用的 MvM 技术"纠错输出码" ECOC (Error Correcting Output Codes). 其在解码过程中具有容错性.

ECOC 工作过程主要分为两步:

1. 编码:对N个类别做M次划分, 每次划分将一部分类别划为正类,一部分划为反类,从而形成二分类 练集;这样一共产生M个训练集,可训练出M个分类器.

2. 解码:M个分类器分别对测试样本预测,这些预测标记组成编码.将这个预测编码与每个类别各自的编码进行比较,返回其中距离最小的类别作为最终预测结果.

类别划分通过"编码矩阵" (coding matrix) 指定.编码矩阵主要有二元码(正、反类)和三元码(正、反、停用类-不使用该样本).

解码阶段,各分类器的预测结果联合起来形成了测试示例的编码, 将距离最小的编码所对应的类别作为预测结果.

西瓜书笔记3: 线性模型_第4张图片

海明距离=不同分类个数(停用类算0.5个), 如三元码C2: 0.5+0.5+0.5+0.5=2

欧氏距离=各不同分类处距离平方和再开方, 如三元码C2:√(1^2+1^2+1^2+1^2)=2

对同一个学习任务, ECOC 编码越长,纠错能力越强.然而,编码越长,意味着所需训练的分类器越多,计算、存储开销都会增大; 对有限类别数 可能的组合数目是有限的,码长超过一定范围后就失去了意义(上图a二元码的f2与f5是否属于失去意义呢?).

理论上来说,任意两个类别之间的编码距离越远,则纠错能力越强. 并不是编码的理论性质越好,分类性能就越好,例如将多个类拆解为两个"类别子集方式所形成的两个类别子集的区分难度往往不同.

3.6类别不平衡问题

类别不平衡(class imbalance) : 分类任务中不同类别的训练样例数目差别很大的情况.

线性分类器为例,用 y=w^T*x+b 对新样本分类时,用预测出的y值与阈值比较,反映正例的可能性,几率y/(1-y)反映了正例可能性与反例可能性之比值. 分类器决策规则为:

$$ 若\frac y{1-y}>1, 预测为正例 $$

正、反例的数目不同时,令m+表示正例数目,m-表示反例数目,则观测几率是m+/m-,假设训练集是真实样本总体的无偏采样, 观测几率代表真实几率.分类器的预测几率高于观测几率就应判定为正例, 实际合理规则:

$$ 若\frac y{1-y}>\frac {m^+}{m^-}, 预测为正例 $$

欲将该式应用在分类器决策规则, 需要调整预测值. 再缩放(rescaling):

$$ 令\frac {y'}{1-y'}=\frac y{1-y}\times\frac {m^+}{m^-} $$

类别不平衡性处理的三类做法:

1. 直接对训练集里的反类样例进行"欠采样" (undersampling) ,即去除一些反倒使得正、反例数接近.

2.训练集里的正类样例进行"过采样" (oversampling) ,即增加一些正例使得正、反例数目 接近.

3. 基于原始训练集进行学习,但在用训练好的分类器进行预测时,将上式(再缩放)嵌入到其决策过程中,称为"阔值移动" (threshold-moving).

相关知识: 再缩放与阈值移动

参考: https://www.bookstack.cn/read/huaxiaozhuan-ai/spilt.7.9a94c12cac5bfe37.md

基于再缩放策略进行决策,称之为阈值移动

欠采样法的时间开销小于过采样. 过采样法不能简单地对初始正例样本进行重复来样,否则会招致严重的过拟合. 过样法的代表性算法 SMOTE对训练集里的正例进行插值来产生额外的正例. 另一方面,欠采样法若随机丢弃反例可能丢失一些重要信息;欠采样法的代表性算法利用集成学习机制,将反例划分为若干个集合供不同学习器使用,这样对每个学习器来看都进行了欠采样,但在全局来看却不会丢失重要信息.

习题

可参考代码3.3、3.5:

https://www.pythonheidong.com/blog/article/289970/7ea63d2bffc521ca2300/

1235手写拍照的博主:

https://blog.csdn.net/qq_37369201/article/details/106879098

较正规些:

https://www.cnblogs.com/zwtgyh/p/10705603.html

简答比较完整(但没代码):

https://wenku.baidu.com/view/31ad796c31687e21af45b307e87101f69f31fb5f.html

3.1

什么情形下式(3.2) 中不必考虑偏置项 b:

参考: https://wenku.baidu.com/view/31ad796c31687e21af45b307e87101f69f31fb5f.html

yi-y0=w(xi-x0), 对每个样本减去第一个样本可消b

参考: https://www.cnblogs.com/zwtgyh/p/10705603.html

ω^T 决定学习得到模型(直线、平面)的方向,而b则决定截距,当学习得到的模型恰好经过原点时,可以不考虑偏置项b。偏置项b实质上就是体现拟合模型整体上的浮动,可以看做是其它变量留下的偏差的线性修正,一般情况需要考虑。但如果对数据集进行了归一化处理,即对目标变量减去均值向量,此时就不需要考虑偏置项了。(这个方法在实际处理中看到的更多)

3.2

试证明,对于参数w(即对w求偏导),对率回归的目标函数(3.18)是非凸的,但其对数似然函数(3.27)是凸的. 对区间[a,b]上定义的函数f(x),若它对区间中任意两点x1,x2均有f((x1+x2)/2)≤(f(x1)+f(x2))/2,则称f(x)为区间[a,b]上的凸函数。对于实数集上的函数,可通过二阶导数来判断:若二阶导数在区间上非负,则称为凸函数,在区间上恒大于零,则称为严格凸函数。(这就是凸和非凸的定义与证明方法)

相关知识: 凸函数

只有凸函数的正线性组合才能保证再次凸。在逻辑回归的情况下y_i为正,因此它确实有效。

注意:中国大陆数学界(如同济教材)关于函数凹凸性定义和国外的定义是相反的。Convex Function在某些中国大陆的数学书中指凹函数。

对率回归的目标函数(3.18):

$$ y=\frac 1{1+e^{-(\boldsymbol w^{\mathrm T}\boldsymbol x+b)}} $$

其对数似然函数(3.27):

$$ \ell(\boldsymbol{\beta})=\sum_{i=1}^{m}\left(-y_i\boldsymbol{\beta}^{\mathrm{T}}\hat{\boldsymbol x}_i+\ln(1+e^{\boldsymbol{\beta}^{\mathrm{T}}\hat{\boldsymbol x}_i})\right) $$

参考: https://zhuanlan.zhihu.com/p/76639936(这个目标函数的形式不一样)

https://blog.csdn.net/john_bian/article/details/100108380

一元函数f''>0, 对应多元函数的二阶导是半正定-为凸函数. 对w求二阶导数,二阶导数的维度为D*D,这个二阶导数也称之为Hessian Matrix. 对于矩阵、向量的求导请参考: matrixcookbook

一个性质:为了证明一个D*D的矩阵H为半正定Positive Semidefinite,需要证明对于任意一个非零向量 v , 需要得出v^T*H*v>=0

(3.18)对w一阶偏导

根据1/x求导公式:

$$ \frac{\partial y}{\partial w}=-\frac{e^{-(w^{T}x+b)}(-x)}{(1+e^{-(w^{T}x+b)})^{2}}\\ =\frac{1}{(1+e^{-(w^{T}x+b)})^{2}}\frac{1}{e^{w^{T}x+b}}x $$

根据几率定义:

$$ \frac{1-y}{y}=\frac{1}{e^{w^{T}x+b}} $$

将几率定义代入一阶导:

$$ \frac{\partial y}{\partial w}=y^{2}(\frac{1-y}{y})x\\ =(y-y^{2})x $$

接着求二阶导:

$$ H=\frac{\partial (y-y^{2})x}{\partial w}\\ =x\frac{\partial y}{\partial w}-x\frac {\partial y^{2}}{\partial w}\\ =x(y-y^{2})x^T-2yx(y-y^{2})x^T\\ =(1-2y)x(y-y^{2})x^{T}\\ =y(1-2y)(1-y)xx^{T} $$

因为xx^T是半正定的,并且y∈(0,1)。当y∈(0.5, 1)时y(1-2y)(1-y)<0,所以此时H是半负定的,式(3.18)是非凸的。

(3.27)的一阶导, 二阶导在书(3.30)(3.31)已分别算出

$$ \frac{\partial \ell(\boldsymbol{\beta})}{\partial\boldsymbol{\beta}}=-\sum_{i=1}^m \hat {\boldsymbol x_i}(y_i-p_1(\hat {\boldsymbol x_i};\boldsymbol\beta))\\ \frac{\partial^2 \ell(\boldsymbol{\beta})}{\partial\boldsymbol{\beta}\partial\boldsymbol{\beta}^\mathrm T}=\sum_{i=1}^m \hat {\boldsymbol x_i}\hat {\boldsymbol x_i}^\mathrm T p_1(\hat {\boldsymbol x_i};\boldsymbol\beta)(y_i-p_1(\hat {\boldsymbol x_i};\boldsymbol\beta)) $$

其中xx^T半正定, p>0, 所以是凸的.

(3.3-3.5几道编程题打算做李宏毅作业时候做, 现在只能跑些各博客不太规范的, 看过助教大佬的模板再来写, 也许会带来更多思考)

你可能感兴趣的:(人工智能,机器学习)