logistic regression 逻辑回归

时间:2021-06-22 23:40:19

前几天和同学争论, 用来做逻辑回归的训练数据的目标值只能是{0,1}两个值,还是[0,1]之间的数?

今天再回顾了Andrew Ng的讲义,答案应该是两种都 可以。

logistic 回归的目标值h(x):

hθ(x)=g(θTx)g(z)=11+ez,

h(x) 是[0,1]之间的数,可根据阈值进行用于分类(h>0.5 则此样本为1类)。

和线性回归类似,logistic回归也是求解theta使得损失函数(cost function)的值最小。

但是和线性回归的区别是,线性回归的损失函数定义为最小均方差:  J(θ)=12mi=1m(hθ(x(i))y(i))2

若也用这个函数作为损失函数,带入h(x),则J不是一个凸函数,所以要换一个损失函数。

原文:Logistic Function will cause the output to be wavy, causing many local optima. In other words, it will not be a convex function.

新的损失函数定义为:

logistic regression 逻辑回归

简写为:  Cost(hθ(x),y)=ylog(hθ(x))(1y)log(1hθ(x)) //关键就在这里,这个函数允许训练样本的y值为0-1之间的数字。


  J(θ)=1mmi=1[y(i) log(hθ(x(i)))+(1y(i)) log(1hθ(x(i)))]   


然后求解偏导数: θjJ(θ)

求导的公式基本上忘了,查了一下还是挺简单的。导数是切线的斜率:lim(y1-y2)/(x1-x2)  当x1无限趋近x2。

 求出来的结果和线性回归的函数求出来是一样的: )


α1mi=1m(hθ(x(i))y(i))x(i)j


d