神经网络和深度学习(一)

引言

此系列博客记录 网易云课堂 - 深度学习工程师课程 的学习

学习模式:看视频 -> OneNote 笔记 -> 思维导图 -> 做课后作业

开发环境:anaconda - (python 3.7 windows版本) + jupyter notebook


环境配置建议

1、由于 anacondapython 的一个开源针对科学计算的版本,故只需装 anaconda 即可。

2、推荐使用 jupyter notebook ,它是一个 整合 python编译markdown语法数学方程 等多功能的 Web 应用程序,且 吴恩达老师 所留的作业也均采用 jupyter notebook


神经网络基础

思维导图

神经网络和深度学习(一)_第1张图片
xmind文件和涉及到的图片附件下载地址


课后作业

关于课后作业,网易云课堂不提供,要么去 DeepLearning.ai,要么下载到本地进行学习。

tips:本文采取第二种方法,需将下载的课后作业文件夹到jupyter 的工作目录

神经网络和深度学习(一)_第2张图片
上图的两个文件 即为 课后作业,其他文件为 课后作业需要调用的资源。


知识储备

numpy 的查询手册

python 的查询手册

math.exp(x) ---- 计算e的x次方,x为一个数(exponential 指数)

np.exp(x) ------- 计算e的x次方,x为一个数或 numpy 数组

np.array() ------- 新建一个 数组,矩阵,列表等

X.shape ---------- get the shape (dimension) of a matrix/vector X.

X.reshape--------- reshape X into some other dimension.

np.linalg.norm(x,axis=1,keepdims=True) ------ 求x的范数(默认求 二范数,各元素平方和开根号),axis=0为按列处理,axis=1为按行处理,keepdims表示是否保持矩阵的二维特性。

np.dot(x1,x2) ------ 求向量x1,x2 点积(点乘),a·b= 1b1 + a2b2 +……+ anbn。

np.outer(x1,x2) ---- 求向量x1,x2 外积(叉乘)
神经网络和深度学习(一)_第3张图片

np.multiply(x1,x2) ------ 数组和矩阵对应元素相乘

A = array([[1, 2],
       [3, 4]])

B = array([[0, 1],
       [2, 3]])
       
np.multiply(A,B)

array([[ 0,  2],
       [ 6, 12]])

loss = np.dot((y - yhat),(y - yhat).T) ----------T是将矩阵转置
在这里插入图片描述


sigmoid函数梯度下降(反向传播):当 s = sigmoid(x) 时, ds = s * (1 - s) 。x是一个数,或者 numpy 数组

# 示例:定义一个函数

import numpy as np

def sigmoid(x):

    s = 1 / (1 + np.exp(-x))
  
    return s
    # numpy数组的定义
    
    image = np.array(
    [[[ 0.67826139,  0.29380381],
            [ 0.90714982,  0.52835647],
            [ 0.4215251 ,  0.45017551]],
           [[ 0.92814219,  0.96677647],
            [ 0.85304703,  0.52351845],
            [ 0.19981397,  0.27417313]],
           [[ 0.60659855,  0.00533165],
            [ 0.10820313,  0.49978937],
            [ 0.34144279,  0.94630077]]])


    #原貌
    
    [0.67826139  0.29380381]  [0.90714982  0.52835647]  [0.4215251  0.45017551]
    [0.92814219  0.96677647]  [0.85304703  0.52351845]  [0.19981397 0.27417313]
    [0.60659855  0.00533165]  [0.10820313  0.49978937]  [0.34144279 0.94630077]

    print("print the data of first row :")
    print(image[0])
    
    print("print the date of first column :")
    print(image[:,0])

    print the data of first row :
    [[0.67826139 0.29380381]
     [0.90714982 0.52835647]
     [0.4215251  0.45017551]]
    print the date of first column :
    [[0.67826139 0.29380381]
     [0.92814219 0.96677647]
     [0.60659855 0.00533165]]

你可能感兴趣的:(机器学习,深度学习)