文章目录
- 十、线性回归
- 10.1 示例
- 10.2 拟合
- 10.3 推导
- 10.4 岭回归
- 10.5 作业
- 十一、Logistic回归
- 11.1 分割超平面
- 11.2 点到直线的距离
- 11.3 sigmoid函数
- 11.4 优化目标
- 11.5 求解
- 11.6 作业
十、线性回归
线性回归是一个常用的机器学习算法;
10.1 示例
-
表 1.单变量的股价预测
时间(天) | 股价 |
---|---|
1 | 10 |
2 | 11 |
3 | ? |
令 x 表示第 x 天, y = f ( x ) y=f(x) y=f(x) 表示第 x 天的股价,由此建立线性模型:
y = f ( x ) = a x + b y = f(x) = ax + b y=f(x)=ax+b
求系数 a 和 b.
解:
{ 10 = 1 a + b 11 = 2 a + b ⇒ { a = 1 b = 9 ⇒ f ( x ) = x + 9 \left\{ \begin{matrix} 10 = 1a + b \\ 11 = 2a + b \end{matrix} \right. \Rightarrow \left\{ \begin{matrix} a = 1 \\ b = 9 \end{matrix} \right. \Rightarrow f(x) = x + 9 {10=1a+b11=2a+b⇒{a=1b=9⇒f(x)=x+9
源码为:\left{ \begin{matrix} 10 = 1a + b \ 11 = 2a + b \end{matrix} \right. \Rightarrow \left{ \begin{matrix} a = 1 \ b = 9 \end{matrix} \right. \Rightarrow f(x) = x + 9;
将 x = 3 带入,可以预测第 3 天的股价为 12 元;
-
表 2.多变量的股价预测
时间(天) | 外围股指 | 股价 |
---|---|---|
1 | 25000 | 10 |
2 | 25500 | 11 |
3 | 25600 | 11.4 |
4 | 25800 | ? |
令 x 1 x_1 x1 表示时间, x 2 x_2 x2 表示外围股数, y y y 表示股价,由此建立线性模型:
y = f ( x 1 , x 2 ) = a 1 x 1 + a 2 x 2 + b (1) y = f(x_1,x_2) = a_1x_1 + a_2x_2 + b \tag{1} y=f(x1,x2)=a1x1+a2x2+b(1)
由于有三个变量 a 1 , a 2 , b a_1,a_2,b a1,a2,b,因此需要用三天的数据求得它们;
{ 10 = 1 a 1 + 25000 a 2 + b 11 = 2 a 1 + 25500 a 2 + b 11.4 = 3 a 1 + 25600 a 2 + b \left\{ \begin{matrix} 10 = 1a_1 + 25000a_2 + b \\ 11 = 2a_1 + 25500a_2 + b \\ 11.4 = 3a_1 + 25600a_2 + b \end{matrix} \right. ⎩ ⎨ ⎧10=1a1+25000a2+b11=2a1+25500a2+b11.4=3a1+25600a2+b
然后就可以对第 4 天的股价进行预测;
但是当自变量(属性)较多时,这样写太麻烦;
因此可以将第 i 天的数据写成向量 x i = [ x i 1 , … , x i m ] \mathbf{x}_{i} = [x_{i1},\dots,x_{im}] xi=[xi1,…,xim],相应的系数写为 w = [ w 1 , … , w m ] \mathbf{w} = [w_1,\dots,w_m] w=[w1,…,wm],则(1)式可以修改为:
y i = x i w + b (2) y_i = \mathbf{x}_i\mathbf{w} + b \tag{2} yi=xiw+b(2)
进一步地,扩展 x i = [ x i 0 , x i 1 , … , x i m ] \mathbf{x}_i = [x_{i0},x_{i1},\dots,x_{im}] xi=[xi0,xi1,…,xim],其中 x i 0 ≡ 1 x_{i0} \equiv 1 xi0≡1
同时扩展 w = [ w 0 , w 1 , … , w m ] T \mathbf{w} = [w_0,w_1,\dots,w_m]^{\mathrm{T}} w=[w0,w1,…,wm]T,其中 w 0 = b w_0 = b w0=b,则(2)式改写为:
y i = x i w (3) y_i = \mathbf{x}_{i} \mathbf{w} \tag{3} yi=xiw(3)
该方案看起来很完美,但是在实际数据中, m m m 个属性远远不止 m + 1 m+1 m+1 条训练数据,因此需要更加复杂的方案;
10.2 拟合
给定数据集 X = [ x i j ] n × ( m + 1 ) \mathbf{X} = [x_{ij}]_{n \times (m+1)} X=[xij]n×(m+1) 与其标签 Y = [ y 1 , … , y N ] T \mathbf{Y} = [y_1,\dots,y_N]^{\mathrm{T}} Y=[y1,…,yN]T,线性回归的目的是获得一个系数向量 w \mathbf{w} w (它是 ( m + 1 ) × 1 (m+1)\times 1 (m+1)×1 列向量)使得 X w ≈ Y \mathbf{X} \mathbf{w} \approx \mathbf{Y} Xw≈Y,源码为:\mathbf{X} \mathbf{w} \approx \mathbf{Y};或者更为准确地说,是:
arg w min ∥ X w − Y ∥ 2 2 (4) \arg_{\mathbf{w}}\min \Vert \mathbf{X}_{\mathbf{w}} - \mathbf{Y} \Vert_{2}^{2} \tag{4} argwmin∥Xw−Y∥22(4)
源码为:\arg_{\mathbf{w}}\min \Vert \mathbf{X}{\mathbf{w}} - \mathbf{Y} \Vert{2}^{2} \tag{4};
注意:双竖线在Latex中需要换成 | 表示;另外,这里已经扩展了 X \mathbf{X} X 和 w \mathbf{w} w;
表 2 所对应的:
X = [ 1 1 25000 1 2 25500 1 3 25600 ] \mathbf{X} = \left[ \begin{matrix} 1&1&25000 \\ 1&2&25500 \\ 1&3&25600 \end{matrix} \right] X= 111123250002550025600
源码为:\mathbf{X} = \left[ \begin{matrix} 1&1&25000 \ 1&2&25500 \ 1&3&25600 \end{matrix} \right];
分析:
- 希望使用 ∑ j = 0 m x i j w j \sum_{j=0}^{m} x_{ij}w{j} ∑j=0mxijwj 来拟合 y j y_j yj;
- 对于新的实例 x \mathbf{x} x ,则将 x w \mathbf{xw} xw 作为 y y y 的预测值;
- X \mathbf{X} X 和 w \mathbf{w} w 的维度分别为 n × ( m + 1 ) n \times (m + 1) n×(m+1) 和 ( m + 1 ) × 1 (m+1)\times 1 (m+1)×1,因此其乘积的维度为 n × 1 n \times 1 n×1;
- 复习矩阵的乘法 A = U V \mathbf{A} = \mathbf{U}\mathbf{V} A=UV,则 a i j a_{ij} aij 为 U \mathbf{U} U 的第 i i i 行与 U \mathbf{U} U 第 j j j 行的乘积;
10.3 推导
如何获得 w \mathbf{w} w ?
推导过程:
∣ ∣ X w − Y ∣ ∣ 2 2 = ( X w − Y ) T ( X w − Y ) = ( w T X T − Y T ) ( X w − Y ) = w T X T X w − w T X T Y − Y T X w + Y T Y \begin{array}{ll}||\mathbf{X} \mathbf{w} - \mathbf{Y}||_2^2 &= (\mathbf{X} \mathbf{w} - \mathbf{Y})^{\textrm{T}} (\mathbf{X} \mathbf{w} - \mathbf{Y})\\ &= (\mathbf{w}^{\textrm{T}} \mathbf{X}^{\mathrm{T}} - \mathbf{Y}^{\mathrm{T}}) (\mathbf{X} \mathbf{w} - \mathbf{Y})\\ &= \mathbf{w}^{\mathrm{T}} \mathbf{X}^{\mathrm{T}}\mathbf{X} \mathbf{w} - \mathbf{w}^{\mathrm{T}} \mathbf{X}^{\mathrm{T}}\mathbf{Y} - \mathbf{Y}^{\mathrm{T}}\mathbf{X} \mathbf{w}+\mathbf{Y}^{\mathrm{T}}\mathbf{Y} \end{array} ∣∣Xw−Y∣∣22=(Xw−Y)T(Xw−Y)=(wTXT−YT)(Xw−Y)=wTXTXw−wTXTY−YTXw+YTY
将该式关于 w \mathbf{w} w 求导(使用向量求导法则)并令其为0,可得:
KaTeX parse error: Expected 'EOF', got '}' at position 80: …m{T}}\mathbf{Y}}̲ = 0
最后: w = ( X T X ) − 1 X T Y \mathbf{w} = \left( \mathbf{X}^{\mathbf{T}} \mathbf{X} \right)^{-1}\mathbf{X}^{\mathrm{T}}\mathbf{Y} w=(XTX)−1XTY
更多知识请点击:向量求导法则和线性回归与最小二乘法;
- 注意:若公式需要对齐,在需要对齐的地方加&,并加换行符\;
10.4 岭回归
将优化目标改为:
arg w min ∥ X w − Y ∥ 2 2 + λ ∥ w ∥ 2 2 (5) \arg_{\mathbf{w}}\min \Vert \mathbf{X}_{\mathbf{w}} - \mathbf{Y} \Vert_{2}^{2} + \lambda \Vert \mathbf{w} \Vert_{2}^{2} \tag{5} argwmin∥Xw−Y∥22+λ∥w∥22(5)
源码为:\arg_{\mathbf{w}}\min \Vert \mathbf{X}{\mathbf{w}} - \mathbf{Y} \Vert{2}^{2} + \lambda \Vert \mathbf{w} \Vert_{2}^{2} \tag{5};
可以推导出: X T X w − X T Y + λ w = 0 \mathbf{X}^{\mathrm{T}}\mathbf{X}\mathbf{w} - \mathbf{X}^{\mathrm{T}} \mathbf{Y} + \lambda\mathbf{w} = 0 XTXw−XTY+λw=0;
最后: w = ( X T X + λ I ) − 1 X T Y \mathbf{w} = \left( \mathbf{X}^{\mathrm{T}}\mathbf{X} + \lambda \mathbf{I}\right)^{-1} \mathbf{X}^{\mathrm{T}}\mathbf{Y} w=(XTX+λI)−1XTY;
10.5 作业
- 写一个小例子 ( n = 3 , m = 1 ) \left( n=3,m=1 \right) (n=3,m=1) 来验证最小二乘法;
首先解释一下m与n的含义:
在最小二乘法中,n通常表示数据点的数量。可以理解为:在拟合一条直线或者更高层次的多项式到一组数据点时,n代表拥有的观测值(即数据点)的数量。
若有一组(x,y)的数据,那么n表示数据点的数量,等于数组x和y的长度。
x: [x1, x2, x3, ..., xn] y: [y1, y2, y3, ..., yn]
在最小二乘法的计算中,需要使用所有n个数据点来计算残差平方和,并找到使这个和最小的参数值(如直线的斜率和截距)。这些参数通过最小化残差平方和(即每个数据点的预测值与实际观测值之间的差的平方和)来确定。
因此,在上述例子中,n=3, m=1,这里的 n=3 表示有三个数据点,而 m=1 表示正在拟合的直线的斜率被固定为1(在该特定例子中,我们只需要找到截距即可)。
- 假设有以下三个数据点:
x: [1, 2, 3] y: [2, 3, 5]
- 由于m=1,因此直线假设为y=x+b。最小二乘法的目标是找到使以下残差平方和最小的 b 值: S ( b ) = ∑ i = 1 n ( y i − ( x i + b ) ) 2 S(b) = \sum_{i=1}{n} (y_i - (x_i + b))^2 S(b)=∑i=1n(yi−(xi+b))2
- 将三组(x,y)代入得: S ( b ) = ( 2 − ( 1 + b ) ) 2 + ( 3 − ( 2 + b ) ) 2 + ( 5 − ( 3 + b ) ) 2 S(b) = (2 - (1 + b))^2 + (3 - (2 + b))^2 + (5 - (3 + b))^2 S(b)=(2−(1+b))2+(3−(2+b))2+(5−(3+b))2
- 化解可得: S ( b ) = 3 b 2 − 8 b + 6 S(b) = 3b^2 - 8b + 6 S(b)=3b2−8b+6
- 为找到S(b)的最小值,对S(b)关于b求导并令其等于0
- 解得: b = 4 3 b=\frac{4}{3} b=34
- 将b值代入直线可得: y = x + 4 3 y = x + \frac{4}{3} y=x+34 或 3 y = 3 x + 4 3y = 3x + 4 3y=3x+4
十一、Logistic回归
logistic回归用于分类,特别是二分类(仅有两个类别)。
11.1 分割超平面
- 线性分类模型的目标,是找到一个超平面,把正例、负例分割;
- 问题:如何评价每个超平面的性能?
- 方案之一,是最小化错分对象的数量,但如果多个超平面都有满足条件怎么办?
- 哪个超平面是最优的,就体现不同算法的设计理念;
- 方案之二,就是根据每个对象到超平面的距离,来计算损失;如果分类正确,则离超平面越远越好;如果错误分类,则离超平面越近越好;
11.2 点到直线的距离
- 在 m \mathbf{m} m 维空间上, m \mathbf{m} m 维向量 w \mathbf{w} w 确定了一条直线;
- 为方便起见,令 w \mathbf{w} w 为列向量;
- 点 x \mathbf{x} x 与 w \mathbf{w} w 的距离为 x w \mathbf{xw} xw ;
- 这个距离带符号,正号代表 x \mathbf{x} x 在 w \mathbf{w} w 的某一边,负号则表示另一边;
- 参见《高等数学》;
11.3 sigmoid函数
- x \mathbf{x} x 到超平面的距离(带符号)取值范围为: ( − ∞ , + ∞ ) \left( -\infty , +\infty \right) (−∞,+∞),希望将其转成概率;
- 如果距离为负而且离超平面很远,则它为正例的概率就接近0;
- 如果距离为正而且离超平面很远,则它为正例的概率就接近1;
- 使用sigmoid函数将距离转换为(我们以为的)概率;
P ( y = 1 ∣ x ; w ) = 1 1 + e − x w (1) P \left( y=1 \vert \mathbf{x} ; \mathbf{w} \right) = \frac{1}{1+e^{-\mathbf{xw}}} \tag{1} P(y=1∣x;w)=1+e−xw1(1)
源码为:P \left( y=1 \vert \mathbf{x} ; \mathbf{w} \right) = \frac{1}{1+e^{-\mathbf{xw}}};
11.4 优化目标
- 统一 y i \mathbf{y}_{i} yi 不同取值(0或1):
P ( y i ∣ x i ; w ) = P ( y i = 1 ∣ x i ; w ) y i ( 1 − P ( y i = 1 ∣ x i ; w ) ) 1 − y i (2) P\left( \mathbf{y}_{i} \vert \mathbf{x}_{i} ; \mathbf{w} \right) = P\left( \mathbf{y}_{i} =1 \vert \mathbf{x}_{i} ; \mathbf{w} \right)^{\mathbf{y}_{i}} \left( 1-P\left( \mathbf{y}_{i}=1 \vert \mathbf{x}_{i}; \mathbf{w} \right) \right)^{1-\mathbf{y}_{i}} \tag{2} P(yi∣xi;w)=P(yi=1∣xi;w)yi(1−P(yi=1∣xi;w))1−yi(2)
显然,这个概率越大越好;
要针对全部对象进行优化,可将相应的概率相乘(最大似然,maximal likelihood):
arg w max L ( w ) = ∏ i = 1 n P ( y i ∣ x i ; w ) (3) \arg_{\mathbf{w}}\max \mathrm{L}(\mathbf{w}) = \prod_{i=1}^{n} P(\mathbf{y}_{i} \vert \mathbf{x}_{i};\mathbf{w}) \tag{3} argwmaxL(w)=i=1∏nP(yi∣xi;w)(3)
11.5 求解
相乘计算困难,将其求一个对数,不改变单调性:
log L ( w ) = ∑ i = 1 n log P ( y i ∣ x i ; w ) = ∑ i = 1 n y i log P ( y i = 1 ∣ x i ; w ) + ( 1 − y i ) log ( 1 − P ( y i = 1 ∣ x i ; w ) ) = ∑ i = 1 n y i log P ( y i = 1 ∣ x i ; w ) 1 − P ( y i = 1 ∣ x i ; w ) + log ( 1 − P ( y i = 1 ∣ x i ; w ) ) = ∑ i = 1 n y i x i w − log ( 1 + e x i w ) (4) \begin{aligned} \log L(\mathbf{w}) &= \sum_{i=1}^{n} \log P(\mathbf{y}_{i} \vert \mathbf{x}_{i};\mathbf{w}) \\ &= \sum_{i=1}^{n} \mathbf{y}_{i} \log P(\mathbf{y}_{i}=1 \vert \mathbf{x}_{i};\mathbf{w}) + (1-\mathbf{y}_{i}) \log(1-P(\mathbf{y}_{i}=1 \vert \mathbf{x}_{i};\mathbf{w})) \\ &= \sum_{i=1}^{n} \mathbf{y}_{i} \log \frac{P(\mathbf{y}_{i}=1 \vert \mathbf{x}_{i};\mathbf{w})}{1-P(\mathbf{y}_{i}=1 \vert \mathbf{x}_{i};\mathbf{w})}+ \log(1-P(\mathbf{y}_{i}=1 \vert \mathbf{x}_{i};\mathbf{w})) \\ &= \sum_{i=1}^{n} \mathbf{y}_{i} \mathbf{x}_{i} \mathbf{w} - \log(1+e^{\mathbf{x}_{i}\mathbf{w}}) \end{aligned} \tag{4} logL(w)=i=1∑nlogP(yi∣xi;w)=i=1∑nyilogP(yi=1∣xi;w)+(1−yi)log(1−P(yi=1∣xi;w))=i=1∑nyilog1−P(yi=1∣xi;w)P(yi=1∣xi;w)+log(1−P(yi=1∣xi;w))=i=1∑nyixiw−log(1+exiw)(4)
- 源码为:
\begin{aligned} \log L(\mathbf{w})
&= \sum_{i=1}^{n} \log P(\mathbf{y}{i} \vert \mathbf{x}{i};\mathbf{w}) \
&= \sum_{i=1}^{n} \mathbf{y}{i} \log P(\mathbf{y}{i}=1 \vert \mathbf{x}{i};\mathbf{w}) + (1-\mathbf{y}{i}) \log(1-P(\mathbf{y}{i}=1 \vert \mathbf{x}{i};\mathbf{w})) \
&= \sum_{i=1}^{n} \mathbf{y}{i} \log \frac{P(\mathbf{y}{i}=1 \vert \mathbf{x}{i};\mathbf{w})}{1-P(\mathbf{y}{i}=1 \vert \mathbf{x}{i};\mathbf{w})}+ \log(1-P(\mathbf{y}{i}=1 \vert \mathbf{x}{i};\mathbf{w})) \
&= \sum{i=1}^{n} \mathbf{y}{i} \mathbf{x}{i} \mathbf{w} - \log(1+e^{\mathbf{x}_{i}\mathbf{w}})
\end{aligned} \tag{4}
对 w \mathbf{w} w 求编导:
∂ log L ( w ) ∂ w = ∑ i = 1 n y i x i − e x i w 1 + e x i w x i = ∑ i = 1 n ( y i − e x i w 1 + e x i w ) x i (5) \begin{aligned} \frac{\partial \log L(\mathbf{w})}{\partial \mathbf{w}} &= \sum_{i=1}^{n}\mathbf{y}_{i} \mathbf{x}_{i} - \frac{e^{\mathbf{x}_{i}\mathbf{w}}}{1+e^{\mathbf{x}_{i}\mathbf{w}}}\mathbf{x}_{i} \\ &= \sum_{i=1}^{n}\left(\mathbf{y}_{i} - \frac{e^{\mathbf{x}_{i}\mathbf{w}}}{1+e^{\mathbf{x}_{i}\mathbf{w}}} \right) \mathbf{x}_{i} \end{aligned} \tag{5} ∂w∂logL(w)=i=1∑nyixi−1+exiwexiwxi=i=1∑n(yi−1+exiwexiw)xi(5)
- 源码为:
\begin{aligned}
\frac{\partial \log L(\mathbf{w})}{\partial \mathbf{w}}
&= \sum_{i=1}^{n}\mathbf{y}{i} \mathbf{x}{i} - \frac{e{\mathbf{x}_{i}\mathbf{w}}}{1+e{\mathbf{x}{i}\mathbf{w}}}\mathbf{x}{i} \
&= \sum_{i=1}^{n}\left(\mathbf{y}{i} - \frac{e{\mathbf{x}_{i}\mathbf{w}}}{1+e{\mathbf{x}{i}\mathbf{w}}} \right) \mathbf{x}_{i}
\end{aligned} \tag{5}
令该偏导为0,无法获得解析式,因此用梯度下降:
w t + 1 = w t − α ∂ log L ( w ) ∂ w (6) \mathbf{w}^{t+1} = \mathbf{w}^{t} - \alpha \frac{\partial \log L(\mathbf{w})}{\partial \mathbf{w}} \tag{6} wt+1=wt−α∂w∂logL(w)(6)
11.6 作业
自己推导一遍,并描述这个方法的特点(不少于5条)
推导过程如下:
- 在 m \mathbf{m} m维空间上,由点到直线的距离可得:点 x \mathbf{x} x到 m \mathbf{m} m维超平面上的 m \mathbf{m} m维向量 w \mathbf{w} w可确定一条直线,将 w \mathbf{w} w表示为列向量,则点 x \mathbf{x} x与 w \mathbf{w} w之间的距离为 x w \mathbf{xw} xw。
- 接着,使用Sigmoid激活函数将距离转换到0和1之间:若距离为负且离超平面很远,则输出接近0;若距离为正且离超平面远,则输出接近1。可表示为下述式子:
P ( y = 1 ∣ x ; w ) = 1 1 + e − x w P \left( y=1 \vert \mathbf{x} ; \mathbf{w} \right) = \frac{1}{1+e^{-\mathbf{xw}}} P(y=1∣x;w)=1+e−xw1 - 统一 y i \mathbf{y}_{i} yi 不同取值(0或1):
P ( y i ∣ x i ; w ) = P ( y i = 1 ∣ x i ; w ) y i ( 1 − P ( y i = 1 ∣ x i ; w ) ) 1 − y i P\left( \mathbf{y}_{i} \vert \mathbf{x}_{i} ; \mathbf{w} \right) = P\left( \mathbf{y}_{i} =1 \vert \mathbf{x}_{i} ; \mathbf{w} \right)^{\mathbf{y}_{i}} \left( 1-P\left( \mathbf{y}_{i}=1 \vert \mathbf{x}_{i}; \mathbf{w} \right) \right)^{1-\mathbf{y}_{i}} P(yi∣xi;w)=P(yi=1∣xi;w)yi(1−P(yi=1∣xi;w))1−yi - 显然,这个概率越大越好。要针对全部对象进行优化,可将相应的概率相乘:
arg w max L ( w ) = ∏ i = 1 n P ( y i ∣ x i ; w ) \arg_{\mathbf{w}}\max \mathrm{L}(\mathbf{w}) = \prod_{i=1}^{n} P(\mathbf{y}_{i} \vert \mathbf{x}_{i};\mathbf{w}) argwmaxL(w)=i=1∏nP(yi∣xi;w) - 简化求解:将其求一个对数,不改变单调性:
log L ( w ) = ∑ i = 1 n log P ( y i ∣ x i ; w ) = ∑ i = 1 n y i log P ( y i = 1 ∣ x i ; w ) + ( 1 − y i ) log ( 1 − P ( y i = 1 ∣ x i ; w ) ) = ∑ i = 1 n y i log P ( y i = 1 ∣ x i ; w ) 1 − P ( y i = 1 ∣ x i ; w ) + log ( 1 − P ( y i = 1 ∣ x i ; w ) ) = ∑ i = 1 n y i x i w − log ( 1 + e x i w ) \begin{aligned} \log L(\mathbf{w}) &= \sum_{i=1}^{n} \log P(\mathbf{y}_{i} \vert \mathbf{x}_{i};\mathbf{w}) \\ &= \sum_{i=1}^{n} \mathbf{y}_{i} \log P(\mathbf{y}_{i}=1 \vert \mathbf{x}_{i};\mathbf{w}) + (1-\mathbf{y}_{i}) \log(1-P(\mathbf{y}_{i}=1 \vert \mathbf{x}_{i};\mathbf{w})) \\ &= \sum_{i=1}^{n} \mathbf{y}_{i} \log \frac{P(\mathbf{y}_{i}=1 \vert \mathbf{x}_{i};\mathbf{w})}{1-P(\mathbf{y}_{i}=1 \vert \mathbf{x}_{i};\mathbf{w})}+ \log(1-P(\mathbf{y}_{i}=1 \vert \mathbf{x}_{i};\mathbf{w})) \\ &= \sum_{i=1}^{n} \mathbf{y}_{i} \mathbf{x}_{i} \mathbf{w} - \log(1+e^{\mathbf{x}_{i}\mathbf{w}}) \end{aligned} logL(w)=i=1∑nlogP(yi∣xi;w)=i=1∑nyilogP(yi=1∣xi;w)+(1−yi)log(1−P(yi=1∣xi;w))=i=1∑nyilog1−P(yi=1∣xi;w)P(yi=1∣xi;w)+log(1−P(yi=1∣xi;w))=i=1∑nyixiw−log(1+exiw) - 对 w \mathbf{w} w 求编导:
∂ log L ( w ) ∂ w = ∑ i = 1 n y i x i − e x i w 1 + e x i w x i = ∑ i = 1 n ( y i − e x i w 1 + e x i w ) x i \begin{aligned} \frac{\partial \log L(\mathbf{w})}{\partial \mathbf{w}} &= \sum_{i=1}^{n}\mathbf{y}_{i} \mathbf{x}_{i} - \frac{e^{\mathbf{x}_{i}\mathbf{w}}}{1+e^{\mathbf{x}_{i}\mathbf{w}}}\mathbf{x}_{i} \\ &= \sum_{i=1}^{n}\left(\mathbf{y}_{i} - \frac{e^{\mathbf{x}_{i}\mathbf{w}}}{1+e^{\mathbf{x}_{i}\mathbf{w}}} \right) \mathbf{x}_{i} \end{aligned} ∂w∂logL(w)=i=1∑nyixi−1+exiwexiwxi=i=1∑n(yi−1+exiwexiw)xi - 令该偏导为0,无法获得解析式,因此用梯度下降:
w t + 1 = w t − α ∂ log L ( w ) ∂ w \mathbf{w}^{t+1} = \mathbf{w}^{t} - \alpha \frac{\partial \log L(\mathbf{w})}{\partial \mathbf{w}} wt+1=wt−α∂w∂logL(w)
- 特点:
将损失用距离表示,并转换为概率;
损失函数不同,得到的分类可能不同;
使用对数相关公式对函数进行化解;
y i \mathbf{y}_i yi的两种取值的不同情况用同一个式子表示出来;
使用Sigmoid激活函数将距离转换到0和1之间,实现二分类;