機器學習向量化運算與回歸算法的評價指標(簡單線性回歸問題)


//2019.08.04
#線性回歸算法基礎入門(Linear Regression)
1、線性回歸算法是一種非常典型的解決回歸問題的監督學習算法,它具有以下幾個特點:
(1)典型的回歸算法,可以解決實際中的回歸問題;
(2)思想簡單,容易實現;
(3)是許多強大的非線性算法模型的基礎;
(4)結果具有很好的可解釋性;
(5)蘊含機器學習中的很多重要思想。
2、線性回歸問題與分類問題的區別在於其標記結果的連續性和離散性,另外在數據點的圖像分布上,分類問題的坐標軸都是樣本數據的特征,而線性回歸問題一定存在一個坐標軸是數據的標記(即結果值)

圖1
3、簡單線性回歸問題:是指樣本數據的特征只有一個時,其線性回歸問題就成為簡單線性回歸問題。

圖2
4、對於近乎所有的含參數的機器學習回歸算法,其具體的數學解決思路就是:通過分析具體的問題,確定問題中的損失函數或者效用函數;然后通過數學的解決思路,最優化損失函數或者效用函數,從而確定模型中所需要的各個參數大小,最終獲得機器學習的模型。而在整體的這個問題解決中,最優化與凸優化原理均起着非常關鍵的作用。

圖3
5、對於簡單線性回歸問題,即數據特征只有一個的基礎數據集,要使得損失函數(這里是指真值與預測值之間誤差的平方)最小,從而求得最優化的參數a和b,這個具體方法稱為最小二乘法,利用最小二乘法,可以得到最佳的參數a和b的計算式,如下所示:

 

圖4
6、在簡單線性回歸中,對於模型參數a和b的求取最后需要盡可能地化簡為向量化之間的運算,向量化運算可以大幅度地降低整體運算的計算量,提高整體的運算效率。
向量化運算是機器學習算法中非常重要的思想,它是提高機器學習算法計算效率的非常有效的方法。

 

圖5
7、對於線性回歸算法的評判標准主要有以下指標:
(1)MSE:均方誤差

(2)RMSE:均方根誤差

(3)MAE:平均絕對誤差

圖6
8、在scikitlearn中調用回歸問題的三大指標的方法:
#利用sklearn里面的merics模塊導出三大函數,直接進行調用計算
from sklearn.metrics import mean_absolute_error
from sklearn.metrics import mean_squared_error
print(mean_squared_error(y_test,y_predict))
print(mean_absolute_error(y_test,y_predict))
9、對於不同的評價指標RMSE和MAE兩者,它們都與原始數據的y的量綱是相同的,所以也常用來作為不同訓練模型的評價指標。
對於這兩個指標,由它們的表達式可知,RMSE中存在平方操作,將平方累加后再開方,這樣的操作具有放大樣本中較大誤差的趨勢,因此使得RMSE最小更加有意義,因為這樣意味着樣本中所存在的最大的誤差值最小,而MAE主要是所有誤差的平均值。
另外,對於我們訓練優化的目標函數與RMSE中的函數組成一致,這樣有利於使得測試數據中的目標函數值具有變小的趨勢。綜上所述,我們對於不同的訓練模型應該盡可能使會更有意義。

圖7
10、對於線性回歸,其最好的評價指標是R2,並且sklearn中最終輸出的准確度score(),其實際輸出也就是所謂的R2,其計算方式如下:

圖8
根據R2的計算方式,可以知道不同的線性回歸模型的准確度也可以將R2歸類到0-1之間,並且隨着R2增大,其訓練模型的准確度也越來越高。

在sklearn中也可以直接進行調用輸出上面的四個回歸問題的評價指標MSE,RMSE,MAE以及R2,其實現代碼如下:

#利用sklearn里面的merics模塊導出三大函數,直接進行調用計算
from sklearn.metrics import mean_absolute_error
from sklearn.metrics import mean_squared_error
from sklearn.metrics import r2_score #直接調用庫函數進行輸出R2
print(mean_squared_error(y_test,y_predict))
print(mean_absolute_error(y_test,y_predict))
print(r2_score(y_test,y_predict))
實現結果如下:



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM