java 多项式拟合最多的项数_机器学习(1)--线性回归和多项式拟合
機器學(xué)習(xí)(1)--線性回歸和多項式擬合
機器學(xué)習(xí)(2)邏輯回歸 (數(shù)學(xué)推導(dǎo)及代碼實現(xiàn))
機器學(xué)習(xí)(3)softmax實現(xiàn)Fashion-MNIST分類
一 線性回歸
線性回歸,顧名思義是利用線性模型對數(shù)據(jù)點進行擬合的,常見的廣義線性模型如下:
將上面的廣義向量模型用向量的形式表示出來如下:
其中
為向量。最簡單也是最常見的線性回歸是最小二乘法
1.最小二乘法[1]
最小二乘法是以均方誤差為回歸任務(wù)的性能度量,衡量預(yù)測值
和真實值 之間的差值。優(yōu)化問題就可以用下式表示出來:從字面上理解最小二乘法就是試圖找到一條直線,使所有樣本到直線上的歐幾里得距離之和最小。
這里有兩個參數(shù)需要我們求解
和 ,其中 為標(biāo)量稱為偏置, 為向量,其維數(shù)對應(yīng)數(shù)據(jù)的維數(shù)(即大數(shù)據(jù)中的特征個數(shù))。求解這兩個參數(shù)的方法是對其求偏導(dǎo)。令上式等于0得到w和b的最優(yōu)解。
代碼實現(xiàn):
(1)matlab代碼
一般的這類問題的求解思路就是找出損失函數(shù),這里我們考慮一般的情況,一般情況下的損失函數(shù)為:
再求出梯度(即一階偏導(dǎo)),對于大多數(shù)問題是不能直接求出最大小值的,所以一般會用梯度下降法來求解,設(shè)置學(xué)習(xí)率
進行更新。權(quán)重
的梯度:偏置
的梯度:得到了權(quán)重w和偏置b的梯度就可以用梯度下降法來求出合適的w和b了。更新公式如下:
一般初始化w和b全為1,
matlab代碼如下:
%隨機生成數(shù)據(jù)(2)python--mxnet庫的常規(guī)實現(xiàn)[2]
from(3)python --mxnet庫的簡單實現(xiàn)
from二 多項式擬合
前面的線性回歸是一種多元回歸問題,每個樣本對應(yīng)于多個特征,在前面的例子中,特征之前的值相差不大,所以沒有做特征縮放,實際上嚴(yán)格的執(zhí)行是需要特征縮放的因為有些特征值之間的量綱不同差距很大,如吳恩達(dá)的機器學(xué)習(xí)系類視頻中[3]的例子,假設(shè)房屋的價格和房屋的面積及房屋的臥室數(shù)量有關(guān),但是這兩個特征之間值相差很大,這個時候直接用上面的線性回歸時,將出現(xiàn)問題,所以必須進行特征縮放,一般特征縮放有兩種計算方式。
(1)Z-score normalization,量化后的特征將服從標(biāo)準(zhǔn)正態(tài)分布:
(2)Min-Max Scaling,特征量化:
在大部分的機器學(xué)習(xí)中用的比較多的時第一種量化方法。
多項式擬合是一種典型的需要特征縮放的例子,一般解決的是一元多項式的數(shù)據(jù)擬合問題,形如:
多項式擬合也可以看成一種多元線性擬合,將其看為有n個特征的多元線性擬合,
為一個特征, -為一個特征……。當(dāng)
時, , 。對其進行縮放后利用線性擬合一樣的方法就能求出擬合曲線,matlab代碼如下:
function結(jié)果如下:
參考
總結(jié)
以上是生活随笔為你收集整理的java 多项式拟合最多的项数_机器学习(1)--线性回归和多项式拟合的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: arduino上传项目出错_Arduin
- 下一篇: 浮点数正则表达式_正则表达式的邮箱,手机