Logistic Regression

来源:互联网 发布:linux 安装内核源码 编辑:程序博客网 时间:2024/04/30 23:57

一、说明

一个最常见的分类算法.

  • m: 训练集个数
  • n: 特征个数
  • 训练集: {(x(1),y(1)),...,(x(i),y(i)),...,(x(m),y(m))}.
  • x(i)Rn,  y(i){0,1}
  • 模型参数: θ=(θ0,θ1...,θα,...,θn).
  • 上标 (i) 表示第 i 个数据,下标 α 表示第 α 维特征。

y 的两个取值对应两种不同的分类。这里只说明二分类问题。  

二、Logistic Function

  又名 Sigmoid Function. 函数定义及其导数:

g(z)g(z)=11+ez,=g(z)(1g(z)).

三、模型训练

Hypothesis Funcition (模型预测值):

y^=g(z)=g(αθαxα).  (x0=1)

  其值的意义是数据点 x 属于分类 y=1 的概率。

Cost Function:

J(θ)=1mi=1m[y(i)logg(z(i))+(1y(i))log(1g(z(i)))]+λ2α=1nθ2α.

最后一项是正则项,求和中不包含 α=0 对应的偏置项的参数。所以在下面的梯度中,偏置参数与其他参数的梯度有所不同。

Gradien:

μJ(θ)=1mi[y(i)g(z(i))g(z)+(1y(i))g(z(i))1g(z(i))]z(i)θμ+λ2θμα=1nθ2α=1mi[y(i)(1g(z(i)))(1y(i))g(z(i))]x(i)μ+λ22θμ=1mi(y(i)y^(i))x(i)μ+λθμ

update:

θμθμημJ(θ)

更新策略,具体有 BGD (batch gradient descent), SGD (stochastic gradient descent) .

0 0
原创粉丝点击