似然函數
似然函數與概率非常類似但又有根本的區別,概率為在某種條件(參數)下預測某事件發生的可能性;而似然函數與之相反為已知該事件的情況下推測出該事件發生時的條件(參數);所以似然估計也稱為參數估計,為參數估計中的一種算法; 下面先求拋硬幣的似然函數,然后再使用似然函數算出線性回歸的參數;
假如有一枚硬幣我們現在不知道它是否為正常硬幣(正反面出現概率各位50%),所以想通過拋10次然后通過硬幣正反面出現的概率分布判斷該硬幣是否正常;當拋完10次時出現5次正面向上、5次反面向上,正反面出現的概率符合正常硬幣的預期,這時我們可以判斷該硬幣是正常的;
拋硬幣符合二項分布所以下面計算出概率分布情況:
如圖:
上圖中x軸為正面出現的次數,y軸為上述函數的結果
上面式子中w為正反面出現的比例,y為正面出現的次數;
使用最大似然法求硬幣問題
似然函數為知道了結果求條件,概率問題為知道了條件求概率,在這個問題中就是知道了硬幣是正常的,求正反面出現的比例w為何值時該結果最靠譜;所以似然函數等於:
函數左邊的值並非條件概率中的條件而是該函數的依賴值,似然函數L為在給定結果y的情況下參數w的取值情況,概率函數L為知道了參數w求得y的取值;有了拋硬幣情況的概率分布這里就可以給出似然函數:
似然函數求的是在給定樣本向量y的情況下,符合該概率分布的參數向量w取值可能性;該似然函數求的是在w取何值時y=5的可能性更高;就問題而言就是求w取何值時的最大值,就如之前梯度下降法一樣,求該函數的偏導數就可以求得極大值; 由於直接求偏導數比較復雜,通常情況下都會求對數似然函數,對數函數為單調遞增的所以與似然函數具有同樣的最大值,該對數似然函數為:
下面對該似然對數進行求關於w的偏導數:
要求其最大值就是求該導數的拐點,也就是令函數等於0;
通過求L關於w的偏導數求得w=0.5,於我們上面概率中的w時一致的,也就是說當w=0.5時y正面出現的次數等於5的可能性是最高的;
線性回歸
通過前面幾篇文章我們知道了線性回歸的模型為:
為誤差值,所以我們也可以變為:
代表的是誤差,我們知道模型與實際的結果值時一個連續隨機變量,也就是說損失函數(loss function)的值時連續隨機變量,也就是,模型不可能考慮到所有的特征那也可能就過擬合了所以就會存在噪音,一般來說多種噪音疊加會呈現出正態分布的所以這里假設是正態分布的,訓練模型的數據集中肯定不止一條記錄,但結果只有一個,所以可以假設每條記錄誤差都是獨立同分布的;
所以線性回歸的概率密度函數為:
則似然函數為:
上面假設過每條記錄誤差都是獨立同分布的,所以數據集的聯合密度為:
按照慣例直接求解似然函數比較麻煩所以求解對數似然函數:
然后求L關於w的偏導數,令其等於0求拐點:
把式子轉為向量形式:
所以
到這一步我們已經求得到了,這與前面我們通過最小二乘法求得的矩陣方程一樣,所以w也一定是我們這里求得的w正確解;
使用最大似然法求解問題的步驟為:
一、確定問題的隨機變量類型是離散隨機變量還是連續隨機變量
二、得出問題的概率分布
三、概率函數轉為似然函數
四、似然函數取對數
五、求關於某變量的偏導數
六、解似然方程
參考資料:
http://zh.wikipedia.org/zh-hans/似然函數
a first course in machine learning