牟安,胡艷茹,張慶
寧夏師范學院,寧夏固原,756000
在現(xiàn)代科技的背景下,機器學習已經(jīng)成為重要的研究領(lǐng)域,并且在諸多實踐中展現(xiàn)出了巨大的價值和潛力。機器學習是一種數(shù)據(jù)分析的方法,它自動構(gòu)造分析模型,以理解數(shù)據(jù)模式并提供數(shù)據(jù)驅(qū)動的預測?;貧w問題作為機器學習中的基礎(chǔ)問題之一,對于預測連續(xù)值或離散值具有重要的作用。本文將深入討論機器學習中的回歸問題,包括線性回歸、多項式回歸以及邏輯回歸。
線性回歸是一種用于預測連續(xù)值的強大工具,它在機器學習和統(tǒng)計學中有著廣泛的應用。其核心思想是基于輸入變量與輸出變量間的線性關(guān)系進行預測。例如,根據(jù)房屋面積預測房價、根據(jù)廣告投入預測銷售收入等。線性回歸的優(yōu)點在于其模型簡單、易于理解、計算效率高。
線性回歸的核心組成部分包括問題的抽象與方向、假設函數(shù)、代價函數(shù)以及梯度下降等。首先,線性回歸問題的抽象與方向一般為找出輸入變量和輸出變量之間的線性關(guān)系。這種線性關(guān)系可以通過線性方程來表示,這就是所謂的假設函數(shù)。例如,在單變量線性回歸中,假設函數(shù)可以表示為,其中,和是待求解的參數(shù)。然而,僅有假設函數(shù)并不能解決問題,還需要衡量假設函數(shù)的好壞,這就引入了代價函數(shù)的概念。代價函數(shù)也被稱為損失函數(shù)或成本函數(shù),它用于衡量預測值與真實值之間的誤差。梯度下降法的基本思想是,沿著梯度(即函數(shù)在某一點處的斜率)的反方向,不斷調(diào)整參數(shù)值,使得代價函數(shù)的值逐漸減小,最終達到最小值。這樣就得到了線性回歸問題的解[1]??偨Y(jié)來說,線性回歸問題的特點是簡單、易于理解,并且在許多實際問題中具有良好的預測效果。其解決方法主要是通過梯度下降算法優(yōu)化代價函數(shù),找到最佳的線性關(guān)系。
線性回歸的核心在于通過構(gòu)建數(shù)學模型進行預測。例如,收集房價樣本y與其特征x(如房屋面積)的數(shù)據(jù),并構(gòu)造一個假設函數(shù)h(x)=ax+b,該函數(shù)可以使預測值h(x)與真實房價y非常接近。這種情況下,使用這個模型來預測未知的房價,這就是一元線性回歸。如果房價數(shù)據(jù)涉及更多的特征,如房屋面積和臥室數(shù)量,可以構(gòu)造一個二元線性回歸模型在這里,假設函數(shù)h(x)也可以寫成向量形式,其中=1。
接著,引入代價函數(shù)J(θ),其中θ是假設函數(shù)h(x)中所有參數(shù)的向量,包括θ0、θ1、θ2等。代價函數(shù)J(θ)度量了預測值h(x)與樣本y值之間的差距。為了使預測更準確,目標是最小化J(θ),即最小化預測值與真實值之間的差距。線性回歸的代價函數(shù)通常定義為預測值和實際值之間的均方誤差:。
由于J(θ)是一個凸函數(shù),它的局部最小值就是全局最小值[2]。這一特性可以通過梯度下降算法找到最優(yōu)解。此外,方向在函數(shù)中也有其重要的含義,方向需要包含定義域的所有維度。例如,對于二元函數(shù)來說,其圖像是三維空間,而定義域是二維的,所以函數(shù)上某點處在定義域上可能的運動方向是二維的向量,此時,方向的數(shù)量應該是無窮多個。由這種觀點來看,一元線性回歸樣本x的一維空間上,運動方向只有兩個,即正向和負向。在梯度下降算法中,需要明確理解方向的概念。
梯度是由函數(shù)對定義域內(nèi)各個維度求偏導數(shù)得到的向量。在函數(shù)的某一點,沿著該點的梯度方向,函數(shù)值下降的速度最快。對于求解線性回歸中的代價函數(shù)J(θ),可以應用梯度下降法尋找其全局最小值。具體來說,通過迭代更新參數(shù)向量θ,直到其變化非常小,即達到預設的停止條件。
在多項式回歸問題中,特征x可能具有高次方,相較于線性回歸中的一次方特征,多項式回歸能更好地擬合復雜的數(shù)據(jù)模式。然而,過度復雜的模型可能會導致過擬合,即模型過度適應訓練數(shù)據(jù),卻在新的未知數(shù)據(jù)上表現(xiàn)不佳。為解決這個問題,引入了正則化的概念。
正則化是一種用于防止模型過擬合的技術(shù),它通過在代價函數(shù)中添加一個懲罰項來抑制模型復雜度。在多項式回歸中,通常會使用L2正則化,即在代價函數(shù)中添加參數(shù)的平方項。這樣做的目的是鼓勵模型生成更小、更穩(wěn)定的參數(shù),從而使得模型更接近線性,提升其泛化性能。具體地,L2正則化的代價函數(shù)如下所示:。其中,i從0到m,表示樣本數(shù)量;j從1到n,表示特征維度的數(shù)量;λ是正則化參數(shù),控制正則化的程度,即懲罰項的權(quán)重。注意,在這個公式中,通常不對進行正則化,因此求和項從j=1開始。正則化提供了一種權(quán)衡模型復雜度和泛化能力的方法,更好地解決過擬合問題,提升模型的預測性能[3]。
線性回歸和多項式回歸通常用來做連續(xù)值域上的預測,而對于有些離散值域上的預測,會使用一些特別的假設函數(shù)g(z)。比如對于值域只有0和1的預測問題,會使用sigmoid函數(shù)作為假設函數(shù)。sigmoid函數(shù)如圖1所示。
圖1 sigmoid 函數(shù)
sigmoid函數(shù)為增函數(shù),定義域為(-∞,+∞),值域為(0,1),且有g(shù)(0)=1/2,當時,;當時,,g(z)的特點可用來映射為一個按概率分類的二類分類問題,即有兩類結(jié)果A和B分別對應于離散值0和1,當樣本特征z>0時,就認為該樣本有g(shù)(z)的概率分類為B類,有1-g(z)的概率分類為A類。同樣的,對于多分類問題也可以在同一個空間內(nèi)構(gòu)建多個二類分類的sigmoid函數(shù),把樣本帶入不同的sigmoid函數(shù)中得到不同的概率值,將其分類為概率值最大的sigmoid函數(shù)對應的分類中,這種解決分類問題的方法被稱為邏輯回歸[4]。通常使用線性回歸和多項式回歸的假設函數(shù)h(x)來定義z,即令z=h(x)。
對于邏輯回歸的代價函數(shù),一般不再使用線性回歸和多項式回歸的差的平方的定義方式,因為邏輯回歸的樣本特征y值是離散的0或1,按照差的平方算法得到的代價函數(shù)可能不是凸函數(shù),那么對其應用梯度下降算法不容易得到全局最小值。一般的做法是采用y=0和y=1時以log函數(shù)為基礎(chǔ)分別定義代價函數(shù),設計思路是:對于正樣本y=1,如果預測值h(x)越接近負樣本,即x軸越接近0時,就認為代價值很大;對于負樣本y=0,如果預測值h(x)越接近正樣本,即x軸越接近1時,就認為代價值很大。進行y=0和1的匯總之后得到:
其中的h(x)是多項式回歸的假設函數(shù),所以對于邏輯回歸來說,也需要進行正則化,大多數(shù)資料上,都是直接采用了線性回歸和多項式回歸的正則項,即直接在代價函數(shù)中增加θ2項所占的權(quán)重,得到下面經(jīng)過正則化的邏輯回歸的代價函數(shù):
邏輯回歸是一種廣泛使用的分類算法,其代價函數(shù)通常采用L2正則化項,與線性回歸和多項式回歸的處理方式相同。這樣做的優(yōu)點在于,求偏導數(shù)的計算和代碼實現(xiàn)相對簡單[5]。然而,通過對多項式回歸正則化項的分析,可以發(fā)現(xiàn),引入正則化項的目的是增加一次方項的權(quán)重,但在邏輯回歸的代價函數(shù)中,如果仍然使用項,由于邏輯回歸的代價函數(shù)并非基于線性回歸的均方誤差,而是基于對數(shù)損失函數(shù),無法通過倒推的方式得到假設函數(shù)的一次方項。因此,提出對邏輯回歸的代價函數(shù)正則化項進行改進,從項改為項。雖然這樣的修改會增大計算代價函數(shù)偏導數(shù)的復雜度,但它可能會更準確地滿足正則化項的本意,即增加假設函數(shù)中一次方項的權(quán)重。改進后的邏輯回歸代價函數(shù)為:
然而,這個改進可能并不總是適用。因為log函數(shù)的特性,當時,是負的,這將導致整體的代價函數(shù)可能變?yōu)樨摂?shù),需要調(diào)整為,因此,在實踐中,需要根據(jù)具體情況和需求來選擇合適的正則化方法。
對于邏輯回歸來說,z=h(x)是線性、非線性對于求解過程來說并不重要,z按sigmoid函數(shù)的定義域來看,都是正負無窮區(qū)間。z的線性和非線性,區(qū)別只是表現(xiàn)在邏輯回歸的二類分類時,展示分類效果圖上分類的邊界線是直線還是曲線,對于求解過程來說差別不大。邏輯回歸的sigmoid函數(shù),只是把定義域和值域做了簡單的映射。sigmoid的定義域與值域之間的映射關(guān)系如表1所示。
表1 sigmoid 的定義域與值域之間的映射關(guān)系
sigmoid函數(shù)作為假設函數(shù),只是讓線性回歸的假設函數(shù)z=h(x)相比較線性回歸和多項式回歸的假設函數(shù)h(x)換了一種看法,樣本之間的相對大小并沒有改變,因為sigmoid是遞增的,只是讓線性回歸和多項式回歸的假設函數(shù)的函數(shù)值,平移到了值域空間[0,1]上,使得值域成了概率值的空間。至于在做假設函數(shù)時,如果z=h(x)是基于多項式做的假設函數(shù),同樣會比較容易產(chǎn)生過擬合的問題,所以需要加入上文中提到的正則項。那么使用sigmoid的條件,就是其定義域z=h(x)的范圍為(-∞,+∞)。對線性回歸、多項式回歸、邏輯回歸的區(qū)別與聯(lián)系歸納如表2所示。
表2 線性回歸、多項式回歸、邏輯回歸的區(qū)別與聯(lián)系表
由表2可見,線性回歸、多項式回歸和邏輯回歸都是預測模型,各自適用于連續(xù)值預測和二分類問題。線性回歸和多項式回歸預測連續(xù)值,邏輯回歸則處理二分類問題[6]。線性回歸假設線性關(guān)系,多項式回歸處理非線性關(guān)系,而邏輯回歸通過sigmoid函數(shù)將結(jié)果映射到[0,1],作為概率解釋。正則化技術(shù)用于防止過擬合,常在高階項存在時使用。
本文敘述了線性回歸、多項式回歸、邏輯回歸的產(chǎn)生背景及適用場景,對求解代價函數(shù)所用到的梯度下降中的方向的概念做了著重強調(diào)和解釋說明,它是理解梯度下降算法的關(guān)鍵所在,并對多項式回歸中正則化項的由來以及倒推演算的觀點做了解釋說明,并由此種觀點來改進邏輯回歸中的正則化項,從而提高了邏輯回歸中代價函數(shù)的精確性,并使其更符合正則化項的本意。