吴恩达深度学习笔记(代码片段)

好奇小圈 好奇小圈     2022-12-07     533

关键词:

监督学习简介


文章目录


前言

学习的第一天


一、监督学习常见应用

输入输出应用类别
房子特色房价房地产Stand NN
广告广告点击网络广告Stand NN
图像目标(1,……,n)图像目标CNN
音频转文字文字识别RNN
英语中文机器翻译RNNs
图像、雷达信息汽车位置自动驾驶hybrid neural network

二、基础知识

1.数据类型

结构化数据非结构化数据
表格式的数据如图像、文本、声音

2.学习次序

weekcontent
1介绍
2神经网络程序基础
3单隐层神经网络
4多层神经网络

3.常用符号

功能矩阵大小
训练集输入X.shape=(n,m)
训练集标签Y.shape=(1,m )
训练集(x1,y1),……(xm,ym)
矩阵维数R
训练集M_train
测试集M_test
第i个集合xi或yi……

4.二分分类(logistics)

借用sigmoid函数:


第一种表示(本课程使用):

第二种表示:

损失函数
(越小越好)
非凸:

本文使用:


成本函数

5.梯度下降法

从某一点开始,从最陡峭的那个坡往下走。(dw于程序中表示导数名)

6.导数和流程图(略)

7.logistics中的梯度下降


先算出dL/da,然后算出da/dz=a(1-a),从而得到dL/dz

再由dz/dw得到dL/dw

7.向量化的必要性

import numpy as np
import time

a=np.random.rand(1000000)#生成随机数
b=np.random.rand(1000000)

tic=time.time()#计时
c=np.dot(a,b)#点乘
toc=time.time()

print("array time is:"+str(1000*(toc-tic))+"ms")#输出+类似js的字符串合并+强制类型转换


c=0
tic=time.time()#计时
for i in range(1000000):#循环
    c+=a[i]*b[i]
toc=time.time()

print("loop time is:"+str(1000*(toc-tic))+"ms")

array time is:2.9914379119873047ms loop time is:365.05675315856934ms

相量比循环快了一百二十多倍(其实我在用MATLAB时就知道了),再用MATLAB试一试

a=rand(1,1000000);
b=rand(1,1000000);

tic
c=a.*b;
toc*1000


tic
for i=1:1000000
    c(i)=a(i)*b(i);   
end
toc*1000
ans = 8.179100000000000 ans = 23.912500000000001 可见用数组,python快于MATLAB,而用循环,MATLAB明显快于python

8.向量化的logistics


python和MATLAB都有“广播”功能,也就是当数组和实数相加时,会自动将实数扩展为数组。
python:

import numpy as np

#已知训练集x(n*m),标签Y(m*1),以及初始的w(1*n),b(1*1),训练次数N,学习率a
for i in range(N):
    z=np.dot(w.T,x)+b
    A=1/(1+np.exp(-z))
    dz=A-Y
    dw=1/m*x*dz.T
    db=1/m*np.sum(dz)
    w:=w-a*dw
    b:=b-a*db

MATLAB:

%已知训练集x(n*m),标签Y(m*1),以及初始的w(1*n)b(1*1),训练次数n,学习率a
for i=1:N
    z=w*x+b;
    A=1./(1+exp(-z));
    dz=A-Y;
    dw=1/m*x*dz';
    db=1/m*sum(dz);
    w=w-a*dw';
    b=b-a*db;
end

总结

我会继续努力的

卷积神经网络笔记--吴恩达深度学习课程笔记(代码片段)

各个知识点详解LeNet-5网络LetNet网络的的讲解主要参考1998年计算机科学家YannLeCun发布的一篇论文《Gradientbasedlearningappliedtodocument-recognition》大家可以找到这篇论文结合学习,针对该网络,首先大家需要了解一下图像中的常... 查看详情

最为详细的卷积神经网络笔记--吴恩达深度学习课程笔记(代码片段)

各个知识点详解LeNet-5网络LetNet网络的的讲解主要参考1998年计算机科学家YannLeCun发布的一篇论文《Gradientbasedlearningappliedtodocument-recognition》大家可以找到这篇论文结合学习,针对该网络,首先大家需要了解一下图像中的常... 查看详情

吴恩达深度学习笔记(代码片段)

神经网络文章目录神经网络前言一、一些基础的numpy语法二、神经网络1、原理2、代码MATLAB版本:python版本:3、激活函数tanh函数Relu函数LeakyReLU函数(PReLU)ELU(ExponentialLinearUnits)函数总结前言学习的第二天一、一些... 查看详情

吴恩达机器学习笔记(代码片段)

文章目录ErroranalysisMethodstosolveoverfittingMethodstosolveunderfittingRecommendapproachErrormetricsforskewedclassesDataformachinelearningSupportVectorMachineK-meansPrincipleComponentAnalysisDatapreproce 查看详情

吴恩达深度学习笔记+作业

1.1.2Buildingbasicfunctionswithnumpy1.1.2.2numpy.exp,sigmoid,sigmoidgradientimportnumpyasnpdefsigmoid(x):s=1/(1+np.exp(-x))returns#设sigmoid为s,s‘=s*(1-s)defsigmoid_derivative(x):s=1/(1+np.exp(-x))ds=s* 查看详情

吴恩达机器学习笔记(代码片段)

文章目录ErroranalysisMethodstosolveoverfittingMethodstosolveunderfittingRecommendapproachErrormetricsforskewedclassesDataformachinelearningSupportVectorMachineK-meansPrincipleComponentAnalysisDatapreprocessingChoosingthenumberofprincipalcomponentsApplicationof`PCA`AnomalydetectionExample... 查看详情

吴恩达深度学习笔记(代码片段)

监督学习简介文章目录监督学习简介前言一、监督学习常见应用二、基础知识1.数据类型2.学习次序3.常用符号4.二分分类(logistics)5.梯度下降法6.导数和流程图(略)7.logistics中的梯度下降7.向量化的必要性8.向量... 查看详情

machinelearning(吴恩达<一>)(代码片段)

目录一、机器学习(ML)简介1.人工智能、机器学习、深度学习的关系2.机器学习与深度学习的比较2.1、应用场景2.2、所需数据量2.3、执行时间2.4、解决问题的方法3.监督学习(SupervisedLearning)4.无监督学习(Unsupervise... 查看详情

吴恩达deeplearning.ai课程笔记(1-3)神经网络和深度学习---浅层神经网络

以下为在Coursera上吴恩达老师的DeepLearning.ai课程项目中,第一部分《神经网络和深度学习》第二周课程部分关键点的笔记。笔记并不包含全部小视频课程的记录,如需学习笔记中舍弃的内容请至Coursera或者网易云课堂。同时在阅... 查看详情

coursera--deeplearning--吴恩达深度学习笔记2017.12.10

2017-12-10 19:27:01Broadcasting广播机制广泛用于数据处理。importnumpyasnpA=np.array([[56.0,0.0,4.4,68.0],[1.2,104.0,52.0,8.0],[1.8,135.0,99.0,0.9]])print(A)cal=A.sum(axis=0)print(cal)percentage=100*A/cal.resha 查看详情

吴恩达-深度学习-课程笔记-6:深度学习的实用层面(week1)

1训练/验证/测试集(Train/Dev/testsets)构建神经网络的时候有些参数需要选择,比如层数,单元数,学习率,激活函数。这些参数可以通过在验证集上的表现好坏来进行选择。前几年机器学习普遍的做法:把数据分成60%训练集,20%验... 查看详情

吴恩达深度学习专项课程2学习笔记/week2/optimizationalgorithms

Optimizationalgorithms优化算法以加速训练。Mini-batchgradientdescendBatchgradientdescend:每一小步梯度下降否需要计算所有的训练样本。很耗时。Mini-batchgradientdescend:将训练集分为很多小的mini-batch,每一个epoch用到一个mini-batch的训练样本,... 查看详情

吴恩达的视频课程做成了文字版~~~(代码片段)

ML机器学习课程地址:https://www.coursera.org/course/ml笔记地址:http://www.ai-start.com/ml2014/DL深度学习课程地址:https://mooc.study.163.com/university/deeplearning_ai#/c笔记地址:http://www.ai-start.com/dl2017/参考1.CSDN大神;完 查看详情

吴恩达深度学习专项课程3学习笔记/week2/erroranalysis

ErroranalysisCarryingouterroranalysisErroranalysis是手动分析算法错误的过程。通过一个例子来说明erroranalysis的过程。假设你在做猫图像识别的算法,它的错误率高达10%,你希望提高它的表现。你已经有了一些改进的想法,包括:算法把狗... 查看详情

吴恩达-深度学习-课程笔记-1introductiontodeeplearning(week1)

1什么是神经网络(Whatisaneuralnetwork)深度学习一般是指非常非常大的神经网络,那什么是神经网络呢?以房子价格预测为例,现在你有6个房子(样本数量),你知道房子的大小和对应价格,你想要建立一个函数来用房子的大小来预... 查看详情

吴恩达深度学习笔记(deeplearning.ai)之卷积神经网络

经典网络LeNet-5AlexNetVGGNg介绍了上述三个在计算机视觉中的经典网络。网络深度逐渐增加,训练的参数数量也骤增。AlexNet大约6000万参数,VGG大约上亿参数。从中我们可以学习到:随着网络深度增加,模型的效果能够提升。另外,VG... 查看详情

最为详细的卷积神经网络笔记--吴恩达深度学习课程笔记

卷积神经网络(二)二、经典神经网络的结构:LeNet-5AlexNetVGGResNet2.1LeNet-52.2AlexNet-5可以同时在两个GPU上运行2.3VGG2.4残差网络ResNet下图是一个残差块,输入a[l]会传送到l+2层的线性部分之后,这样它会直接参加... 查看详情

吴恩达-深度学习-课程笔记-14:人脸识别和风格迁移(week4)

 1什么是人脸识别(whatisfacerecognition)在相关文献中经常会提到人脸验证(verification)和人脸识别(recognition)。verification就是输入图像,名字或id,判断是不是。而人脸识别是输入图像,输出这个人的名字或id。我们先构造一个准确... 查看详情