Deep Learning 3 -逻辑回归和牛顿法

本文通过牛顿法求解逻辑回归模型,利用学生考试成绩数据预测大学录取概率。介绍数据预处理、牛顿法迭代过程及收敛条件,并展示决策边界绘制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Deep Learning 3 -逻辑回归和牛顿法

参考自:http://openclassroom.stanford.edu/MainFolder/DocumentPage.php?course=DeepLearning&doc=exercises/ex4/ex4.html

数据

数据地址:ex4Data.zip

这个练习中,假设一高校有一数据集,代表了40个录取的学生和40个未录取的学生。每个(xi,yi)样本代表学生在两次标准考试中的成绩和是否录取的标签。

目标:建立模型,评估大学会录取一学生的几率,评判标准为学生在两次测试中的成绩。

1.    x的第一列为1,第二列为两个成绩;

2.    y为向量,0代表没录取,1代表录取

数据图绘制

加载数据,x0=1。

在牛顿法求解前,用不同的符号代表不同分类,matlab中,

% findreturns the indices of the

% rowsmeeting the specified condition

pos = find(y== 1); neg = find(y == 0);

 

% Assume thefeatures are in the 2nd and 3rd

% columns ofx

plot(x(pos,2), x(pos,3), '+'); hold on

plot(x(neg,2), x(neg, 3), 'o')

如下图:

牛顿法求解

逻辑回归模型如下:

根据给定的x,解读事件发生的可能性。

Matlab中没有sigmod函数库,因此要自己定义。如下:

g =inline('1.0 ./ (1.0 + exp(-z))');

% Usage: Tofind the value of the sigmoid

% evaluatedat 2, call g(2)

代价函数J(θ)如下:

 

 

 

目的是用牛顿法最小化上述函数,高纬情形下牛顿法的更新规则为:

 

逻辑回归中,一阶导数和hessian矩阵的矢量表示为:

 

 

注意到,上述式子为向量形式,尤其是

 

 

 

实施:

代码中实现牛顿迭代法,初始值θ= 0 为了求得迭代次数, 每次迭代后计算J(θ)并作图. 牛顿迭代法一般在5-15次后收敛.

在收敛后,利用求得的θ值预测分类问题,决策边缘为

 

与下式对应:

 

绘制决策边缘等同于绘制θTx=0,如下图:

 

问题:

θ值是多少,迭代多少次开始收敛?

解决方案:

代码如下:ex4.m

牛顿法

1.     求得的结果

作图如下:

 

由上图,牛顿法大概在迭代5次左右收敛。J的值小于10^-7在第4到第5次时。回顾之前的2个练习,梯度下降要迭代成百上千次。牛顿迭代法更快。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值