此系列部落格記錄 網易雲課堂 - 深度學習工程師課程 的學習開發環境:
anaconda - (python 3.7 windows版本)
+jupyter notebook
1、由於anaconda
是python
的乙個開源針對科學計算的版本,故只需裝 anaconda 即可。
2、推薦使用jupyter notebook
,它是乙個 整合python編譯
、markdown語法
、數學方程
等多功能的web
應用程式,且 吳恩達老師 所留的作業也均採用 jupyter notebook
思維導圖
課後作業
上圖的兩個檔案 即為 課後作業,其他檔案為 課後作業需要呼叫的資源。
知識儲備
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 外積(叉乘)
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
defsigmoid
(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
]]
神經網路和深度學習(一) 初識神經網路
人類的視覺系統是世界上最棒的系統之一,比如下列一串手寫數字 大多數人都可以一眼看出它是504192。在我們大腦的每乙個半球,都有主要的視覺皮質v1 它包含了1.4億個神經元,在這些神經元之間有數百億的接觸。然而人類的視覺不僅僅包含了v1 而是一系列的視覺皮質v1 v2,v3,v 4,v5 逐步進行更...
神經網路和深度學習(一) 初識神經網路
人類的視覺系統是世界上最棒的系統之一,比如下列一串手寫數字 大多數人都可以一眼看出它是504192。在我們大腦的每乙個半球,都有主要的視覺皮質的輸入依賴於其輸出,這很難理解,所以我們不允許這樣的迴圈。然而,有些人造神經網路中存在反饋迴路是可能的。這樣的模型稱為遞迴神經網路。這些模型的思想是讓神經元在...
神經網路和深度學習(一) 初識神經網路
人類的視覺系統是世界上最棒的系統之一,比如下列一串手寫數字 大多數人都可以一眼看出它是504192。在我們大腦的每乙個半球,都有主要的視覺皮質的輸入依賴於其輸出,這很難理解,所以我們不允許這樣的迴圈。然而,有些人造神經網路中存在反饋迴路是可能的。這樣的模型稱為遞迴神經網路。這些模型的思想是讓神經元在...