Model
logistic regression
逻辑回归
注意逻辑回归不是回归(结果是连续性变量的任务为回归),是用来做分类的。
输入是feature vector$x$,逻辑回归模型的输出是$\hat y = P(y=1|x)$即x属于类别1 的概率
对于二分类
$P(y=1|x) = sigmoid(W^Tx+b)=\frac{1}{1+e^{-W^Tx+b}}$
$P(y=0|x) = 1- P(y=1|x) = \frac{e^{-W^Tx+b}}{1+e^{-W^Tx+b}}$
两个式子可以合并成$P(y|x)=P(y=1|x)^y[1-P(y=1|x)]^{1-y}$
最大化目标函数:
$\hat{w},\hat{b} = argmax_{w,b}\prod_{i=1}^nP(y_i|x_i,w,b)$
$=argmin_{w,b}-\sum_{i=1}^nlogP(y_i|x_i,w,b)$
$=argmin_{w,b}-\sum_{i=1}^nlog[P(y_i=1|x_i,w,b)^{y_i}[1-P(y_i=1|x_i,w,b)]^{1-y_i}]$
$=argmin_{w,b}-\sum_{i=1}^n (y_ilogP(y_i=1|x_i,w,b)+(1-y_i)log[1-P(y_i=1|x_i,w,b)])$
对于单个训练样本$(x^i,y^i)$,$y^i$是true answer,
其lossFunction为对数损失函数(或对数似然损失函数或logistic损失或交叉熵损失)
若是二分类,cross entropy可简化为
$$L(y,\hat y)=-[y^ilog \hat y^i+(1-y^i)log(1- \hat y^i)]$$
对于全体样本的loss function为
$$J(W,b) = \frac{1}{N}\sum_i^NL(yi, \hat yi)$$
softmax regression
softmax regression将logistic regression(二分类)推广到多分类。
输入是feature vector$x$,逻辑回归模型的输出是$\hat y = P(y=i|x)$即x属于每个类别i 的概率
$P(y=1|x) = softmax(W^Tx+b)$
其lossFunction为对数损失函数(或对数似然损失函数或logistic损失或交叉熵损失)
$$L(y,\hat y)=-y^ilog \hat y^i$$
对于全体样本的loss function为
$$Loss Function = \frac{1}{N}\sum_i^NL(yi, \hat yi)$$
multi label learning
在分类任务中,如果样本i只有一个label:
$y^i=\left[ \begin{matrix} 0 \ 1 \ 0 \ 0 \ 0 \end{matrix} \right]$
在多标签学习中,一个样本可能有多个标签,多标签分类问题是判断一个样本是否同时属于多个不同类别。
$y^i=\left[ \begin{matrix} 0 \ 1 \ 1 \ 1 \ 0 \end{matrix} \right]$
将一个多标签问题转化为在每个标签上的二分类问题。
$$L(y^i_j,\hat y^i_j)=-[y^i_jlog \hat y^i_j+(1-y^i_j)log(1- \hat y^i_j)]$$
$$Loss Function = \frac{1}{N}\sum_i^N \sum_{j=1}^5 L(y^i_j, \hat y^i_j)$$
激活函数使用sigmoid,j是j-th class
分类问题 | 价格 | 数量 |
---|---|---|
二分类 | sigmoid函数 | 二分类交叉熵损失函数(Binary_crossentropy) |
多分类 | softmax函数 | 多类别交叉熵损失函数 (Categorical_crossentropy) |
多标签分类 | sigmoid函数 | 二分类交叉熵损失函数 (Binary_crossentropy) |