Logistic Regression
Logistic Regression和Linear Regression
Logistic Regression | Linear Regression |
---|---|
$ f_{w,b}(x) = sigma (w*x+ b)=sigma (sum_i w_ix_i + b), f输出0或1$ | $ f_{w,b}(x) = sum_i w_ix_i + b,f输出R$ |
(L(f) = sum_n C(f(x^n), hat{y}^n),hat{y}^n是0或1) | (L(f) = frac{1}{2}sum_n (f(x^n)-hat{y}^n)^2,hat{y}^n是真实值) |
(w_i leftarrow w_i -eta sum_n-(hat{y}^n-f_{w,b}(x^n))x_i^n) | (w_i leftarrow w_i -eta sum_n-(hat{y}^n-f_{w,b}(x^n))x_i^n) |
Logistic Regression推导
[如果P_{w,b}(C_1|x) leq 0.5,输出C_2.否则输出C_1\
z=w imes x+b, quad P_{w,b}(C_1|x) = sigma(z),quad sigma(z) = frac{1}{1+e^{-z}}\
f_{w,b}(x) = P_{w,b}(C_1|x)
]
(Training) | (x^1) | (x^2) | (x^3) | (...) | (x^N) |
---|---|---|---|---|---|
(Data) | (C_1) | (C_2) | (C_3) | (...) | (C_N) |
对于上面的分类,有代价函数:
[p(x=1)=hat{y}^n, quad p(x=0)=1-hat{y}^n\
L(w,b)=f_{w,b}(x^1)f_{w,b}(x^2)(1-f_{w,b}(x^3))...f_{w,b}(x^N)\
取对数有:
lnL(w,b)=lnf_{w,b}(x^1)+lnf_{w,b}(x^2)+ln(1-f_{w,b}(x^3))+...\
=sum_n-[hat{y}^nlnf_{w,b}(x^n)+ (1-hat{y}^n)ln(1-f_{w,b}(x^n)) ]\
C(f(x^n), hat{y}^n)=-[hat{y}^nlnf_{w,b}(x^n)+ (1-hat{y}^n)ln(1-f_{w,b}(x^n)) ]\
L(f) = sum_n C(f(x^n), hat{y}^n)
]
更新:
[frac{partial~lnL(w,b)}{partial w_i} = frac{partial ~lnL(w,b)}{partial z}frac{z}{partial~w_i}\
=sum_n-(hat{y}^n-f_{w,b}(x^n))x_i^n
]
Logistic Regression如果用平方代价函数
[f_{w,b}(x) = sigma (sum_i w_ix_i + b)\
L(f) = frac{1}{2}sum_n (f_{w,b}(x^n)-hat{y}^n)^2\
求偏导,有:\
frac{partial L(f)}{partial w_i}=frac{partial(f_{w,b}(x)-hat{y})^2}{partial w_i}=2(f_{w,b}-hat{y})f_{w,b}(x)(1-f_{w,b}(x))
]
Logistic Resgression的局限
- 无法解决异或问题
- 针对异或问题,可以通过叠加logistic regression来解决,这样子就成了neural network
生成模型和判别模型
Discriminative
原理
判别式模型是直接对条件概率 (p(y|x; heta)) 建模。
常见的判别模型
常见的判别式模型有:线性回归模型、线性判别分析、支持向量机SVM、神经网络等。
优点
(1)分类边界更灵活,比使用纯概率方法或生产模型得到的更高级;
(2)能清晰的分辨出多类或某一类与其他类之间的差异特征;
(3)在聚类、视角变化、部分遮挡、尺度改变等方面效果较好;
(4)适用于较多类别的识别;
(5)判别模型的性能比生成模型要简单,比较容易学习。
缺点
(1)不能反映训练数据本身的特性,即能力有限,可以告诉你的是1还是2,但没有办法把整个场景描述出来;
(2)缺少生成模型的优点,即先验结构的不确定性;
(3)黑盒操作,即变量间的关系不清楚,不可视。
Generative
原理
生成式模型则会对 (x) 和 (y) 的联合分布 $ p(x,y)$ 建模,然后通过贝叶斯公式来求得 (p(y_i|x)) ,然后选取使得 (p(y_i|x)) 最大的 (y_i) 。
优点
(1)实际上带的信息要比判别模型丰富;
(2)研究单类问题比判别模型灵活性强;
(3)模型可以通过增量学习得到;
(4)能用于数据不完整情况;
(5)很容易将先验知识考虑进去。
缺点
(1)容易会产生错误分类;
(2)学习和计算过程比较复杂。
常见的生成模型
常见的生成模型有:隐马尔可夫模型HMM、朴素贝叶斯模型、高斯混合模型GMM、LDA等
softmax
输入:(z_1, z_2, z_3, ... ,z_n)
输出:(y_1, y_2, y_3, ... ,y_n)
[y_1 = frac{e^{z_1}}{sum^{n}_{i=1}e^{z_i}}
]
用途:
常用来进行多分类,因为softmax可以放大输入间的差距,因此,用来多分类效果比较好。