- 逻辑回归,线性回归
- BN
逻辑回归
逻辑回归是用来解决二分类问题的,它假设数据服从伯努利分布,通过极大似然估计得到代价函数,然后使用梯度下降求解最优解。函数表达式就是把线性回归的输出,通过 sigmoid 函数值域限制在(0,1)范围内。
介绍下线性回归
- 线性回归 拟合样本特征与标记之间的线性关系, $y = w*x + b$
- 求解方式 $w, b$ 是均方误差最小化 (最小二乘法)
- 因为线性回归是凸优化问题,只需要让关于 $(w,b)$ 的凸函数导数都为 0 。
线性回归和逻辑回归区别
线性回归: $f(x) = wx^T+b$
逻辑回归:$z(x) = \frac{1}{1+e^{-f(x)}}$
- 线性回归输出值是连续的;逻辑回归输出是 0-1 ,大于一个阈值被分为一类,小于阈值被分为另一类,因此逻辑回归被用作分类,而不是回归。
- 线性回归的代价函数是均方误差,逻辑回归的是代价函数是对数似然损失(log-likehood)
为什么逻辑回归代价函数用极大似然估计
极大似然估计即模型已定,参数未知。利用已知的样本数据,反推出最具可能 导致这些样本结果的参数值。
既然逻辑回归模型已定:$h_\theta(x) = \frac{1}{1+e^{- \boldsymbol{\theta^T} \boldsymbol{x}}}$, $\boldsymbol{\theta^T}\boldsymbol{x} = \begin{pmatrix}
\theta\ b \end{pmatrix} \left( x,1\right)$.
我们给出二分类似然概率的分布: $P(y=1|x;\theta) = h_{\theta}(x)$ $P(y=0|x;\theta) = 1-h_{\theta}(x)$
写成一般概率形式:$P(y|x;\theta) = h_{\theta}(x)^y(1-h_\theta(x))^{1-y}$
我们令每一个样本属于真实标记的概率越大越好 因此采用最大似然估计
$L(\theta) = \prod_{i=1}^m h_{\theta}(x_i^{y_{i}}(1-h_\theta(x_{i}))^{1-y_{i}}$ (各个样本假设相互独立)
为什么逻辑回归不用平方差损失
$E_{w,b} = \sum(y_i - \frac{1}{1+e^{w^x+b}}) ^2$ 非凸,容易局部最优
为什么要使用sigmoid函数作为假设?
因为线性回归模型的预测值为实数,而样本的类标记为(0,1),我们需要将分类任务的真实标记y与线性回归模型的预测值联系起来。如果选择单位阶跃函数的话,它是不连续的不可微。而如果选择sigmoid函数,它是连续的,而且能够将z转化为一个接近0或1的值
BN 层
BN 是为了解决训练过程中,中间层数据分布不断发生改变,导致训练困难的问题。论文中把这个问题称为 ICS 问题
ICS 宏观上看正是源域与目标域的数据分布不一致,也就是说网络每一层输入数据都不再是 “独立同分布”了。每一层的参数更新会导致上层的输入数据分布发生变化,通过层层叠加,高层的输入分布变化会非常剧烈,这就使得高层需要不断去适应底层的参数更新。
BN流程:
输入: $B={x_1,…,x_m}$, 参数 $\gamma$ 和 $\beta$.
均值:$u = \frac{1}{m}\sum x_i$
方差:$\sigma^2 = \frac{1}{m} \sum{(x_i-u)^2}$
norm到均值 0 方差 1:$\hat{x_i} = \frac{x_i - u}{\sqrt{\sigma^2 + \epsilon }}$
缩放偏移:$y_i = \gamma \hat{x_i} + \beta$
BN 在每一层输入的时候,先做一个归一化层(均值为 0, 方差为 1 的)高斯分布。(解决同分布)
灵感来源于 PCA 白化。但是白化计算复杂度高,特别是我们还希望白化操作是可微的,
每一层都是标准正太分布,导致完全学习不到输入数据的真实特征分布。因此我们引入可学习重构参数 $\gamma$ 和 $\beta$
当 $\gamma = \sqrt{\sigma^2 + \epsilon}$ , $\beta = u$ 时候重构出 原始输入$x_i$ 保留原始输入的分布 ,提升了我们模型的 capacity。
BN的优势
- 解决了梯度消失,爆炸问题
- 对模型中参数不那么敏感,加快网络训练
- 对一些饱和函数(sigmoid,tanh)改变他们分布,使得输入落在非饱和区域