第三周 逻辑回归 正则化 理论总结

e56770aeb580482a8b88fd63aece3d71.png

ef882ad729ff4dc19094b12ff4364e34.png 

8d6a4adb202d480ca4b15f144b9f7546.png 

90d5ed80a5e245b3a797ea1c31568c4b.png 

0de792455ef0467c9408985b9eb896e5.png 

 

在 MATLAB 中进行正则化逻辑回归,你可以按照以下步骤进行操作: 1. 准备数据:将数据集划分为特征矩阵 X 和目标变量向量 y。 2. 特征缩放:对特征矩阵 X 进行缩放,使得每个特征的取值范围在接近于 0 的范围内。可以使用 MATLAB 中的 `featureNormalize` 函数来实现。 3. 添加偏置项:在特征矩阵 X 的第一列添加全为 1 的偏置项。可以使用 MATLAB 中的 `ones` 函数来实现。 4. 定义代价函数:使用正则化逻辑回归代价函数,其中包含惩罚项以防止过拟合。 5. 优化算法:使用 MATLAB 中的优化函数(如 `fminunc` 或 `fmincg`)来最小化代价函数,以求得逻辑回归模型的参数。 6. 预测:使用训练得到的参数进行预测。可以使用 MATLAB 中的 `sigmoid` 函数将预测概率转换为二分类结果。 下面是一个简单的示例代码: ```matlab % 步骤 1:准备数据 data = load('data.mat'); X = data(:, 1:2); y = data(:, 3); % 步骤 2:特征缩放 [X, mu, sigma] = featureNormalize(X); % 步骤 3:添加偏置项 X = [ones(size(X, 1), 1) X]; % 步骤 4:定义代价函数 initial_theta = zeros(size(X, 2), 1); lambda = 1; % 正则化参数 costFunction = @(t) costFunctionReg(t, X, y, lambda); % 步骤 5:优化算法 options = optimset('GradObj', 'on', 'MaxIter', 400); theta = fminunc(costFunction, initial_theta, options); % 步骤 6:预测 probabilities = sigmoid(X * theta); predictions = probabilities >= 0.5; % 计算准确率 accuracy = mean(double(predictions == y)) * 100; fprintf('在训练集上的准确率:%.2f%%\n',
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值