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

  • 相关阅读:
    [翻译] DZNSegmentedControl
    GONMarkupParser的使用
    使用@selector模仿代理功能降低代码耦合度
    编译并导入OpenSSL
    [翻译] TLTagsControl
    [控件] BookTextView
    [控件] AngleGradientView
    【转】jQuery属性过滤选择器
    【转】ajax 跨域 headers JavaScript ajax 跨域请求 +设置headers 实践
    【转】PHP----JS相互调用
  • 原文地址:https://www.cnblogs.com/niubidexiebiao/p/10483689.html
Copyright © 2011-2022 走看看