变量描述
变量 | 描述 |
---|---|
\(h\) | 假设式 |
\(w\) | 权值 |
\(x\) | 输入 |
\(f\) | 目标函数 |
\(b\) | 偏差 |
\(d\) | 输入特征的个数 |
变量字体 | 描述 |
---|---|
\(x\) | 单一变量 |
\(\mathtt x\) | 向量 |
\(\mathtt{X}\) | 矩阵 |
逻辑回归模型
- \(s=\sum_{i=0}^dw_ix_i\)
- \(h(\mathtt x)=\theta(s)=\theta(\sum_{i=0}^dw_ix_i)=\theta(\mathtt{w^Tx})\)
- \[\mathtt x=\begin{bmatrix} {x_0}\\ {x_1}\\ {\vdots}\\ {x_d}\\ \end{bmatrix}\] \(\mathtt x\in R^{(d+1)*1}\),\[\mathtt w=\begin{bmatrix} {w_0}\\ {w_1}\\ {\vdots}\\ {w_d}\\ \end{bmatrix}\] \(\mathtt w\in R^{(d+1)*1}\)
- \(\theta\)(s)函数有很多种,都呈现为"S"形状,\(\theta(0)=\frac{1}{2}\),\(\theta(-\infin)\rightarrow0\),\(\theta(+\infin)\rightarrow1\)
- 这里\(\theta\)(s)取以下公式(sigmoid)
- \(\theta(s)=\frac{e^s}{1+e^s}\)
- 逻辑回归的数据是(\(\mathtt{x},y\))即特征+标签
- \[\mathtt x=\begin{bmatrix} {x_0}\\ {x_1}\\ {\vdots}\\ {x_d}\\ \end{bmatrix}\] \(\mathtt x\in R^{(d+1)*1}\),\(y\in{(+1,-1)}\)
- 标签不是概率,即标签与最终假设式的输出不同
- 数据由一个噪音目标函数函数f生成
- \(P(y|\mathtt{x})=\)\(\begin{cases} f(\mathtt{x}),y=1\\ 1-f(\mathtt{x}) ,y=-1 \end{cases}\)
- 逻辑回归目标函数\(f:R^d\rightarrow[0,1]\)
- 将数据的d个特征映射到一个0~1之间的概率
- 最终假设式 \(g(\mathtt{x})=\theta(\mathtt{w^Tx})\approx f(\mathtt{x})\)
- 简而言之g(x)就是输入一个数据的特征,输出该数据标签为+1的几率
误差测量
假设式作用于单一数据点产生的概率
\(P(y|\mathtt{x})=\)\[\begin{cases} h(\mathtt{x}),y=1\\ 1-h(\mathtt{x}) ,y=-1 \end{cases}\]
由\(\theta\)函数\(\theta(s)=\frac{e^s}{1+e^s}\)可得,\(\theta(-s)=1-\theta(s)\),带入到上式可以简化为
\(P(y|\mathtt{x})=\theta(y\mathtt{w^Tx})\)
作用于数据集\(D=(x_1,y_1),...,(x_n,y_n)\)的可能性就是
\(\prod_{n=1}^{N}P(y_n|\mathtt{x_n})=\prod_{n=1}^N\theta(y_n\mathtt{w^Tx_n})\)
假设式输出的概率\(P(y|\mathtt{x})\)描述了该数据点是正确标签的概率,显然这个数值越大越好
同理作用于数据集的可能性可以使用每个样本点的概率连乘来衡量,也是数值越大越好
目标 Maximize \(\prod_{n=1}^N\theta(y_n\mathtt{w^Tx_n})\)
等价于 Maximize \(ln(\prod_{n=1}^N\theta(y_n\mathtt{w^Tx_n}))\)
等价于 Maximize \(\frac{1}{N}ln(\prod_{n=1}^N\theta(y_n\mathtt{w^Tx_n}))\)
等价于 Minimize \(-\frac{1}{N}ln(\prod_{n=1}^N\theta(y_n\mathtt{w^Tx_n}))\)
等价于 Minimize \(\frac{1}{N}\sum_{n=1}^Nln(\frac{1}{\theta(y_n\mathtt{w^Tx_n})})\)
由\(\theta\)函数\(\theta(s)=\frac{e^s}{1+e^s}\)可得,\(\frac{1}{\theta(s)}=1+e^-s\),带入到上式可以简化为
等价于 Minimize \(\frac{1}{N}\sum_{n=1}^Nln(1+e^{-y_n\mathtt{w^Tx_n}})\)
即\(E_{in}(\mathtt{w})=\frac{1}{N}\sum_{n=1}^Nln(1+e^{-y_n\mathtt{w^Tx_n}})\)
\(e(h(\mathtt{x_n}),y_n)=ln(1+e^{-y_n\mathtt{w^Tx_n}})\) 交叉熵误差(cross-entropy)
学习算法(梯度下降法)
\(E_{in}(\mathtt{w})=\frac{1}{N}\sum_{n=1}^Nln(1+e^{-y_n\mathtt{w^Tx_n}})\)
我们只要设法减小\(E_{in}\)就行
在逻辑回归中无法像线性回归找到闭合解,只能寻求迭代解
梯度下降就像是置身于漆黑的山林中,你想下山却只能看清周围两米范围内的事物,所以你每次都环视四周,然后挑选一个斜度大的方向走一步,如此重复最终走到山脚,但也有可能走到一个山谷(局部最优解)
减小\(E_{in}(w)\)的过程就是修正参数w的过程,我们每次将w朝着\(E_{in}\)减小的方向修正,最终也许就会到达目标
\(\eta\)称作学习速率
\(\frac{dE_{in}(\mathtt{w})}{d\mathtt{w}}=-\frac{1}{N}\sum_{n=1}^N\frac{y_n\mathtt{x_n}}{1+e^{y_n\mathtt{w^Tx_n}}}\)
\(\mathtt{w(1)=w(0)}-\eta\frac{dE_{in}(\mathtt{w})}{d\mathtt{w}}\)
算法伪代码
三种线性模型的对比
- \(s=\sum_{i=0}^dw_ix_i\)
- h(x)=\(\theta\)(s)
模型 | 线性分类 | 线性回归 | 逻辑回归 |
---|---|---|---|
h(x) | sign(s)硬阈值 | 无处理 | \(\theta(x)\)软阈值 |
输出 | 二分类 | 实值 | 概率 |
三种模型作用于信用卡审核的意义
模型 线性分类 线性回归 逻辑回归 输出的意义 批准还是拒绝 信用额度的确定 批准的概率