Coursera-Machine Learning 之 Logistic Regression (逻辑回归)-0x02

Cost Function

Training set(训练集):
{(x(1),(y(1)),(x(2),(y(2)),...,(x(m),(y(m))}

m 个训练样本

xx0x1...xn x0=1,y{0,1}

hθ(x)=11+eθTx

如何选择拟合参数 θ ?

代价函数

线性回归:
J(θ)=1mi=1m12(hθ(x(i))y(i))2

Cost(hθ(x(i)),y(i))=12(hθ(x(i))y(i))2

Logistic 回归:

Cost(hθ(x(i)),y(i))={log(hθ(x))log(1hθ(x))if y=1if y=0

Note: y=0 or 1 always

结合函数图像比较好理解。

Simplified cost function and gradient descent

Cost(hθ(x),y)=ylog(hθ(x))(1y)log(1hθ(x))

J(θ)=1mi=1mCost(hθ(x(i)),y(i))=1m[i=1my(i)log hθ(x(i))+(1y(i))log(1hθ(x(i))]

拟合参数 θ :

minθJ(θ)

针对一个新的 x 预测输出值:

Output hθ(x)=11+eθTx

want minθJ(θ) :

Repeat {
θj:=θjαθjJ(θ)
}

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

Advanced Optimization(高级优化)

Optimization algorithm

Gradient descent(梯度下降)
Conjugate gradient(共轭梯度法)
BFGS(变尺度法)
L-BFGS(限制变尺度法)

后三种算法优点:
不需要手动选择学习率
一般情况下比梯度下来收敛得更快
缺点:更加复杂

Example:
θ=[θ0θ1]

J(θ)=(θ15)2+(θ25)2

θ1J(θ)=2(θ15)

θ2J(θ)=2(θ25)

function [jVal, gradient] = costFunction(theta)
    jVal = (theta(1) - 5)^2 + (theta(2) - 5)^2;
    gradient = zeros(2, 1);
    gradient(1) = 2*(theta(1) - 5);
    gradient(2) = 2*(theta(2) - 5);

options = optimset('GradObj', 'on', 'MaxIter', '100');
initialTeta = zeros(2,1);
[optTheta, functionVal, exitFlag] 
    = fminunc(@costFunction, initialTheta, options);

Multiclass Classification: One-vs-all

One-vs-all(one-vs-rest)
h(i)θ(x)=P(y=i|x;θ) (x=1,2,3)

给定新的输入 x 值,选择对应类别:

maxih(i)θ(x)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值