山东大学机器学习(实验二内容)——逻辑回归和牛顿法

1. 描述

在本练习中,您将使用牛顿方法对分类问题实现逻辑回归。

2.数据

  首先,下载data2.zip并从zip文件中提取文件。 在本练习中,假设一所高中有一个数据集,该数据集表示40名被大学录取的学生和40名未被录取的学生。 每个(x(i);y(i))(x(i) ;y(i))(x(i);y(i))训练示例包含学生在两个标准化考试中的成绩以及学生是否被录取的标签。
  您的任务是建立一个二元分类模型,根据 学生在两门考试中的成绩来估计大学录取的机会。 在训练数据中,xxx数组的第一列代表所有测试1的分数,第二列代表所有测试2的分数,yyy矢量使用" 1“标记被录取的学生和" 0”标记 没被录取的学生。

3.绘制数据

  将训练样例的数据加载到程序中,并将x0=1x_0 = 1x0=1截距项添加到xxx矩阵中。
  在开始牛顿方法之前,我们将首先使用不同的符号绘制数据来表示两个类。 在Matlab / Octave中,您可以使用find命令分离正类和负类:

% find返回满足指定条件的行的索引
pos = find ( y == 1 ) ; neg = find ( y == 0 ) ;
% Assume the features are in the 2nd and 3rd columns of x
plot ( x ( pos , 2 ) , x ( pos , 3 ) , '+' ) ; hold on
plot ( x ( neg , 2 ) , x ( neg , 3 ) , ' o ' )

你画的应该如下所示

4 .逻辑回归

回想一下逻辑回归,假设函数为
(1)hθ(x)=g(θTx)=11+e−θTx=P(y=1∣x;θ) h _ { \theta } ( x ) = g \left( \theta ^ { T } x \right) = \frac { 1 } { 1 + e ^ { - \theta ^ { T } x } } = P ( y = 1 | x ; \theta ) \tag{1} hθ(x)=g(θTx)=1+eθTx1=P(y=1x;θ)(1)
Matlab/Octave没有sigmoid函数库,所以你必须自己定义它。最简单的方法是通过内联表达式。

g = inline('1.0 ./ (1.0 + exp(-z))');
%Usage: To find the value of sigmoid
%evaluated at 2, call g(2)

给定一个训练集{ x(i)}i=1,…,m\{x^{(i)}\}_{i=1,\dots,m}{ x(i)}i=1,,m我们定义一个极大似然函数为
(2)J(θ)=∏i=1m(hθ(x(i)))y(i)(1−hθ(x(i)))1−y(t) J ( \theta ) = \prod _ { i = 1 } ^ { m } \left( h _ { \theta } \left( x ^ { ( i ) } \right) \right) ^ { y ^ { ( i ) } } \left( 1 - h _ { \theta } \left( x ^ { ( i ) } \right) \right) ^ { 1 - y ^ { ( t ) } } \tag{2} J(θ)=i=1m(hθ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值