返回目录
预测值为0或者1的离散序列。
将x映射成0或者1,使用sigmoid函数进行模拟。

假设函数:
h(x)=1+e−θTx1
其中:
x=[x0,x1,...,xn]T∈R(n+1)×1θ=[θ0,θ1,...,θn]T∈R(n+1)×1(n为特征个数)
即找到一系列参数θ尽可能使得y=0时h(x)→0,y=1时h(x)→1。
将h(x)视为h(x)=1的概率,则h(x)预测正确的概率为:
p=h(x)y(1−h(x))(1−y)
当y=0时,h(x)预测正确的概率(即h(x)=0)为1−h(x)。
当y=1时,h(x)预测正确的概率(即h(x)=1)为h(x)。
要使预测正确的概率最大,则对所有的测试数据满足:
θmaxl(θ)=θmax(p(1)⋅p(2)⋅...p(m))=θmaxi=1∏i=mh(x(i))y(i)(1−h(x(i)))(1−y(i))
两边取对数有:
θmaxL(θ)=θmaxln(l(θ)))=θmaxi=1∑i=my(i)ln(h(x(i)))+(1−y(i))ln((1−h(x(i))))
所以令代价函数 J(θ)=−m1L(θ)。转化成求使J(θ)最小的θ。
故代价函数:
J(θ)=−m1(i=1∑i=my(i)ln(h(x(i)))+(1−y(i))ln(1−h(x(i))))
其中:
y=[y(0),y(1),...,y(m)]T∈R(m×1)y(i)∈{0,1}(m为测试样本个数)
代价函数还可以做如下解释:
当y=0时,h(x)=1的代价趋于无穷,h(x)=0的代价为零。
当y=1时,h(x)=0的代价趋于无穷,h(x)=1的代价为零。
梯度下降法:
θj:=θj−α∂θj∂J(θ)
∂θj∂J(θ)=−m1i=1∑i=m(y(i)h(x(i))(h(x(i)))′+(1−y(i))1−h(x(i))−(h(x(i)))′)=−m1i=1∑i=m((h(x(i))y(i)−1−h(x(i))1−y(i))(h(x(i)))′)=−m1i=1∑i=m((e−θTx(i)(1+e−θTx(i))(y(i)e−θTx(i)+y(i)−1))((1+e−θTx(i))2e−θTx(i)xj(i)))=m1i=1∑i=m(1+e−θTx(i)xj(i)−xj(i)y(i)(1+e−θTx(i)))=m1i=1∑i=m(h(x(i))−y(i))xj(i)
返回目录