資源簡介
局部加權的線性回歸,使用matlab編寫,有結果圖
程序流程為
標準化 樣本矩陣與輸出向量
計算權重對角矩陣
梯度下降
反標準化
顯示
代碼片段和文件信息
%局部加權線性回歸,如果特征數大于一,可以計算參數seta,但不能畫成圖表
clc;
clear;
X?=?[0;1;2;3;4;5;6;7;8;9;10];%訓練樣本矩陣,行數代表樣本數,列數代表特征數
Y?=?[19;12;3.5;0.5;-4.6;-5;-3.9;0;3;10.5;19.5];%結果矩陣,為列向量,維度為樣本數
xtest?=?[8];
minimum?=?min(min(X));
maximum?=?max(max(X));
average_X??=?mean(X);
standard_X?=?std(X);
X_normal?=?(X-average_X)/standard_X;
average_Y??=?mean(Y);
standard_Y?=?std(Y);
Y_normal?=?(Y-average_Y)/standard_Y;
[mn]?=?size(X_normal);
if?n==1
figure(1);scatter(XY);
end;
x?=?[ones(m1)X_normal];
a?=?0.01;
L?=?0.01;
Wei?=?zeros(mm);
k=1;
for?i=1:m????
????Wei(ii)?=?exp(-(sum(abs(X(i:)-xtest)2)^2)/k);
評論
共有 條評論