【转】人工智能-1.2.2 神经网络是如何进行预测的
上一篇文章中我們已經知道了如何將數據輸入到神經網絡中。那么神經網絡是如何根據這些數據進行預測的呢?我們將一張圖片輸入到神經網絡中,神經網絡是如何預測這張圖中是否有貓的呢??
這個預測的過程其實只是基于一個簡單的公式:z = dot(w,x) + b。看到這個公式,完全不懂~~不少同學可能被嚇得小雞雞都萎縮了一截。不用怕,看完我下面的解說后,你就會覺得其實它的原理很簡單。就像玻璃棧道一樣,只是看起來可怕而已。
?
上面公式中的x代表著輸入特征向量,假設只有3個特征,那么x就可以用(x1,x2,x3)來表示。如下圖所示。w表示權重,它對應于每個輸入特征,代表了每個特征的重要程度。b表示閾值[yù zhí],用來影響預測結果。z就是預測結果。公式中的dot()函數表示將w和x進行向量相乘。(不用怕,在后面的文章《向量化》中我會用很通俗易懂的語言來給大家介紹向量相乘有關的高等數學知識)。我們現在只需要知道上面的公式展開后就變成了z = (x1 * w1 + x2 * w2 + x3 * w3) + b。
那么神經網絡到底是如何利用這個公式來進行預測的呢?下面我通過一個實例來幫助大家理解。
假設周末即將到來,你聽說在你的城市將會有一個音樂節。我們要預測你是否會決定去參加。音樂節離地鐵挺遠,而且你女朋友想讓你陪她宅在家里搞事情,但是天氣預報說音樂節那天天氣特別好。也就是說有3個因素會影響你的決定,這3個因素就可以看作是3個輸入特征。那你到底會不會去呢?你的個人喜好——你對上面3個因素的重視程度——會影響你的決定。這3個重視程度就是3個權重。
如果你覺得地鐵遠近無所謂,并且已經精力衰竭不太想搞事情了,而且你很喜歡藍天白云,那么我們將預測你會去音樂節。這個預測過程可以用我們的公式來表示。我們假設結果z大于0的話就表示會去,小于0表示不去。又設閾值b是-5。又設3個特征(x1,x2,x3)為(0,0,1),最后一個是1,它代表了好天氣。又設三個權重(w1,w2,w3)是(2,2,7),最后一個是7表示你很喜歡好天氣。那么就有z = (x1 * w1 + x2 * w2 + x3 * w3) + b = (0 * 2 + 0 * 2 + 1 * 7) + (-5) = 2。預測結果z是2,2大于0,所以預測你會去音樂節。
如果你最近欲火焚身,并且對其它兩個因素并不在意,那么我們預測你將不會去音樂節。這同樣可以用我們的公式來表示。設三個權重(w1,w2,w3)是(2,7,2),w2是7表示你有頂穿鋼板的欲火。那么就有z = (x1 * w1 + x2 * w2 + x3 * w3) + b = (0 * 2 + 0 * 7 + 1 * 2) + (-5) = -3。預測結果z是-3,-3小于0,所以預測你不會去,會呆在家里搞事情。
?
預測圖片里有沒有貓也是通過上面的公式。經過訓練的神經網絡會得到一組與貓相關的權重。當我們把一張圖片輸入到神經網絡中,圖片數據會與這組權重以及閾值進行運算,結果大于0就是有貓,小于0就是沒有貓。
你平時上網時有沒有發現網頁上的廣告都與你之前瀏覽過的東西是有關聯的?那是因為很多網站都會記錄下你平時的瀏覽喜好,然后把它們作為權重套入到上面的公式來預測你會購買什么。如果你發現你朋友電腦手機上的網頁里面老是出現一些情趣用品或SM道具的廣告,那你朋友肯定是個性情中人。
上面那個用于預測的公式我們業界稱之為邏輯回歸,這個名字有點奇怪,大家記住就行了,只是個名字而已。
最后再稍微提一下激活函數。在實際的神經網絡中,我們不能直接用邏輯回歸。必須要在邏輯回歸外面再套上一個函數。這個函數我們就稱它為激活函數。激活函數非常非常重要,如果沒有它,那么神經網絡的智商永遠高不起來。而且激活函數又分好多種。后面我會花好幾篇文章來給大家介紹激活函數。在本篇文章的末尾,我只給大家簡單介紹一種叫做sigmoid的激活函數。它的公式和圖像如下。
我們在這里先只介紹它的一個用途——把z映射到[0,1]之間。上圖中的橫坐標是z,縱坐標我們用y’來表示,y’就代表了我們最終的預測結果。從圖像可以看出,z越大那么y’就越靠近1,z越小那么y’就越靠近0。那為什么要把預測結果映射到[0,1]之間呢?因為這樣不僅便于神經網絡進行計算,也便于我們人類進行理解。例如在預測是否有貓的例子中,如果y’是0.8,就說明有80%的概率是有貓的。
激活函數就只介紹這些,后面的文章再詳細介紹它。有些同學可能會不樂意,要求我多說一些,其實我也想口若懸河地扒拉扒拉說一大堆,因為把一件簡單的事給說復雜了是很容易的,而要把一件復雜的事給說簡單了是非常非常難的。每篇文章我都是改了又改,刪了又刪,目的就是讓它盡可能的通俗易懂。說多了反而讓你們變得暈頭轉向。例如其實在邏輯回歸公式中,w其實應該寫成w.T,因為實際運算中我們需要w的轉置矩陣。你是不是有點暈頭轉向了~~我在教程前面的文章里通常會省略掉一些細節,因為那些細節較難,而且他們對于大家理解最重要的理論部分又沒有幫助;在后面的文章,我會慢慢地把他們給介紹出來,讓你們循序漸進,快樂地在不知不覺中學會人工智能這一尖端的高科技。
在本篇文章中,我們知道了神經網絡是如何進行預測的。那么它又是如何判斷自己是否預測正確了的呢?如果發現自己預測錯誤了,他又是如何從錯誤中進行學習,使自己越來越聰明的呢?后面的文章我將給大家揭曉!
最開始我是在CSDN上面進行公開教學的,深受網友喜愛,粉絲增長速度直逼蒼井空老師。
但后來發現很多網友只是玩玩而已,并沒有下決心學好人工智能。為了將我有限的精力花在那些真心想學好的同學身上,我轉到了QQ空間進行教學,只有部分經過篩選的網友才可以進入學習。放棄CSDN后我的精力都集中在努力將QQ空間打造成一個高質量的人工智能忠實愛好者的學習樂園,大家在里面交流學習,我也會帶領大家做項目,表現突出者也可直接加入到百度的研發團隊中,人工智能領域現在真的很缺人~~后來在學習中又有同學反應QQ空間有時候刷不出圖,而且還會屏蔽一些黃色詞匯,雜七雜八的體驗不好。所以我就又花時間給大家建了這個專門的學習網站,想發什么內容都可以了;網站風格也清爽簡練,很適合學習。。。就這樣一步步地,我在不斷優化內容的同時,也在不斷提升同學們的學習環境!讓真正想學的同學能在更好的環境中學到更優秀的技術!
有不少出版社聯系我,我都拒絕了,因為我覺得在線網站的效果要好得多。我可以不停地優化教學內容,使技術與時俱進,對于新的班次我都會根據當前人工智能領域的最新成果來進行調整;同學們學完一個內容后有不懂的地方也可以向我提問,我會為其解答。完全自學是很難的,會走不少彎路,所以提問和討論環節是非常非常重要的,可以為你節約很多時間和精力。另外也有專業的在線教育機構找我合作,可是他們的收費太貴了,極大地增加了同學們的學習成本。所以最終決定創建我們自己的學習網站才是最優方案。
學員越來越多,事也越來越多了。而我精力有限,所以只負責核心教學,其余很多事都是聘請的一些助理負責的,而且網站的運營也不停地需要開支,所以入會的同學需要繳納些會員費。
有了門檻后,學員是少了很多,但學員質量卻提高了,組隊參加競賽的實力也強了。另外令我驚訝的是,學員中甚至有不少AI專業的博碩生以及資深的老程序員。當然有些高中學歷的學員也非常的出類拔萃,學得很認真理解得也很透徹!各類背景的學員之間取長補短,同學之間互幫互助,構建了一個良好的學習社區。
我不需要很多學員,我只需要真正想學好的學生!只要你有決心學,即使是零基礎,我也有信心把你教好教精!期待你加入到我們的人工智能團隊中來!
下面是之前一些同學在QQ空間和網站上提問的截圖,有些學員問的問題很有深度!
??
?
?
決定入會的同學可點擊此處
總結
以上是生活随笔為你收集整理的【转】人工智能-1.2.2 神经网络是如何进行预测的的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 咋回事?一女子给微信号充腾讯视频会员充到
- 下一篇: Sharepoint页面里添加.net托