代價函數有助于將最可能的線性函數與我們的數據相擬合。在線性回歸中,我們有一個這樣的數據集,m表示訓練集樣本數,而我們的假設函數,也就是我們用來進行預測的函數,是圖中所示的線性函數形式。
接下來,我們引入一些術語,0和1,這些i我們將它稱作為模型參數,我們要做的就是如何去選擇這兩個參數。對于不同的0和1,我們會得到不同的假設函數,如下圖所示。
在線性回歸中,我們有一個訓練集,可能如下圖所示。我們要做的是得出0和1,使我們得到的假設函數表示的直線盡量的與這些數據點相擬合。我們怎么選擇0和1呢?我們的想法是我們要選擇能夠使h(x),也就是輸入x是我們的預測的值,最接近該樣本對應的y值的參數0和1。在房子價格預測的例子中,x表示要買出的房子的尺寸大小,y表示賣出的房子的實際價格,我們要盡量選擇參數,使得在給出的訓練集中,給出的x的值,能夠很好的預測y的值。
讓我們給出更加標準的定義,在線性回歸問題中,我們要解決的是一個最小化的問題,寫出關于0和1的最小化式子,想要h(x)和y之間的差異要小,所要做的事情就是盡量減少預測輸出的價格與房子的實際價格的平方最小。接下來進行更加詳細的闡述。別忘了,我們使用(x(i),y(i))代表第i個樣本,我所要做的就是對所有的樣本,預測輸出的結果與實際價格差的平方進行一個求和,如下圖所示。我們要盡量減小預測值和實際值的這個平方誤差和。1/m表示嘗試是平均誤差最小,1/2m,通常是這個數的一半。
簡單的說,我們將這個問題變為找到能使我的訓練集中的預測值與實際值的差的平方和的1/2m最小的0和1的值。因此,這將是我的線性回歸的整體的目標函數(這就是代價函數),為了使它更加的清楚,我們需要改寫這個函數。按照慣例,我們定義一個代價函數J,如下圖所示,我們要做的是對0和1求J的最小值,J就是代價函數。
代價函數也被稱為平方誤差函數(Squared error function),有時也被稱為平方均方誤差(Mean squared error)。為什么我們要求出誤差的平方和,是因為誤差平方代價函數,對于大多數問題,特別是線性回歸問題都是一個合理的選擇,其他代價函數也能很好的發揮作用,但是平方誤差函數可能是解決線性回歸問題最常用的手段了。在后面將更加詳細的介紹J的工作原理以及嘗試更加直觀的解釋它在計算什么,以及我們使用它的目的。
總結,我們可以使用代價函數來衡量我們得到的假設函數的準確度。
上面我們介紹了代價函數數學上的定義,在這里讓我們通過一些例子來獲取一些直觀的感受,看看代價函數到底是在干什么?
回顧一下,上次我們講到,我們想找到一條直線來擬合我們的數據。我們用 θ0和θ1 等參數得到了這個假設h,而且通過選擇不同的參數,我們會得到不同的直線擬合,然后我們還有一個代價函數(cost function),這就是我們的優化目標(goal)。
為了便于我們理解,我們需要將代價函數簡化,如下圖右邊所示。也就是我們可以將這個函數看成是把 θ0 設為0,假設函數變為θ1*x,所以我只有一個參數,唯一的區別是現在 h(x) 等于θ1*x,只有一個參數 θ1 ,所以我的優化目標是將 J(θ1) 最小化,用圖形來表示就是如果θ0 等于零,也就意味這我們選擇的假設函數會經過原點。如下圖所示。
試著更好的理解代價函數這個概念,我們需要理解這兩個重要的函數,一個是假設函數,一個是代價函數。
假設函數就是一個關于x房子大小的函數,與此不同的數,代價函數是關于θ1的函數,而θ1控制著這條直線的斜率,我們將這些函數畫出來,試著更好的理解它們,如下圖所示。
先從假設函數開始,我們的數據集包含了三個點(1,1)(2,2),(3,3)。選擇θ1=1,我們的假設函數看起來就是下圖所示的一條直線,橫軸表示的是房子的價格x。我們將θ1定為1,我們想要做的是算出在θ1=1的時候J(θ1)是多少。
所以我們按照這個思路來計算代價函數的大小和之前一樣代價函數定義如圖中所示,對這個誤差平方項進行求和,簡化以后就等三個0的平方和,當然還0?,F在在代價函數里,我們發現所有這些值都等于0因為對于我所選定的這三個訓練樣本 ( 1 ,1 ) (2,2) 和 (3,3),如果 θ1 等于 1 那么 h(x(i)) 就會正好等于 y(i),所以 h(x) – y 所有的這些值都會等于零,這也就是為什么 J(1) 等于零。
在下圖的右邊是對應的代價函數,要注意的是我們的代價函數是關于θ1的函數,當我們描述代價函數的時候,橫軸表示的是θ1,J(1)等于0,我們有了一個點,我們來看其他一些樣本,θ1可以被設定為某個范圍內的各種取值,可以使負數等,如果θ1=0.5會發生什么?
如下圖所示,我們發現代價函數后面的求和,就是藍色線段的高度的平方求和,我們可以計算出J(0.5)=0.58,如下圖中所示,將這個點在右邊圖中畫出來,
這樣一步步的得到更多的點,我們就可以一步步的畫出代價函數對應的曲線。如下圖右邊所示。
我們回顧一下,對于不同的θ1的取值,對應著不同的假設函數,或者說對應于左邊一條不同的擬合直線,對于任意的θ1,你可以計算出不同的J(θ1),我們可以利用這些畫出右邊的這條曲線?,F在,你還記得學習算法的優化目標是我們想找一個θ1,使得J(θ1)最小,看圖中J(θ1)的曲線可以知道,使J(θ1)最小的θ1的值是1,從圖中的左邊可以看出,θ1=1確實對應著最佳的數據擬合直線,我們最后能夠完美的擬合,這就是為什么最小化J(θ1),對應著尋找一個最佳擬合直線的目標。
這里我們使用圖形幫助我們理解代價函數,為了便于理解,我們將θ0設定為0,下面我們將回到原來的問題,即不將θ0設定為0,畫出存在θ1和θ0的代價函數的圖形,希望能夠幫助我們更好的理解代價函數。
這一小節,我們將更加深入的學習代價函數的作用,和之前一樣,下圖所示的是幾個重要的公式,包含了假設h、參數θ、代價函數、以及優化目標goal。與上一節不同的是我們將假設函數寫為關于θ0和θ1的函數。
首先我們同樣來理解假設函數和代價函數,存在兩個參數的時候,可能會得到如下所示的一個三維曲面圖,下面的兩個軸分別表示θ0和θ1,縱軸表示J(θ0,θ1),你改變θ0和θ1,會得到不同的代價函數J(θ0,θ1),J(θ0,θ1)對于某個特定的(θ0,θ1),這個曲面的高度,也就是豎直方向的高度,就表示代價函數J(θ0,θ1)的值。
后面不再使用三維曲面圖來解釋代價函數,將使用輪廓圖(contour plot/figure)來進行解釋。如下圖右邊所示就是一個輪廓圖。
橫軸表示的是θ0,縱軸表示的是θ1,而這些一圈一圈的橢圓形,每一個圈表示J(θ0, θ1)相同的所有點的集合。一系列同心橢圓的中心點就是最小值。其實輪廓圖就是等高線圖,相當于三維曲面圖在一個平面上的投影。
接下來讓我們看幾個簡單的例子,在這里有一個點(藍色標記的),θ0是800,θ1是大概是-0.15,這個(θ0,θ1)組,對應于左邊這樣一條假設函數直線,與縱軸相交的地方是800,斜率大概是-0.15,但是這條直線不能很好的擬合所有數據,你也發現了,這個代價值所在的位置離中心點(最小值)也比較遠,也就是說這個代價值是比較遠的。如下圖所示。
后續我們將遇到更高維度、更多參數、更加復雜的情況。我們需要做的是編寫程序自動找出θ0和θ1這樣的值。下一節將介紹一種能夠自動找出θ0和θ1的算法。
本文由 貴州做網站公司 整理發布,部分圖文來源于互聯網,如有侵權,請聯系我們刪除,謝謝!
網絡推廣與網站優化公司(網絡優化與推廣專家)作為數字營銷領域的核心服務提供方,其價值在于通過技術手段與策略規劃幫助企業提升線上曝光度、用戶轉化率及品牌影響力。這...
在當今數字化時代,公司網站已成為企業展示形象、傳遞信息和開展業務的重要平臺。然而,對于許多公司來說,網站建設的價格是一個關鍵考量因素。本文將圍繞“公司網站建設價...
在當今的數字化時代,企業網站已成為企業展示形象、吸引客戶和開展業務的重要平臺。然而,對于許多中小企業來說,高昂的網站建設費用可能會成為其發展的瓶頸。幸運的是,隨...
安家電視劇演員表?羅進,孫立。王自健、田雷、孫嘉麗、楊浩宇、張、克里斯蒂娜、郭濤、席美娟、韓童生、李宗翰、丁嘉麗、白志迪、胡可、郝平、王以哲、梁超、戴樂樂。圖靈、楊坤、丁勇岱、董可飛、王志強、康群志、陳牧陽、遲鵬、王景碩、吳玉芳、閻學晶、劉濤、孫燕、錢杰、孫亮、張雯、劉杰、趙震、魏青、郭家明、馬亮等。安家電視劇演員表?《安家》是一部由安建執導的都市劇,由孫儷、羅晉、孫嘉瑜、張、和王以哲主演。該劇講...
華為matebook14如何取消開機密碼?華為matwin12電腦開機密碼如何取消?就像之前的密碼修改一樣,先點擊左下角的開始——查找設置。首先,打開我的電腦,找到控制面板。單擊用戶帳戶的選項。然后選擇 "在電腦設置中更改我的帳戶信息。然后點擊左邊的登錄選項。單擊密碼中的修改。首先輸入您的原始密碼,然后單擊下一步。當輸入一個新的密碼,你不 不需要輸入,只要點擊下一步,密碼就會被取消。華為手表新款w...
3dsmaxvray白銀材質參數?在材質編輯器中選擇vray金屬材質,然后在“基本參數”卷展欄中漫反射RGB255,反射到最大值并折射到一個點。vray沒有金屬度怎么辦?VRay渲染金屬材質教程:1.打開材質編輯器,選擇其中一個材質球,將漫反射更改為RGB(10,10,10)。2.將反射設置為RGB(50,50,50)。3.將高光設置為0.85,以取消更精細的反射。4.將漫反射值調整為RGB(0,...