Matlab画出逻辑回归的cost函数的3D图形

今天一时兴起,在Matlab上画了下Cost函数,

成本函数的定义如下:

Matlab 源码如下:

close all;

clear;
x = linspace(0, 1, 50);
x = [ones(50, 1),x'];
y = linspace(0, 1, 50);
y = y';
for k = 1:length(y)
    if mod(k,2) > 0
      y(k) = 1;
    else
        y(k) = 0;
    end
end
w = linspace(-1, 2, 50);
b = linspace(-1, 2, 50);
J_vals = zeros(length(w), length(b));
for i = 1:length(w)
    for j = 1:length(b)
      theta = [w(i); b(j)];    
      J_vals(i,j)= -1 * sum( y .* log( sigmoid(x*theta) ) + (1 - y ) .* log( (1 - sigmoid(x*theta)) ) )/50;
    end
end
J_vals = J_vals';
figure;
surf(w, b, J_vals)

xlabel('w'); ylabel('b');

function g = sigmoid(z)
g = zeros(size(z));
g = 1 ./ ( 1 + exp(-z) ) ;
end

执行结果:



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值