【吴恩达 机器学习】ex2: logistic regression —— MATLAB

本文介绍了使用MATLAB实现的基础逻辑回归算法,并扩展探讨了正则化逻辑回归在数据分类中的应用。通过实例展示了如何通过梯度下降法求解参数,以及如何在高维数据集上防止过拟合。

1、Logistic Regression

MATLAB代码:

% load the data
dataset = load("C:\Users\LENOVO\OneDrive - 东南大学\桌面\机器学习\吴恩达作业\matlab\ex2\data\ex2data1.txt");

[m, n] = size(dataset);
x1 = dataset(:, 1);
x2 = dataset(:, 2);
y = dataset(:, 3);
X = [ones(size(y)), x1, x2];
X = X';

% scatter
pos = find(y==1);
neg = find(y==0);
hold on;
plot(x1(pos), x2(pos), 'k+', 'LineWidth', 2, 'MarkerSize', 7);
plot(x1(neg), x2(neg), 'ko', 'MarkerFaceColor', 'y', 'MarkerSize', 7);

% gradient descend
init_theta = [0, 0, 0];
alpha = 0.001;
iter_nums = 150000;
theta = init_theta';
for i = 1 : iter_nums
    hyp = zeros(1, m);
    for j = 1 : m
        hyp(1, j) = 1 / (1 + exp(-theta' * X(:,j))) - y(j, 1);
    end
    hyp = hyp * X';
    hyp = hyp';
    theta = theta - hyp * alpha /m;
end

% classfied
theta1 = ones(m, 1) .* theta(1, 1);
theta2 = ones(m, 1) .* theta(2, 1);
fitted_x2 = (theta1 + theta2.*x1)/theta(3,1) *(-1);
plot(x1, fitted_x2, 'b-');
hold off;

在这里插入图片描述

2、Regularized Logistic Regression

待更…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值