1. 程式人生 > >吳恩達DeepLearning.ai(神經網路和深度學習) 第二週程式設計作業

吳恩達DeepLearning.ai(神經網路和深度學習) 第二週程式設計作業

轉載於:http://blog.csdn.net/Koala_Tree/article/details/78057033

吳恩達Coursera課程 DeepLearning.ai 程式設計作業系列,本文為《神經網路與深度學習》部分的第二週“神經網路基礎”的課程作業(做了無用部分的刪減)。

Part 1:Python Basics with Numpy (optional assignment)

1 - Building basic functions with numpy

Numpy is the main package for scientific computing in Python. It is maintained by a large community (www.numpy.org). In this exercise you will learn several key numpy functions such as np.exp, np.log, and np.reshape. You will need to know how to use these functions for future assignments.

1.1 - sigmoid function, np.exp()

Exercise: Build a function that returns the sigmoid of a real number x. Use math.exp(x) for the exponential function.

Reminder
sigmoid(x)=11+ex is sometimes also known as the logistic function. It is a non-linear function used not only in Machine Learning (Logistic Regression), but also in Deep Learning.

還在路上,稍等...

To refer to a function belonging to a specific package you could call it using package_name.function(). Run the code below to see an example with math.exp().

# GRADED FUNCTION: basic_sigmoid

import math

def basic_sigmoid(x):
    """
    Compute sigmoid of x.

    Arguments:
    x -- A scalar

    Return:
    s -- sigmoid(x)
    """
### START CODE HERE ### (≈ 1 line of code) s = 1.0 / (1 + 1/ math.exp(x)) ### END CODE HERE ### return s
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
basic_sigmoid(3)
  • 1
0.9525741268224334
  • 1
  • 2

Actually, we rarely use the “math” library in deep learning because the inputs of the functions are real numbers. In deep learning we mostly use matrices and vectors. This is why numpy is more useful.

### One reason why we use "numpy" instead of "math" in Deep Learning ###
x = [1, 2, 3]
basic_sigmoid(x) # you will see this give an error when you run it, because x is a vector.
  • 1
  • 2
  • 3
---------------------------------------------------------------------------

TypeError                                 Traceback (most recent call last)

<ipython-input-3-2e11097d6860> in <module>()
      1 ### One reason why we use "numpy" instead of "math" in Deep Learning ###
      2 x = [1, 2, 3]
----> 3 basic_sigmoid(x) # you will see this give an error when you run it, because x is a vector.


<ipython-input-1-65a96864f65f> in basic_sigmoid(x)
     15 
     16     ### START CODE HERE ### (≈ 1 line of code)
---> 17     s = 1.0 / (1 + 1/ math.exp(x))
     18     ### END CODE HERE ###
     19 


TypeError: a float is required
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

In fact, if x=(x1,x2,...,xn) is a row vector then np.exp(x) will apply the exponential function to every element of x. The output will thus be: np.exp(x)=(ex1,ex2,...,exn)

import numpy as np

# example of np.exp
x = np.array([1, 2, 3])
print(np.exp(x)) # result is (exp(1), exp(2), exp(3))
  • 1
  • 2
  • 3
  • 4
  • 5
[  2.71828183   7.3890561   20.08553692]
  • 1
  • 2

Furthermore, if x is a vector, then a Python operation such as s=x+3 or s=1x will output s as a vector of the same size as x.

# example of vector operation
x = np.array([1, 2, 3])
print (x + 3)
  • 1
  • 2
  • 3
[4 5 6]
  • 1
  • 2

Exercise: Implement the sigmoid function using numpy.

Instructions: x could now be either a real number, a vector, or a matrix. The data structures we use in numpy to represent these shapes (vectors, matrices…) are called numpy arrays. You don’t need to know more for now. 

For x

相關推薦

DeepLearning.ai神經網路深度學習 第二程式設計作業

轉載於:http://blog.csdn.net/Koala_Tree/article/details/78057033吳恩達Coursera課程 DeepLearning.ai 程式設計作業系列,本文為《神經網路與深度學習》部分的第二週“神經網路基礎”的課程作業(做了無用部分的刪減)。Part 1:Pyth

deeplearning.ai神經網路深度學習第二 神經網路基礎 1~6

____tz_zs學習筆記第二週 神經網路基礎二分分類logistic 迴歸logistic 迴歸損失函式梯度下降法導數更多導數的例子第二週 神經網路基礎2.1 二分分類在二元分類問題中,目標是訓練出一個分類器,它以圖片的特徵向量 x 作為輸入,預測輸出的結果標籤 y 是 1

deepLearning.ai迴圈神經網路RNN學習筆記_看圖就懂了!!!(理論篇)

  前言 目錄:     RNN提出的背景         - 一個問題         - 為什

deepLearning.ai迴圈神經網路RNN學習筆記_沒有複雜數學公式,看圖就懂了!!!(理論篇)

  本篇文章被Google中國社群組織人轉發,評價: 條理清晰,寫的很詳細!  被阿里演算法工程師點在看!  所以很值得一看!   前言 目錄:     RNN提出的背景    &nbs

神經網路深度學習 第4周程式設計作業

由於csdn的markdown編輯器及其難用,已將本文轉移至此處NoteThese are my personal programming assignments at the 4th week after studying the course neural-network

神經網路深度學習 第3周程式設計作業

由於csdn的markdown編輯器及其難用,已將本文轉移至此處NoteThese are my personal programming assignments at the third week after studying the course neural-netwo

Coursera DeepLearning.AI 第五課 sequence model 序列模型 第二 Emofify

這個Emojify裡最坑的一個就是,avg初始化的時候一定要是 (50,) ,如果你用(word_to_vec_map["a"]).shape 就死活過不了。Emojify!Welcome to the second assignment of Week 2. You are going to use wor

神經網路深度學習練習題 第二測驗

轉自何寬 吳恩達 神經網路與深度學習 網易雲課堂 練習題 第二週 神經元節點計算什麼? 【 】神經元節點先計算啟用函式,再計算線性函式(z = Wx + b) 【★】神經元節點先計算線性函式(z = Wx + b),再計算啟用。 【 】神經元節點計算函式g,函式g計算(Wx +

機器學習筆記-視訊課程神經網路學習

1.代價函式    神經網路層數L,表示L層(最後一層)神經元個數,表示每層的輸出神經元數   二類分類:=1 輸出層有一個神經元,輸出的y是一個實數 y = 0 or 1 表示類別   多類別分類:一共有K類,則=K,輸出層有K個神經元,&nbs

第一門-神經網路深度學習第三6-10學習筆記

吳恩達第一門-神經網路和深度學習第三週6-10學習筆記 3.6啟用函式 啟用函式 圖中給出了前面課程中所學到的利用神經網路計算輸出值的具體步驟。其中的 σ

Coursera DeepLearning.AI 第五課 sequence model 序列模型 第一 Improvise a Jazz Solo with an LSTM Network

We have taken care of the preprocessing of the musical data to render it in terms of musical "values." You can informally think of each "value" as a note,

Coursera Deep Learning 第二課 改善神經網路 Improving Deep Neural Networks 第二 程式設計作業程式碼Optimization methods

Optimization Methods Until now, you’ve always used Gradient Descent to update the parameters and minimize the cost. In this notebo

Coursera Deep Learning 第2課 Improving Deep Neural Networks 第一 程式設計作業程式碼 Regularization

2 - L2 Regularization # GRADED FUNCTION: compute_cost_with_regularization def compute_cost_with_reg

Coursera Deep Learning 第2課 Improving Deep Neural Networks 第一 程式設計作業程式碼 Initialization

2 - Zero initialization # GRADED FUNCTION: initialize_parameters_zeros def initialize_parameters_z

deeplearning.ai課程《改善深層神經網路:超引數除錯、正則化以及優化》____學習筆記第一

____tz_zs學習筆記第一週 深度學習的實用層面(Practical aspects of Deep Learning)我們將學習如何有效運作神經網路(超引數調優、如何構建資料以及如何確保優化演算法快速執行)設定ML應用(Setting up your ML applic

DeepLearning.ai筆記1-4-- 深層神經網路

神經網路和深度學習—深層神經網路1.深度網路中的前向傳播2. 核對矩陣的維度DNN結構示意圖如圖所示:對於第L層神經網路,單個樣本其各個引數的矩陣維度為:W[l]:(n[l],n[l−1])b[l]:(n[l],1)dW[l]:(n[l],n[l−1])db[l]:(n[l]

【Coursera】 deeplearning.ai 04.卷積神經網路 第二 深度卷積神經網路 課程筆記

深度卷積神經網路 2.1 為什麼要進行例項化 實際上,在計算機視覺任務中表現良好的神經網路框架,往往也適用於其他任務。 2.2 經典網路 LeNet-5 AlexNet VGG LeNet-5 主要針對灰度影象 隨著神經網路的加深

deeplearning.ai第四課學習心得:卷積神經網路與計算機視覺

不久前,Coursera 上放出了吳恩達 deeplearning.ai 的第四門課程《卷積神經網路》。本文是加拿大國家銀行首席分析師 Ryan Shrott 在完成該課程後所寫的學習心得,有助於大家直觀地瞭解、學習計算機視覺。 我最近在 Coursera 上完成了吳恩達教授的計算機視覺課程。吳恩達

Deeplearning.ai筆記之神經網路深度學習1

Introduction to Deep Learning What is a neural neural network? 當對於房價進行預測時,因為我們知道房子價格是不可能會有負數的,因此我們讓面積小於某個值時,價格始終為零。 其實對於以上這麼一個預測的模型就可以看

Deeplearning.ai筆記之神經網路深度學習3

Shallow Neural Network Neural Networks Overview 同樣,反向傳播過程也分成兩層。第一層是輸出層到隱藏層,第二層是隱藏層到輸入層。其細節部分我們之後再來討論。 Neural Network Representation