1. 程式人生 > >機器學習第四周

機器學習第四周

神經網路

模型表示1

  • 先來看看大腦裡面神經元結構圖,如下圖:
    這裡寫圖片描述
    會發現神經元的中心部分就相當於我們的 h(x),神經元的“樹突”等效於 input 端的輸入特徵 xn,“軸突”等效於 output。

  • 再來看看前面講了兩種模型:線性迴歸模型跟邏輯迴歸模型,其中都繞不開一個 hθ(x) ,這裡的 x 是我們 input 的特徵,hθ(x) 的值是我們模型 output 出來的值。下圖是一個邏輯迴歸模型圖:
    這裡寫圖片描述
    會發現前面所講的模型跟神經元很相似,而我們大腦是很多個這種神經元組合的,基於此有人想到用多個這種基礎模型互相連線組成一個神經網路。對應的每一個神經元其實也是一個學習模型,這些神經元也成為啟用單元,因此 hθ

    (x) 也稱為啟用函式,這裡的 θ 我們經常稱為權重。

  • 偏置項:前面兩週所講的兩個模型中都會有一個 x0,這個是我們的偏置項,其實也可以稱為截距項,因為它其實是函式的截距,與線性方程 y=wx+b 中的 b 的意義是一致的。因此神經網路的引數也可以表示為:(W, b),其中W表示引數矩陣,b表示偏置項或截距項。這裡的 W 就是前面說的 θ,b 就是前面的 x0

常見的神經網路如下圖:
這裡寫圖片描述
上圖中,有三層,其中第一層為輸入層,第三層為輸出層,中間的一層因為結果值對我們是不可見的,故稱為隱藏層
a(j)i:表示啟用單元 i 在layer j 的啟用函式。
θ(j):表示 j 層到 j+1 層的權重。
圖中的每一個啟用函式可以用如下表示:
這裡寫圖片描述


假如 j 層的神經元數 sj, j+1 層的神經元數 sj+1,不難發現第 j 層的權重θ(j)的維度等於 sj+1 × (sj+1),這裡後面 +1 是因為偏置項。見吳恩達的課件,如下圖:
這裡寫圖片描述

模型表示2

上一節通過如下的方式不停的迭代下去去計算最後的輸出hθ(x)
這裡寫圖片描述
本節介紹另外一種使用向量的方法,會使得計算變得簡單。
第二層的隱藏層的計算可以用如下的向量表示來計算:
z(2) = θ1x
a(2) = g(z(2))
第三層的輸出層:
z(3) = θ2a(2)
hθ(x) = a(3) = g(z(3))

不難發現:第 j 層可以用如下向量表達式計算:
z

(j) = θ(j1)a(j1)
a(j) = g(z(j))

神經網路的應用

簡單應用1

用神經元來表示一個 and 操作。我們知道只有 x1x2 都為 1 的時候才能為 1。
可以用如下的神經元表示一個 and 操作。
這裡寫圖片描述
上圖不難理解它的實現,同理 or 等其它邏輯運算都可以通過神經元來實現。

簡單應用2

用幾個神經元來表示一個 xnor[異或非門] 操作。也就是隻有 x1x2 都相同時的時候才能為 1。
可以用如下幾個神經元表示:
這裡寫圖片描述
那麼更復雜的運算也是可以通過很多的神經元組成的神經網路進行計算。

多類分類

神經網路就是由一個個邏輯迴歸模型連線而成的,它們彼此作為輸入和輸出。最終輸出結果可表示為:
這裡寫圖片描述
這與之前邏輯迴歸中的多類分類表示不同,在邏輯迴歸中,輸出y屬於類似於{1, 2, 3, 4}中的某個值,而這裡輸出的是一個向量。因此,神經網路解決多類分類問題的本質是把原分類問題分解為一類對其他類(one-vs-all)的二類分類問題。
神經網路比直接使用Logistic迴歸的優勢在於:如果給定基礎特徵的數量為100,那麼在利用Logistic迴歸解決複雜分類問題時會遇到特徵項爆炸增長,造成過擬合以及運算量過大問題。而對於神經網路,可以通過隱藏層數量和隱藏單元數量來控制假設函式的複雜程度,並且在計算時只計算一次項特徵變數。其實本質上來說,神經網路是通過這樣一個網路結構隱含地找到了所需要的高次特徵項,從而化簡了繁重的計算。

相關推薦

機器學習 | 吳恩達機器學習四周程式設計作業(Python版本)

實驗指導書       下載密碼:u8dl 本篇部落格主要講解,吳恩達機器學習第四周的程式設計作業,作業內容主要是對手寫數字進行識別,是一個十分類問題,要求使用兩種不同的方法實現:一是用之前講過的邏輯迴歸實現手寫數字識別,二是用本週講的神經網路實現手寫數字

機器學習 | 吳恩達機器學習四周學習筆記

課程視訊連結 第四周課件       下載密碼:kx0q 上一篇部落格主要介紹了第三週的課程的內容,主要講解分類問題,引入了邏輯迴歸模型來解決分類問題,並詳細的介紹了邏輯迴歸模型的細節,包括假設函式,代價函式,優化求解方法包括之前學習的梯度下降法和更高

吳恩達 機器學習 四周程式設計作業

lrCostFunction function [J, grad] = lrCostFunction(theta, X, y, lambda) %LRCOSTFUNCTION Compute cost and gradient for logistic regression with %reg

AndrewNg機器學習四周作業:關於使用邏輯迴歸、神經網路訓練資料並應用之的心得

ex3的作業是根據已有的資料集 (20*20畫素的圖片,每個畫素是一個feature,總共400個features,400個features作為輸入X,資料集已經包含輸出的y,代表這是什麼數字) ,去識別手寫數字。 首先是使用邏輯迴歸方法來分類10

機器學習四周

神經網路 模型表示1 先來看看大腦裡面神經元結構圖,如下圖: 會發現神經元的中心部分就相當於我們的 h(x),神經元的“樹突”等效於 input 端的輸入特徵 xn,“軸突”等效於 output。 再來看看前面講了兩種模型:線性迴歸模型跟邏輯迴歸

機器學習三練:為慈善機構尋找捐助者

alt earch .get 變量 照相 標簽 log 比較 random 這個任務同樣是在Jupyter Notebook中完成, 項目目的是通過前面的所有特征列,當然去掉序號列,然後預測最後一列,收入‘income‘,究竟是大於50K,還是小於等於50K. 第一

(筆記)斯坦福機器學習四講--牛頓法

ron 並不會 initial ant 結果 c函數 情況 對數 width 本講內容 1. Newton‘s method(牛頓法) 2. Exponential Family(指數簇) 3. Generalized Linear Models(GLMs)(廣義線性模型)

(筆記)斯坦福機器學習六講--樸素貝葉斯

span || -h 沒有 height 單純 去除 變量 logistic 本講內容 1. Naive Bayes(樸素貝葉斯) 2.Event models(樸素貝葉斯的事件模型) 3.Neural network (神經網絡) 4.Support vector mac

(筆記)斯坦福機器學習七講--最優間隔分類器

滿足 優化 最終 clas 定義 mar 擴展 strong play 本講內容 1.Optional margin classifier(最優間隔分類器) 2.primal/dual optimization(原始優化問題和對偶優化問題)KKT conditions(KK

吳恩達機器學習5周Neural Networks(Cost Function and Backpropagation)

and div bsp 關於 邏輯回歸 info src clas 分享 5.1 Cost Function 假設訓練樣本為:{(x1),y(1)),(x(2),y(2)),...(x(m),y(m))} L = total no.of layers in network

java學習四周

處理 遇到 接下來 內容 接口 學習 直接 java類 輸入輸出流 這是暑假第四周,這周我繼續學習了Java的基礎知識。 了解到Java的類繼承,學習到Java的接口的相關知識Java的每一個類都有且僅有一個直接父類,沒有多重繼承,但是接口可以繼承多個,如果把接口看做特殊

吳恩達 機器學習 三週

轉載https://www.cnblogs.com/LoganGo/p/8562575.html 一.邏輯迴歸問題(分類問題) 生活中存在著許多分類問題,如判斷郵件是否為垃圾郵件;判斷腫瘤是惡性還是良性等。機器學習中邏輯迴歸便是解決分類問題的一種方法。 二分類:通常表示為yϵ{0,1}

Coursera-吳恩達-機器學習-七週-測驗-Support Vector Machines

  忘記截圖了,做了二次的,有點繞這裡,慢點想就好了。 正確選項是,It would be reasonable to try increasing C. It would also be reasonable to try decreasing σ2.  &n

Coursera-吳恩達-機器學習-七週-程式設計作業: Support Vector Machines

本次文章內容: Coursera吳恩達機器學習課程,第七週程式設計作業。程式語言是Matlab。 本文只是從程式碼結構上做的小筆記,更復雜的推導不在這裡。演算法分兩部分進行理解,第一部分是根據code對演算法進行綜述,第二部分是程式碼。 本次作業分兩個part,第一個是using SVM,第

機器學習十一篇——智慧進化

智慧進化(Evolving Intelligence) 構造樹狀程式 from random import random, randint, choice from copy import deepcopy from math import log class fwrapper:

機器學習七篇

決策樹 相比於其他方法,決策樹是一種更為簡單的機器學習方法,它是對被觀測資料進行分類的一種相當直觀的方法,決策樹在經過訓練之後,看起來更像是以樹狀形式排列的一系列if-then語句。只要沿著樹的路徑一直向下,正確回答每一個問題,最終就會得到答案,沿著最終的葉節點向上回溯,就會得到一個有關最終分類

機器學習八篇

構造價格模型 在利用多種不同屬性(比如價格)對數值型資料進行預測時,貝葉斯分類器、決策樹、支援向量機都不是最佳的演算法。 本篇將對一系列演算法進行考查,這些演算法可以接受訓練,根據之前見過的樣本資料作出資料類的預測,而且它們還可以顯示出預測的概率分佈情況,以幫助使用者對預測過程加以解釋。後續

機器學習四篇

全文搜尋引擎允許人們在大量文件中搜索一系列單詞,並根據文件與這些單詞的相關程度對結果進行排序。 PageRank——標準演算法的一個變體 資訊檢索步驟: 1、找到一種蒐集文件的方法 爬蟲:接受一組等待建立索引的網頁,再根據這些網頁內部的連結進而找到其他的網頁,依此類推。程式碼通常會將

機器學習六篇

文件分類 是機器智慧的一個應用,最有價值的包括垃圾資訊過濾。 早期對垃圾資訊進行過濾所用的是基於規則的分類器,使用時事先設計好一組規則,用以指明某條資訊是否屬於垃圾資訊。典型的規則包括英文大寫字母的過度使用、與醫藥相關的單詞,或是過於花哨的HTML用色等 新: 程式在開始階段和逐漸收

Stanford機器學習---七講 機器學習系統設計

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!