Logistic和Linear Regression

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可以放大输入间的差距,因此,用来多分类效果比较好。

原文地址:https://www.cnblogs.com/niubidexiebiao/p/10483689.html