本文寫於 2020 年 12 月 11 日
之前講了什麼叫做機器學習,不理解的可以移步《什麼叫做機器學習》。
神經網路的最重要用途就是 classification。
對於我們人來說,前面跑過的四腳獸是貓還是狗、是狼還是虎,我們都可以判斷出來(一般)。我們雖然沒有**清楚人腦究竟是怎麼思考的,可是簡化出了「神經網路」,通過機器學習實現人工神經網路。
關於 classification 有幾個典型的例子:
郵箱判斷郵件是否是垃圾郵件;
判斷四腳獸的**到底是貓還是狗、狼還是虎;
根據病症判斷疾病型別
……這都是 classification。我們寫乙個程式能夠進行分類,那他就是「分類器」。在神經網路裡,乙個神經元就是乙個「分類器」。
我們會將事物的「特徵」作為輸入,經由「分類器」得到輸出。比如 0 表示是貓、1 表示是狗;0 表示是垃圾郵件、1 表示不是。
我們高中都學過線性回歸,線性回歸是對資料進行擬合,然後畫出一條直線。
如果我們利用線性回歸進行分類,可以說:在直線一邊的是 a,在直線的另一邊的是 b。
平面上直線的方程是ax + by + c=0
,所以根據ax1 + by1 + c > 0
還是ax1 + by1 + c < 0
就可以判斷(x1, y1)
在直線的哪一邊。
神經元的實質就是把特徵空間一切兩半,一邊是乙個型別。
實際工作中我們並不知道怎麼畫這一條直線,我們可以利用 hebb 演算法:
我們把直線放上去,然後把樣本拿過來,如果說分錯了,就把直線移動一點,讓他更靠近樣本……最終讓他跑到直線正確的一側。
因此訓練神經元的過程就是不斷的在移動直線,最終到乙個恰當的位置。
但有乙個問題——如果我的範圍是乙個圓怎麼辦?或者說,我需要砍兩刀怎麼辦?
神經元只能切一刀呀。
一刀是非常有侷限性的,所以人們發明了「多層神經網路」,底層神經元的輸出是高層神經元的輸入,這樣我們就可以砍很多很多刀了!
根據極限的思想,只要我們砍的刀數足夠多,那麼什麼樣的邊界神經網路都能砍出來。
神經網路的訓練依靠的是「反向傳播演算法」:
(完)
神經網路 什麼叫神經網路
我們用簡潔易懂的語言了解下什麼叫人工智慧神經網路,假如有如下乙個神經網路。訓練完成後,隨便輸入乙個,這個網路需要識別是貓或狗或同時不是貓和狗。如下面輸入一張沙皮狗的,神經網路識別是一條狗。如果輸入下面輸入一張狗的,神經網路識別也是一條狗。如果輸入下面輸入一張貓的,神經網路識別是乙隻貓。如果輸入下面輸...
面試 前向神經網路
z很大或者很小時,梯度都會趨於0 優點 反向傳播 乙個是回歸,乙個是分類 平方誤差基於梯度的學習速度非常緩慢,交叉熵導數是線性的。不能,因為神經網路同層同構,擁有相同的輸入,如果引數也完全相同則無論前向還是後向結果都是一樣的,學習過程永遠無法打破這種對稱性,最終學習過的引數仍然相同。dropout作...
什麼是神經網路?
神經網路是一種計算機模型或者數學模型,是存在於計算機的神經系統,由大量的神經元相連線並進行計算,在外界資訊的基礎上,改變內部的結構,常用來對輸入和輸出之間複雜的關係進行建模。下面這張圖就是乙個神經網路系統,它由很多層組成。輸入層負責接收資訊,比如乙隻貓的。輸出層是計算機對這個輸入資訊的判斷結果,它是...