机器学习课后作业笔记(二)

转载请注明来源:http://blog.csdn.net/greenlight_74110/article/details/78590813

机器学习课后作业笔记(二)

介绍

本次练习将实现逻辑回归并应用到两个不同的数据集上。

建议先看视频。

逻辑回归

本次练习,你将构建一个逻辑回归模型来预测一个学生是否被大学录取。

你的任务是,基于两次考试,构造一个聚类模型来估计一位申请者的录取可能性。

可视化数据

我们先观察及格的和不及格的人两次成绩的散点图。

在plotdata中实现如下代码;

% Find Indices of Positive and Negative Examples
pos = find(y == 1); neg = find(y == 0);
% Plot Examples
plot(X(pos, 1), X(pos, 2), 'k+','LineWidth', 2, 'MarkerSize', 7);
plot(X(neg, 1), X(neg, 2), 'ko', 'MarkerFaceColor', 'y','MarkerSize', 7);

实现

热身练习:sigmoid函数

逻辑回归的假设定义为:

h[θ](x) = g(θ^T * x)

其中,

g(z) = 1 / 1 + e^-z

其函数特征为,对很大的正数x,sigmoid接近1;对很小的负数x,sigmoid接近0;而当x为0时,sigmoid等于0.5。

在sigmoid中实现如下代码:

g = 1 ./ ( 1 + exp(-z) ) ;
代价函数和梯度

逻辑回归的代价函数:

J(θ) = sum{-yi*log(h[θ](xi))-(1-yi)*log(1-h[θ](xi))}/m

对θ的偏导:

dJ(θ)/d(θj) = sum{(h[θ](xi)-yi)*x[j]i}

虽然形式看似相同,但它与线性回归实际上却有着本质上的区别,因为二者的hθ不一样。

在costFuction中实现如下代码:

J= -1 * sum( y .* log( sigmoid(X*theta) ) + (1 - y ) .* log( (1 - sigmoid(X*theta)) ) ) / m ;

grad = ( X' * (sigmoid(X*theta) - y ) )/ m ;
使用fminunc学习参数

本次练习中,不再使用梯度下降方法,而是直接使用一个内嵌函数fminunc。

fminunc是一个用来找出一个无约束函数的最小值的最优化解决方法。

对线性回归来说,就是最优化参数为θ的代价函数J(θ)。

实现的代码为:

%  Set options for fminunc
options = optimset('GradObj', 'on', 'MaxIter', 400);

%  Run fminunc to obtain the optimal theta
%  This function will return theta and the cost 
[theta, cost] = ...
    fminunc(@(t)(costFunction(t, X, y)), initial_theta, options);

借助得到的θ,我们可以画出决策边界:

% Plot Boundary
plotDecisionBoundary(theta, X, y);
评估逻辑回归

一种方法是用θ来计算录取概率。

prob = sigmoid([1 45 85] * theta);

另一种方法是,看看学习出来的模型对我们的训练集的预测能力如何,即拿预测结果与实际结果作对比,算出准确率。

p = predict(theta, X);
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
机器学习部分课后习题答案(较完整)机器学习部分课后习题答案(较完整)机器学习部分课后习题答案(较完整)机器学习部分课后习题答案(较完整)机器学习部分课后习题答案(较完整)机器学习部分课后习题答案(较完整)机器学习部分课后习题答案(较完整)机器学习部分课后习题答案(较完整)机器学习部分课后习题答案(较完整)机器学习部分课后习题答案(较完整)机器学习部分课后习题答案(较完整)机器学习部分课后习题答案(较完整)机器学习部分课后习题答案(较完整)机器学习部分课后习题答案(较完整)机器学习部分课后习题答案(较完整)机器学习部分课后习题答案(较完整)机器学习部分课后习题答案(较完整)机器学习部分课后习题答案(较完整)机器学习部分课后习题答案(较完整)机器学习部分课后习题答案(较完整)机器学习部分课后习题答案(较完整)机器学习部分课后习题答案(较完整)机器学习部分课后习题答案(较完整)机器学习部分课后习题答案(较完整)机器学习部分课后习题答案(较完整)机器学习部分课后习题答案(较完整)机器学习部分课后习题答案(较完整)机器学习部分课后习题答案(较完整)机器学习部分课后习题答案(较完整)机器学习部分课

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值