【機器學習深度學習】前饋神經網絡(單隱藏層)

目錄

一、什么是前饋神經網絡?

二、數學表達式是什么?

三、為什么需要“非線性函數”?

四、NumPy 實現前饋神經網絡代碼示例

五、 運行結果

六、代碼解析

6.1 初始化部分

6.2 前向傳播

6.3?計算損失(Loss)

6.4?反向傳播(手動)

6.5?更新參數(梯度下降)

6.6 循環訓練

七、訓練過程可視化(思維圖)

八、關鍵問題答疑

Q1:為什么需要隱藏層?

Q2:ReLU 是干嘛的?

Q3:學習率怎么選?

九、總結

學習建議


在機器學習中,神經網絡就像一個“會學習的函數”,而前饋神經網絡(Feedforward Neural Network)則是最基礎、最核心的一種結構。本文將帶你從結構原理、數學公式、實現細節一步步理解“單隱藏層”的前饋網絡。


一、什么是前饋神經網絡?

前饋神經網絡的特點是:

信息單向流動,從輸入層 → 隱藏層 → 輸出層,沒有循環或反饋連接。

最簡單的一種結構如下圖所示:

輸入層          隱藏層(ReLU)      輸出層
x(輸入) ──? w1 ──? ReLU ──? w2 ──? y_pred(預測)

?你可以把它理解成一個兩步變換:

  1. 線性變換 1x → w1

  2. 非線性激活:ReLU

  3. 線性變換 2:隱藏層輸出 → w2 → 預測值


?

二、數學表達式是什么?

假設:

  • 輸入特征維度是 dim_in

  • 隱藏層維度是 hidden_dim

  • 輸出維度是 dim_out

我們定義:

  • 輸入數據:x ∈ ?^(batch_size × dim_in)

  • 權重矩陣:

    • w1 ∈ ?^(dim_in × hidden_dim)

    • w2 ∈ ?^(hidden_dim × dim_out)

前向傳播公式:

h = x @ w1                  # 第一步:線性變換
h_relu = ReLU(h)            # 第二步:非線性激活
y_pred = h_relu @ w2        # 第三步:輸出層線性變換

?其中:

ReLU(z) = max(0, z)

?即負數變為0,正數保留。


三、為什么需要“非線性函數”?

如果沒有 ReLU,兩個線性變換其實可以合并成一個矩陣乘法:

x @ w1 @ w2 = x @ w3   # 等效于一個線性變換

?這樣網絡就失去了非線性建模能力。ReLU 等激活函數的存在,是神經網絡能“擬合復雜函數”的關鍵!


四、NumPy 實現前饋神經網絡代碼示例

import numpy as np# batch size是批量大小;dim_in是輸入大小
# hidden_layer是隱層的大小;dim_out是輸出大小batch_size = 60
dim_in = 1000
hidden_layer = 100
dim_out = 10# 隨機產生輸入與輸出
x = np.random.randn(batch_size, dim_in)
y = np.random.randn(batch_size, dim_out)# 隨機初始化參數
w1 = np.random.randn(dim_in, hidden_layer)
w2 = np.random.randn(hidden_layer, dim_out)learning_rate = 1e-6 #學習率:e-6 = 0.000001 是一個非常小的學習率
for t in range(500):# 前向計算yh = x.dot(w1)h_relu = np.maximum(h, 0)y_pred = h_relu.dot(w2)# 計算lossloss = np.square(y_pred - y).sum()print(t, loss)# 反向計算梯度grad_y_pred = 2.0 * (y_pred - y)grad_w2 = h_relu.T.dot(grad_y_pred)grad_h_relu = grad_y_pred.dot(w2.T)grad_h = grad_h_relu.copy()grad_h[h < 0] = 0grad_w1 = x.T.dot(grad_h)# 更新參數w1 -= learning_rate * grad_w1w2 -= learning_rate * grad_w2

五、 運行結果

0 31802913.59711115
1 27862669.940934084
2 25041416.34665305
3 20640849.588396948
4 15087301.103141088
5 9844669.593496926
6 6049742.674245879
7 3699122.960253565
8 2368085.6044881023
9 1621768.9999920807
10 1188992.819770149
11 920447.5235605075
12 740807.1376283981
13 612145.3188978288
14 514705.5694336676
15 437800.75185547443
16 375550.4994679776
17 324226.0013918109
18 281414.5595043778
19 245350.51283714588
20 214781.66049475834
21 188693.01738335588
22 166331.02382850024
23 147057.66813775746
24 130372.0760115491
25 115874.92937036144
26 103236.34580226504
27 92188.65212177529
28 82497.74591004035
29 73972.29116012575
30 66453.88210675835
31 59807.95565152481
32 53922.74009309074
33 48696.468874729
34 44043.78842847229
35 39897.40938714743
36 36192.72952379745
37 32881.222911419376
38 29912.920804400706
39 27246.050159921753
40 24844.118152219373
41 22679.159706167917
42 20725.118857534137
43 18959.35709327193
44 17361.09639462803
45 15912.21380914335
46 14597.397472164323
47 13403.287174699626
48 12317.120715892159
49 11327.963654371699
50 10426.545234414367
51 9604.127200974479
52 8853.158791478138
53 8168.93280440142
54 7542.6608044879895
55 6968.996588383261
56 6443.037310604382
57 5960.506414401112
58 5517.4320262423425
59 5110.1600773415785
60 4735.513365426887
61 4390.702785605697
62 4073.2990153810606
63 3780.928637073434
64 3511.1590500742914
65 3262.262949969219
66 3032.384186569493
67 2819.991821524453
68 2623.632186407818
69 2441.9646580452236
70 2273.775854509076
71 2118.0034594937424
72 1973.665619169338
73 1839.8562544909523
74 1715.7182837748542
75 1600.5126668971034
76 1493.5527644299332
77 1394.2122471150428
78 1301.9394631174582
79 1216.335314311364
80 1136.7398485528051
81 1062.6204385473764
82 993.612450734805
83 929.362697529916
84 869.5064558211744
85 813.731637857344
86 761.7341206626454
87 713.2633382804415
88 668.0362485681171
89 625.8170105180482
90 586.4092654486831
91 549.605831661645
92 515.231047199808
93 483.1152413009638
94 453.10580613925544
95 425.0462974237418
96 398.8007080906175
97 374.2590703332922
98 351.2954947955823
99 329.80033956825855
100 309.68024900783837
101 290.8443899089443
102 273.19851756881746
103 256.6691636122595
104 241.18290361059178
105 226.6691663487253
106 213.0629310407298
107 200.30609484238812
108 188.3477701204942
109 177.125789090684
110 166.59808757657473
111 156.7191850562956
112 147.44614999869572
113 138.74131169950806
114 130.56986742407457
115 122.89772025993098
116 115.68910445368162
117 108.91918973749847
118 102.56047471033048
119 96.5831941807449
120 90.967035462952
121 85.68717817216626
122 80.7234420313078
123 76.05481952242808
124 71.66620153538615
125 67.53758167141103
126 63.65318898584177
127 59.999076378378334
128 56.56086183675922
129 53.32567418293749
130 50.28033726167378
131 47.41310908182531
132 44.70448321783478
133 42.15592621331682
134 39.75630908289999
135 37.496991338871815
136 35.36963033838846
137 33.366187599643325
138 31.479308818008846
139 29.70193936918237
140 28.027230859478365
141 26.44968186655459
142 24.963046042136426
143 23.562321730319045
144 22.241830951778866
145 20.996926430338434
146 19.823452002432568
147 18.717422228633854
148 17.67435813163915
149 16.690503204898853
150 15.76287985981186
151 14.887751449814015
152 14.062146355015631
153 13.283400194595085
154 12.548734711782961
155 11.855512164131758
156 11.201378439359555
157 10.584214540042273
158 10.001536944302227
159 9.451672893522225
160 8.932572592099003
161 8.442495850015938
162 7.979816946387869
163 7.5432524944169135
164 7.13091488538908
165 6.741437779001373
166 6.373682019776972
167 6.02633674757954
168 5.6981891638471485
169 5.388291721021924
170 5.095533368405709
171 4.818953241516447
172 4.557671920079116
173 4.310731156609181
174 4.077415972644754
175 3.8569519089727935
176 3.6486160999536157
177 3.4517155427683224
178 3.2656253398948505
179 3.089724111450937
180 2.9234344916002044
181 2.7662840969546325
182 2.6177031596891975
183 2.4772138748637946
184 2.3443674358368587
185 2.2187273280204627
186 2.0999512612521642
187 1.9876065329842025
188 1.8813550412857811
189 1.7809058053391327
190 1.6858737156368528
191 1.5959946327097854
192 1.5109725009413622
193 1.4305263016087912
194 1.3544294434067439
195 1.282451021725154
196 1.2143381087541516
197 1.1498918006151821
198 1.0889042447693447
199 1.0312009559405393
200 0.9766016358261971
201 0.9249599529392429
202 0.8760595568485051
203 0.8297721716028166
204 0.7859628943282888
205 0.7444943145777809
206 0.7052344892484222
207 0.6680832299658699
208 0.6329090217550289
209 0.5996021728664945
210 0.5680733020111599
211 0.5382190537440837
212 0.5099529880569806
213 0.48319963912815755
214 0.45785685017641214
215 0.43385896160687876
216 0.4111386240605488
217 0.3896181736878225
218 0.36923750319531146
219 0.34993519676861856
220 0.33165095707346187
221 0.314331294513814
222 0.2979289006429905
223 0.282398983029271
224 0.26768078121806854
225 0.25373798570032857
226 0.24052652880908543
227 0.22801208505468928
228 0.21615535383593443
229 0.20492378480272846
230 0.19428135659342516
231 0.18419405471680889
232 0.1746366238405904
233 0.16557937294857505
234 0.15699720057847372
235 0.14886621818196866
236 0.1411585604746986
237 0.13385390788271168
238 0.12693024876027403
239 0.12036883334445284
240 0.11415069420913446
241 0.10825794261161627
242 0.10267061968478475
243 0.09737390311441976
244 0.09235312837862564
245 0.087593740090925
246 0.0830823943436006
247 0.07880633544704217
248 0.07475172844129639
249 0.07090645829025279
250 0.06726127607186388
251 0.0638052354066526
252 0.06052801383907144
253 0.05742046861889627
254 0.05447513273019535
255 0.05168078573727829
256 0.04903164242414225
257 0.046518857040723
258 0.04413593768432386
259 0.04187597805508968
260 0.03973280482497978
261 0.037700580339928444
262 0.03577274145343304
263 0.033944260459066664
264 0.03221002883490959
265 0.030565103572368503
266 0.029005450152877622
267 0.027525690273484005
268 0.02612171439511704
269 0.024789845790938778
270 0.02352644209817506
271 0.022328112777489896
272 0.02119109957536843
273 0.02011250820948681
274 0.01908972546251681
275 0.01811878755436474
276 0.017197668026636498
277 0.016323580155296946
278 0.015494275307769744
279 0.014707626865057324
280 0.013961146888082815
281 0.013252658795015478
282 0.012580376850963828
283 0.011942380970353389
284 0.011337050786504082
285 0.010762615331565674
286 0.010217442620419497
287 0.009700048476176
288 0.009209015005295619
289 0.008743063914064007
290 0.00830079789562362
291 0.007881090049369877
292 0.007482863310689919
293 0.007104741067817669
294 0.006745881310106875
295 0.0064052229280060005
296 0.006081882464660905
297 0.00577494150311747
298 0.005483632015744061
299 0.0052070843473717
300 0.004944555914305707
301 0.004695350946217612
302 0.0044587868925615535
303 0.004234357250900503
304 0.004021170428828347
305 0.003818841664008364
306 0.003626677064852193
307 0.003444252145867361
308 0.0032710320315975693
309 0.003106565476324248
310 0.0029504249995014166
311 0.0028021967964894498
312 0.002661432790110562
313 0.0025277830326929803
314 0.002400875685370796
315 0.002280390780283942
316 0.0021659815437142424
317 0.002057352231068933
318 0.0019542125112607094
319 0.0018562506796565845
320 0.0017632234210104608
321 0.0016748767260031281
322 0.001590977878105458
323 0.001511308978229976
324 0.0014356487962760454
325 0.00136379373551704
326 0.0012955499976566886
327 0.0012307467283780987
328 0.0011691981995367463
329 0.0011107368584169276
330 0.0010552330564509874
331 0.0010025121063436781
332 0.0009524258692544249
333 0.0009048535091540999
334 0.0008597005446571409
335 0.0008167850160683086
336 0.0007760177549937489
337 0.0007372932962456634
338 0.0007005107649490502
339 0.000665576369659209
340 0.0006323891450099216
341 0.000600862492346459
342 0.0005709151467133703
343 0.0005424812175655973
344 0.0005154574422725749
345 0.0004897829025717045
346 0.00046539467401643945
347 0.0004422268054683758
348 0.0004202159139724301
349 0.0003993049959073562
350 0.0003794397872115326
351 0.0003605669705357083
352 0.0003426361366397225
353 0.0003256007160947051
354 0.0003094172208779314
355 0.0002940421756585992
356 0.00027943617403704686
357 0.00026555486739258255
358 0.00025236665992773265
359 0.00023983454825590847
360 0.00022792730770783559
361 0.00021661437081645806
362 0.00020586513100568558
363 0.00019565035974674806
364 0.00018594471270624293
365 0.000176723445208882
366 0.00016795994430273203
367 0.00015963337782530846
368 0.0001517275539276351
369 0.00014421040985711602
370 0.00013706455819106474
371 0.0001302743106607912
372 0.00012382226779548573
373 0.0001176900338359785
374 0.00011186270067889316
375 0.00010632526261202345
376 0.00010106289697884404
377 9.606168208348533e-05
378 9.130866667679243e-05
379 8.679234336241218e-05
380 8.249999456550884e-05
381 7.842067674092583e-05
382 7.45443419110057e-05
383 7.085920960332567e-05
384 6.735685124501332e-05
385 6.402830734412548e-05
386 6.086479698207039e-05
387 5.7857925365965886e-05
388 5.500000388889879e-05
389 5.2284174037321924e-05
390 4.9702453540481626e-05
391 4.7248663640145366e-05
392 4.4916904149123065e-05
393 4.2700116382073766e-05
394 4.059346916060993e-05
395 3.859090935382623e-05
396 3.6687282106802257e-05
397 3.487771412116357e-05
398 3.3157737731131725e-05
399 3.152288996584813e-05
400 2.996875794549964e-05
401 2.8491465927160866e-05
402 2.7087532687666482e-05
403 2.575352597790541e-05
404 2.448471086445722e-05
405 2.3278645685332488e-05
406 2.2132031728684212e-05
407 2.10423442694837e-05
408 2.0006229536901454e-05
409 1.9021204669995866e-05
410 1.8084776047297077e-05
411 1.719465920098826e-05
412 1.6348422880929777e-05
413 1.5543915880875718e-05
414 1.4779130685608716e-05
415 1.4052109899892033e-05
416 1.336097414947876e-05
417 1.2703878208505998e-05
418 1.2079175773983917e-05
419 1.1485267270950844e-05
420 1.0920807908278039e-05
421 1.0383995733575947e-05
422 9.873608285972606e-06
423 9.388381552669514e-06
424 8.927092497434697e-06
425 8.488473546786367e-06
426 8.071471838416779e-06
427 7.675027328261622e-06
428 7.2981227833149334e-06
429 6.939736801339232e-06
430 6.599003440153725e-06
431 6.2750170691319805e-06
432 5.967007078748734e-06
433 5.6742090296503115e-06
434 5.395719752970813e-06
435 5.130937645253952e-06
436 4.87920158901866e-06
437 4.639815906406285e-06
438 4.412213573149531e-06
439 4.195802711971161e-06
440 3.990123950961278e-06
441 3.7945252328289855e-06
442 3.608471977769138e-06
443 3.4315515007454395e-06
444 3.2633306394668312e-06
445 3.103405459620941e-06
446 2.9513181726355295e-06
447 2.8066876022389856e-06
448 2.6691538259105404e-06
449 2.5383753494089284e-06
450 2.4140235252178024e-06
451 2.2957701135496723e-06
452 2.183333776488385e-06
453 2.07641109961365e-06
454 1.974724731070076e-06
455 1.8780278346758207e-06
456 1.786082848996655e-06
457 1.698639821470484e-06
458 1.6155178969931476e-06
459 1.5364439298679826e-06
460 1.4612462682268666e-06
461 1.3897382233661123e-06
462 1.3217350417736695e-06
463 1.2570680137975212e-06
464 1.195578286864945e-06
465 1.1370905886940199e-06
466 1.0814704022876013e-06
467 1.0285784650087478e-06
468 9.7827440574436e-07
469 9.304371896482364e-07
470 8.849516701658213e-07
471 8.416914919557603e-07
472 8.005446696067948e-07
473 7.614111160484979e-07
474 7.241936240771875e-07
475 6.888036578125152e-07
476 6.551438266808347e-07
477 6.231298681746073e-07
478 5.926835268639461e-07
479 5.637450957389969e-07
480 5.362068835505084e-07
481 5.100125712310269e-07
482 4.851009928096027e-07
483 4.6141620299303607e-07
484 4.3888189005498683e-07
485 4.174501142456302e-07
486 3.97066914639174e-07
487 3.77681684529433e-07
488 3.592442323894331e-07
489 3.4170694626234404e-07
490 3.250269793717848e-07
491 3.091632431964455e-07
492 2.9407350013526166e-07
493 2.7972264887504744e-07
494 2.660725994291934e-07
495 2.530911152051592e-07
496 2.4074548883860325e-07
497 2.2899987883379698e-07
498 2.178288956329781e-07
499 2.072046279815824e-07

六、代碼解析

6.1 初始化部分

batch_size = 60         # 每次訓練輸入的樣本數(小批量)
dim_in = 1000           # 輸入特征維度
hidden_layer = 100      # 隱藏層神經元數量
dim_out = 10            # 輸出維度x = np.random.randn(batch_size, dim_in)  # 輸入樣本(模擬數據)
y = np.random.randn(batch_size, dim_out) # 目標輸出(模擬標簽)w1 = np.random.randn(dim_in, hidden_layer)  # 輸入層到隱藏層的權重
w2 = np.random.randn(hidden_layer, dim_out) # 隱藏層到輸出層的權重learning_rate = 1e-6 #學習率:e-6 = 0.000001 是一個非常小的學習率

?模擬一個形如:輸入層 → ReLU → 輸出層 的兩層神經網絡。

【參數選擇策略】


? batch_size(批大小)

概念:

每次用于訓練的樣本數,影響模型 收斂速度、穩定性、顯存占用

常見設置:

  • 小批量:16, 32

  • 中等批量:64, 128

  • 大批量:256, 512+

建議:

情況建議
數據量小可以用 16~64
數據量大,顯卡充足可用 128 或更大
CPU 訓練建議小一些(如 16~32)
GPU 訓練盡量大一點,充分利用顯存
不知道怎么選試試 32 或 64,是比較平衡的起點

? dim_in(輸入維度)

概念:

特征的數量。比如:

  • 文本用 embedding 后可能是 300~768

  • 圖像如 28×28 灰度圖就是 784

  • 這里是 1000 → 模擬高維特征

建議:

這個參數 應該由實際數據決定,不要隨意設置。

情況舉例
文本輸入(BERT等)通常為 768
圖像28×28(如MNIST)784
人工生成測試數據任意(如 1000)
若僅測試網絡結構500~1000 都可以

? hidden_layer(隱藏層神經元數)

概念:

中間層神經元數量,影響模型表達能力與參數數量。

建議:

  • 越多的神經元 → 模型越復雜,能擬合更復雜的模式

  • 但會導致過擬合、計算慢

常見經驗值:

輸入維度隱藏層建議范圍
100~30050~100
500~1000100~300
大型任務(如BERT)512, 768, 1024+

👉 如果你是實驗性質或學習,100 是個不錯的起點。


? dim_out(輸出維度)

概念:

模型輸出的維度,取決于你的任務:

任務類型輸出維度
二分類1(或 2 softmax)
多分類類別數
回歸目標維度
多任務/多輸出多個維度

你這里是 10,可能模擬一個 10維回歸10類分類任務

建議:

  • 如果是分類任務:dim_out = 類別數

  • 如果是回歸任務:dim_out = 回歸目標的維度數


?learning_rate = 1e-6?

學習率就是一步邁多遠,邁得太小 → 太慢;邁得太大 → 容易摔倒(發散)。

學習率太大后果
1e-1, 1e-2模型 loss 波動劇烈、不收斂、甚至變 NaN
學習率太小訓練速度極慢,loss下降很慢,甚至不動

比如用 1e-6,每一步走得非常小,要走很久才能到達最優點。

【常見選擇范圍】

任務常用學習率
簡單手寫神經網絡(當前代碼這個)1e-3 ~ 1e-5
深度學習框架(Adam優化器)通常是 1e-3
微調預訓練模型(BERT等)1e-5 ~ 1e-6(更小)

【怎么知道學習率選得合不合適?】

可以觀察訓練中 loss 的變化趨勢:

  • ? loss 穩定下降 → 學習率合適

  • ? loss 不降甚至變大 → 學習率太大

  • ? loss 下降太慢 → 學習率太小


6.2 前向傳播

h = x.dot(w1)               # 線性層1:輸入 × 權重1
h_relu = np.maximum(h, 0)   # ReLU 激活函數
y_pred = h_relu.dot(w2)     # 線性層2:ReLU輸出 × 權重2 = 模型預測

?模擬神經網絡從輸入到輸出的計算流程(前向傳播)。

【整體網絡結構】

這是一個兩層神經網絡,結構如下:

輸入 x (batch_size × dim_in)↓  dot(w1)              ← 權重矩陣1 (dim_in × hidden_layer)
隱藏層 h↓  ReLU 激活函數        ← 非線性激活
隱藏層激活 h_relu↓  dot(w2)              ← 權重矩陣2 (hidden_layer × dim_out)
輸出 y_pred

h = x.dot(w1)

說明:

  • x 是一個矩陣,形狀是 (60, 1000):表示60個樣本,每個樣本有1000維輸入特征

  • w1 是一個權重矩陣,形狀是 (1000, 100):將每個輸入映射到100維隱藏層空間

  • x.dot(w1) 表示矩陣乘法,結果是 h,形狀是 (60, 100),也就是:

    每個樣本經過第一層神經元線性組合后得到100個數,代表激活前的隱藏層值


h_relu = np.maximum(h, 0)

對每個元素做 ReLU 激活(如果小于0就置為0)

說明:

  • 這是一個 ReLU(Rectified Linear Unit)激活函數

ReLU(x) = max(x, 0)
  • 為什么用它?

    • 增加非線性能力(不然兩個線性層等于一個線性層)

    • 抑制負值,保留正值

  • 作用是:讓神經網絡可以擬合復雜的非線性函數

舉個例子:

h = [[-3, 5], [2, -1]]
np.maximum(h, 0) = [[0, 5], [2, 0]]

? 舉個通俗的比喻:

假設你是一個學生:

  • x:是你的考試成績、作業表現、出勤情況等(輸入特征)

  • w1:是老師對每項指標的權重(重要性)

  • h = x.dot(w1):加權評分(但還沒做非線性處理)

  • h_relu = max(h, 0):如果某項表現太差,干脆不加分(ReLU激活)

  • w2:是評估最終等級的轉換標準

  • y_pred = h_relu.dot(w2):最終得出你的綜合評價或預測等級


6.3?計算損失(Loss)

loss = np.square(y_pred - y).sum()

?使用的是 平方損失函數(L2 loss):表示預測值與真實值之間的差異。


6.4?反向傳播(手動)

grad_y_pred = 2.0 * (y_pred - y)             # 對y_pred求導
grad_w2 = h_relu.T.dot(grad_y_pred)          # 權重w2的梯度
grad_h_relu = grad_y_pred.dot(w2.T)          # 反傳到ReLU前
grad_h = grad_h_relu.copy()
grad_h[h < 0] = 0                             # ReLU的梯度(小于0處為0)
grad_w1 = x.T.dot(grad_h)                    # 權重w1的梯度

?手動計算每一層的梯度,過程符合鏈式法則的傳播邏輯。


6.5?更新參數(梯度下降)

w1 -= learning_rate * grad_w1
w2 -= learning_rate * grad_w2

?使用學習率 1e-6梯度下降法 來更新模型參數。


6.6 循環訓練

for t in range(500):...

循環訓練 500 次,每次都進行:

  • 前向傳播

  • 計算 loss

  • 反向傳播

  • 更新參數


七、訓練過程可視化(思維圖)

輸入 x --> Linear(w1) --> ReLU --> Linear(w2) --> 輸出 y_pred|                   |權重1               權重2

每一輪迭代:

  • 根據當前參數前向預測 y_pred

  • 計算預測誤差(loss)

  • 根據 loss 反向傳播求梯度

  • 用梯度下降法更新 w1w2


八、關鍵問題答疑

Q1:為什么需要隱藏層?

隱藏層可以幫助模型學習輸入和輸出之間復雜的中間表示。沒有隱藏層時,模型就是個線性回歸。


Q2:ReLU 是干嘛的?

ReLU 是一個非線性函數,核心公式:

ReLU(x) = max(0, x)

它能增強模型的擬合能力,防止神經網絡退化為線性模型。


Q3:學習率怎么選?

學習率太大可能訓練發散,太小則訓練太慢。常見值:

優化器建議范圍
SGD1e-3 ~ 1e-5
Adam1e-3 是常用起點


九、總結

前饋神經網絡的訓練過程可以總結為:

前向傳播 + 損失計算 + 反向傳播 + 參數更新

在本文中,我們以 NumPy 為例,手動實現了一個具有單隱藏層的神經網絡,并用最基礎的數學操作訓練模型。


學習建議

  • 改變隱藏層大小,觀察訓練效果

  • 換成 sigmoid 或 tanh 激活函數試試看

  • 用自己的數據跑一次(比如分類任務)

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/86813.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/86813.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/86813.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

設計模式系列(08):創建型模式 - 原型模式

系列導讀&#xff1a;完成創建型模式的學習&#xff0c;我們來看最后一個創建型模式——原型模式。它通過復制已有對象來創建新對象&#xff0c;是一種獨特的創建方式。 解決什么問題&#xff1a;通過復制現有對象來創建新對象&#xff0c;而不是重新實例化。適用于對象創建成本…

區塊鏈到底是什么?

區塊鏈本質上是一種去中心化的分布式賬本技術&#xff0c;具有以下核心特點&#xff1a; - 去中心化&#xff1a;沒有中央管理機構&#xff0c;數據由網絡中的多個節點共同維護&#xff0c;比如比特幣網絡中各個節點都保存著完整賬本。 - 分布式存儲&#xff1a;數據不是存在一…

系統架構設計師論文分享-論ATAM的使用

我的軟考歷程 摘要 2023年2月&#xff0c;我司通過了研發紗線MES系統的立項&#xff0c;該系統為國內紗線工廠提供SAAS服務&#xff0c;旨在提高紗線工廠的數字化和智能化水平。我在本項目中擔任系統架構設計師&#xff0c;負責整個項目的架構設計工作。本文結合我在該項目中…

vue-28(服務器端渲染(SSR)簡介及其優勢)

服務器端渲染&#xff08;SSR&#xff09;簡介及其優勢 服務器端渲染&#xff08;SSR&#xff09;是現代網絡應用的關鍵技術&#xff0c;特別是使用 Vue.js 等框架構建的應用。它通過在服務器上渲染初始應用狀態來彌補傳統單頁應用&#xff08;SPA&#xff09;的局限性&#x…

工業電子 | 什么是SerDes,為何工業和汽車應用需要它?

重點內容速覽&#xff1a; 1. 什么是SerDes&#xff1f; 2. ADI&#xff1a;私有協議的GMSL將向公有協議轉變 3. TI&#xff1a;工業和汽車有兩套SerDes解決方案 4. Microchip&#xff1a;推出通用協議SerDes芯片 5. 羅姆&#xff1a;主要針對汽車領域 6. 國產SerDes芯…

大事件項目記錄4-用戶接口開發-更新用戶基本信息

4&#xff09;更新用戶基本信息。 UserController.java&#xff1a; UserMapper.java&#xff1a; Update("update user set nickname #{nickname},email #{email},update_time #{updateTime} where id #{id}")void update(User user); UserServiceInterface…

Transformer結構--輸入編碼(BPE,PE)

在Transformer結構中&#xff0c;輸入編碼是模型處理文本數據的關鍵步驟&#xff0c;其中**BPE&#xff08;Byte Pair Encoding&#xff0c;字節對編碼&#xff09;和PE&#xff08;Positional Encoding&#xff0c;位置編碼&#xff09;**是兩種重要的編碼方式&#xff0c;它們…

Confluence-測試用例設計指導方法

測試經驗知識庫 典型的測試場景驗證點各個項目有價值的經驗和測試點 測試經驗知識庫 - 草稿測試用例執行量化指導建議 何時需要進行全量測試和如何定義和執行測試用例量的一些建議和標準 端對端&#xff08;E2E&#xff09;測試用例設計指導方案 在測試行業中&#xff0c;端到端…

淺析JVM

一、JVM運行流程 如圖&#xff1a; JVM由四個部分構成&#xff1a; 1.類加載器 加載類文件到內存2.運行時數據區 寫的程序需要加載到這里才能運行3.執行引擎 負責解釋命令&#xff0c;提交操作系統執行4.本地接口 融合不同編程語言為java所用&#xff0c;如Java程序驅動打印…

多個 Job 并發運行時共享配置文件導致上下文污染,固化 Jenkins Job 上下文

基于 context.py 固化 Jenkins Job 上下文的完整方案&#xff0c;適用于你當前的工作流&#xff08;Python Jenkins Pipeline&#xff09;&#xff0c;解決&#xff1a; 多個 Job 并發運行時共享配置文件導致上下文污染&#xff1b;讀取環境變量或 JSON 文件時被其他 Job 修改…

簡木易支付系統 功能齊全,對接接口超多

簡木易支付系統&#xff0c;作為一款引領行業潮流的卓越支付解決方案&#xff0c;依托先進的 PHP MySQL 技術架構精心打造。在開發過程中&#xff0c;它巧妙運用了功能強大的 ThinkPHP8 框架&#xff0c;完美融合前端主流技術 Vue、Element 以及 Layuiadmin&#xff0c;共同鑄…

【軟考高項論文】信息系統項目的人力資源管理

摘要 本文圍繞信息系統項目的人力資源管理展開論述。以我在2024年參與的為大型國有企業構建供應鏈管理系統項目為例&#xff0c;闡述了項目人力資源管理的主要流程&#xff0c;包括規劃、組建、建設和管理團隊四個過程&#xff0c;以及所運用的工具和理論。同時&#xff0c;分…

【EI會議征稿】東北大學主辦第三屆機器視覺、圖像處理與影像技術國際會議(MVIPIT 2025)

一、會議信息 大會官網&#xff1a;www.mvipit.org 官方郵箱&#xff1a;mvipit163.com 會議地點&#xff1a;遼寧沈陽 主辦單位&#xff1a;東北大學 會議時間&#xff1a;2025 年 9 月 27 日-9 月 29 日 二、征稿主題 集中但不限于“機器視覺、圖像處理與影像技術”等其…

從零開始的云計算生活——第二十三天,稍作休息,Tomcat

目錄 一.故事背景 二.Tomcat概述 1、Tomcat介紹 2、Tomcat歷史 二、Tomcat原理分析 1、Http工作原理 2、Tomcat整體架構 3、Coyote連接器架構 4、Catalina容器架構 5、Jasper處理流程 6、JSP編譯過程 7、Tomcat啟動流程 8、Tomcat請求處理流程 三、Tomcat安裝與配…

幾種基于Doherty結構的GAN氮化鎵功放設計方法介紹

功率放大器是現代無線通信系統中最重要的組件之一。理想情況下&#xff0c;它們能夠以高線性度和高效率提供高輸出功率。但通常在這三個關鍵的功率放大器性能參數之間需要進行權衡取舍&#xff0c;而且具有最高輸出功率和線性度的放大器往往會犧牲效率。 在支持寬帶寬和高數據…

前端打印計算單位 cm、mm、px

A4 縱向 寬&#xff1a;21cm&#xff0c;210mm&#xff0c;793.698px 高&#xff1a;29.7cm&#xff0c;297mm&#xff0c;1122.520px A4 橫向 寬&#xff1a;29.7cm&#xff0c;297mm&#xff0c;1122.520px 高&#xff1a;21cm&#xff0c;210mm&#xff0c;793.698px …

c# sugersql 獲取子表數據排序

在C#中使用Sugar ORM&#xff08;一個流行的.NET ORM框架&#xff09;獲取子表數據并進行排序&#xff0c;可以通過以下幾種方式實現&#xff1a; 1. 使用HasMany或HasOne配置 首先&#xff0c;確保你在配置實體時已經正確設置了HasMany或HasOne關系。例如&#xff0c;假設你…

【nRF52832】【環境搭建 3】【如何新建一個純單片機開發的工程】

1. 前言 笨叔&#xff0c;又要開始扯淡了!!! 不感興趣的同學&#xff0c;可以跳過了!!! 笨叔之前在大學里面&#xff0c; 剛接觸單片機時。就被 windows 平臺 例如 keill 5 、IAR 等一堆開會環境差點勸退。 當時也是堅持咬牙一點點摸索過來的。剛摸索明白&#xff0c;覺得單片…

Spring-loC與DI

目錄 1 loC控制反轉思想 2 DI依賴注入 3 loC詳解 3.1 存儲Bean &#xff08;1&#xff09;Controller &#xff08;2&#xff09;Service &#xff08;3&#xff09;Repository &#xff08;4&#xff09;Component &#xff08;5&#xff09;Configuration &#xf…

職業本科單片機與嵌入式技術實訓室建設設想

一、引言 在當今數字化與智能化飛速發展的時代&#xff0c;單片機與嵌入式技術作為信息技術領域的關鍵支撐&#xff0c;廣泛應用于工業控制、智能家居、物聯網、汽車電子等眾多行業&#xff0c;成為推動產業升級和創新發展的核心驅動力。職業本科教育旨在培養適應生產、建設、…