吴恩达深度学习第一课第三周编程作业(上)

这篇博客介绍了如何使用1层隐藏层的神经网络进行二维数据分类,对比逻辑回归的效果。通过实现非线性激活函数如tanh,计算交叉熵损失,以及前向和后向传播,构建了一个神经网络模型。实验结果显示,相较于逻辑回归,神经网络的分类准确率有显著提升。提供的数据集和代码可供下载学习。

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

作业描述:

用1层隐藏层的神经网络分类二维数据

欢迎来到第3周的编程作业。 现在是时候建立你的第一个神经网络了,它将具有一层隐藏层。 你将看到此模型与你使用逻辑回归实现的模型之间的巨大差异。

你将学到如何:

  • 实现具有单个隐藏层的2分类神经网络
  • 使用具有非线性激活函数的神经元,例如tanh
  • 计算交叉熵损失
  • 实现前向和后向传播

数据集及源码下载:

链接:https://pan.baidu.com/s/1UT6XLCkohr3n37wTwkI3BA 
提取码:4bmw

代码中的一些常见函数学习:

(1)plt.scatter()

函数的原型:

matplotlib.pyplot.scatter(x, y, s=None, c=None, marker=None, cmap=None, norm=None, vmin=None, vmax=None, alpha=None, linewidths=None, verts=None, edgecolors=None, *, data=None, **kwargs)

常用参数的解释:

x, y:表示的是shape大小为(n,)的数组,也就是我们即将绘制散点图的数据点,输入数据。

S:表示的是面积大小(注意不是直径),是一个标量或者是一个shape大小为(n,)的数组,可选,默认20。

C:颜色,默认蓝色“b”。

marker:表示的是标记的样式,默认的是'o'。

alpha:实数,0-1之间可以设置透明度

(2)multiply(a,b)

multiply(a,b)就是个乘法,如果a,b是两个数组,那么对应元素相乘

(3)numpy.sum()

推荐:Python NumPy中sum()函数详解 axis与keepdims图解_独步天秤的博客-优快云博客_python中sum函数参数icon-default.png?t=M276https://blog.youkuaiyun.com/yl_best/article/details/102605033

一、导入所需要的包 

二、导入数据集,预处理

三、首先采用的是逻辑回归解决二分类 

四、绘制决策边界 

五、预期输出

 

Accuracy of logistic regression: 47 % (percentage of correctly labelled datapoints),可以看到逻辑回归分类准确率很低。

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值