【学习记录】《DeepLearning.ai》深度学习第二课(2):神经网络的编程基础

简介: 深度学习第二课第二部分笔记

深度学习第二课(2):神经网络的编程基础

2.11 向量化(Vectorization)

逻辑回归中计算$z=w^Tx+b$​,其中$w,x$​都是列向量,下面是两种方法的对比:

1.循环

z=0
for i in range(n_x):
    z+=w[i]*x[i]
z+=b

2.向量化

z=np.dot(w,x)+b

很明显向量化方法较快

举例说明:

import numpy as np #导入numpy库
a=np.array([1,2,3,4])#创建数据a
print(a)
#输出[1,2,3,4]

import time #导入时间库
a=np.random.rand(1000000)
b=np.random.rand(1000000)
tic=time.time()#输出当前时间
#向量化版本
c=np.dot(a,b)
toc=time.time()
print(f"Vectorized version:{str(1000*(toc-tic))}ms")#输出向量化版本的时间
#非向量化版本
c=0
tic=time.time()
for i in range(1000000):
    c+=a[i]*b[i]
toc=time.time()
print(c)
print(f"For loop:{str(1000*(toc-tic))}ms")

输出如下:

两个版本对比

可以看到,向量化版本能快速得到结果。

大规模的机器学习一般都使用GPU或者图像处理单元进行实现,CPU和GPU都有并行化指令,他们有时候叫做SIMD指令,通常GPU更擅长SIMD计算。如果我们应用类似np.dot这样的函数,Pytho会自动进行并行化处理。


2.12 向量化的更多例子

numpy库中有很多向量函数,如:

import numpy as np
np.exp(v)#计算指数函数
np.log()#计算对数函数 
np.abs()#绝对值函数
np.maximum()#计算元素y中的最大值
v**2#算平方
1/v#求倒数
#通常numpy中有类似的内置函数可以避免使用循环

2.13 向量化逻辑回归

向量化逻辑回归

先计算$Z$,如上图所示:

z=np.dot(w.T,x)+b#注意z的维度:1*m 参数b使用了python广播

再计算A,也就是由a组成的矩阵,也就是我们之前提到的$\widehat{y}$:

通过编写sigmoid函数

#通过Python定义sigmoid函数
def sigmoid(z):
    return 1 / (1 + np.exp(-z))

然后直接调用:

a=sigmoid(z)#和z的维度保持一致

2.14 向量化logistic回归的梯度输出

梯度图1

梯度图2

向量化方法如下:

向量化梯度输出

前五个公式完成了前向和后向传播,后面两个公式用来更新参数(具体参考上面图片的内容)


2.15 python中的广播

cal=A.sum(axis=0)#在A数组的竖直方向上求和,axis=1表示在水平方向上求和
percentage=100*A/cal.reshape(1,4)#reshape(1,4)将其变为1*4矩阵,这块有点多余了,本身就是1*4

reshape是常用的时间操作,时间复杂度是O(1),

python广播

如上图所示,如果两个矩阵有一个维度相同,而其中一个矩阵的另外一个维度为1,则可以将维度为1的矩阵沿着1维度的方向上进行广播。


2.16 python_numpy向量的说明

广播实例

注意断言函数的用法:assert(a.shape==(5,1))

上图总结:在实际使用时候,尽量定义为一个列向量,这样会减少bug,如果不小心定义为一个秩为1的向量,可以使用a=a.reshape((5,1))来转换。断言函数用来检查某些变量或数组是否是我们预期的,若不是则会报错,在实际程序出现bug时候调试非常有用。


2.17 Jupyter/iPython Notebooks快速入门

$shift+enter$执行块代码


2.18 logistic损失函数的解释

PASS

相关文章
|
11月前
|
机器学习/深度学习 人工智能 算法
AI 基础知识从 0.6 到 0.7—— 彻底拆解深度神经网络训练的五大核心步骤
本文以一个经典的PyTorch手写数字识别代码示例为引子,深入剖析了简洁代码背后隐藏的深度神经网络(DNN)训练全过程。
1555 56
|
11月前
|
人工智能 安全 网络安全
2025攻防演习回顾,AI赋能下的网络安全新格局
网络安全实战攻防演习历经9年发展,已成为检验安全体系、洞察威胁趋势的重要手段。攻击呈现实战化、体系化特征,APT、0day、勒索攻击等手段升级,AI、大数据等新技术带来新风险。攻击入口多元化、工具智能化、API成重点目标,“AI+人工”协同攻击加剧威胁。面对挑战,企业需构建纵深防御体系,从被动防御转向主动对抗。瑞数信息通过动态安全技术与AI融合,实现0day防护、漏扫干扰、勒索应急等能力,打造WAAP超融合平台,助力关键基础设施构建智能、协同、前瞻的主动防御体系。
834 1
|
机器学习/深度学习 人工智能 运维
网管不再抓头发:深度学习教你提前发现网络事故
网管不再抓头发:深度学习教你提前发现网络事故
292 2
|
12月前
|
机器学习/深度学习 人工智能 算法
Wi-Fi老是卡?不如试试让“深度学习”来当网络管家!
Wi-Fi老是卡?不如试试让“深度学习”来当网络管家!
460 68
|
10月前
|
人工智能 运维 安全
AI来了,网络安全运维还能靠“人海战术”吗?
AI来了,网络安全运维还能靠“人海战术”吗?
416 28
|
10月前
|
机器学习/深度学习 资源调度 算法框架/工具
AI-ANNE: 将神经网络迁移到微控制器的深度探索——论文阅读
AI-ANNE框架探索将深度学习模型迁移至微控制器的可行路径,基于MicroPython在Raspberry Pi Pico上实现神经网络核心组件,支持本地化推理,推动TinyML在边缘设备中的应用。
538 10
|
9月前
|
机器学习/深度学习 数据采集 人工智能
深度学习实战指南:从神经网络基础到模型优化的完整攻略
🌟 蒋星熠Jaxonic,AI探索者。深耕深度学习,从神经网络到Transformer,用代码践行智能革命。分享实战经验,助你构建CV、NLP模型,共赴二进制星辰大海。
|
10月前
|
人工智能 安全 网络安全
从不确定性到确定性,“动态安全+AI”成网络安全破题密码
2025年国家网络安全宣传周以“网络安全为人民,靠人民”为主题,聚焦AI安全、个人信息保护等热点。随着AI技术滥用加剧,智能化攻击频发,瑞数信息推出“动态安全+AI”防护体系,构建“三层防护+两大闭环”,实现风险前置识别与全链路防控,助力企业应对新型网络威胁,筑牢数字时代安全防线。(238字)
598 1
|
10月前
|
人工智能 监控 数据可视化
如何破解AI推理延迟难题:构建敏捷多云算力网络
本文探讨了AI企业在突破算力瓶颈后,如何构建高效、稳定的网络架构以支撑AI产品化落地。文章分析了典型AI IT架构的四个层次——流量接入层、调度决策层、推理服务层和训练算力层,并深入解析了AI架构对网络提出的三大核心挑战:跨云互联、逻辑隔离与业务识别、网络可视化与QoS控制。最终提出了一站式网络解决方案,助力AI企业实现多云调度、业务融合承载与精细化流量管理,推动AI服务高效、稳定交付。
|
11月前
|
人工智能 自动驾驶 物联网
AI 来当“交通警察”:如何优化 5G 网络资源分配?
AI 来当“交通警察”:如何优化 5G 网络资源分配?
287 9

热门文章

最新文章