clear;
clc;
%載入資料
x = load('ex5linx.dat');
y = load('ex5liny.dat');
%顯示原始資料
plot(x,y,'o','markeredgecolor','b','marke***cecolor','r','markersize',10);
%將特徵值變成訓練樣本矩陣
x = [ones(length(x),1),x,x.^2,x.^3,x.^4,x.^5];
[m,n]=size(x);
n=n-1;
%計算引數sidta,並且繪製出擬合曲線
rm=diag([0;ones(n,1)]);%lamda後面的矩陣
lamda=[0 1 10]';
colortype=;
theta=zeros(n+1,3);
xrange=linspace(min(x(:,2)),max(x(:,2)))';
hold on;
for i = 1:3
theta(:,i)=inv(x'*x+lamda(i).*rm)*x'*y;%計算引數sida
norm_sida=norm(theta)
yrange=[ones(size(xrange)) xrange xrange.^2 xrange.^3,...
xrange.^4 xrange.^5]*theta(:,i);
plot(xrange',yrange,strcat(char(colortype(i)),'--'));
hold on
endxlabel('x變數');
ylabel('y變數');
title('資料在不同\lambda取值下的擬合情況');
%匯入資料
x=load('ex5logx.dat');
y=load('ex5logy.dat');
%畫出資料分布圖
plot(x(find(y==1),1),x(find(y==1),2),'o','marke***cecolor','b');
hold on;
plot(x(find(y==0),1),x(find(y==0),2),'r+');
title('logistic regression classifier');
xlabel('x的第一分量');
ylabel('x的第二分量');
x=map_feature(x(:,1),x(:,2));
%%[m,n]=size(x);
%初始化引數
theta=zeros(n,1);
%內聯sigmoid函式
g=inline('1.0 ./ (1.0 + exp(-z))');
%初始化迭代次數
max_iter=10;
j=zeros(max_iter,1);
%初始化正則化引數
lambda=1;
%訓練引數
fori=1:max_iter
%計算損失函式值
z = x * theta;
h = g(z);
j(i)=-1/m*sum(y.*log(h)+(1-y).*log(1-h))...
+lambda/(2*m)*theta'*theta;
%計算梯度和hessian矩陣
% calculate gradient and hessian.
g = (lambda/m).*theta; g(1) = 0; % extra term for gradient
l = (lambda/m).*eye(n); l(1) = 0;% extra term for hessian
grad = ((1/m).*x' * (h-y)) + g;
h = ((1/m).*x' * diag(h) * diag(1-h) * x) + l;
% 牛頓法迭代
theta = theta - h\grad;
end%畫出結果
% here is the grid range
u = linspace(-1, 1.5, 200);
v = linspace(-1, 1.5, 200);
z = zeros(length(u), length(v));
% evaluate z = theta*x over the grid
fori = 1:length(u)
forj = 1:length(v)
z(i,j) = map_feature(u(i),v(j))*theta;
endendz = z';
% plot z = 0
% notice you need to specify the range [0, 0]
contour(u, v, z, [0, 0], 'linewidth', 4)%在z上畫出為0值時的介面,因為為0時剛好概率為0.5,符合要求
機器學習 線性回歸和邏輯回歸
1 線性回歸要求變數服從正態分佈,logistic回歸對變數分布沒有要求。2 線性回歸要求因變數是連續性數值變數,而logistic回歸要求因變數是分型別變數。3 線性回歸要求自變數和因變數呈線性關係,而logistic回歸不要求自變數和因變數呈線性關係 4 logistic回歸是分析因變數取某個值...
線性回歸和邏輯回歸
最近開始學習機器學習,有點心得體會,記錄一下,希望大家批評指正 監督學習 supervised learning 根據已有的資料集,知道輸入和輸出結果之間的關係。根據這種已知的關係,訓練得到乙個最優的模型。也就是說,在監督學習中訓練資料既有特徵 feature 又有標籤 label 通過訓練,讓機器...
線性回歸 和 邏輯回歸
跟著b站乙個小姐姐學的 很不錯 1 什麼是回歸 什麼是分類?簡單來說一般回歸問題在數值上是乙個連續的 而分類問題在數值上一般是離散型的 回歸 回歸模型的更傾向於很小的區域 或者是乙個x對應乙個y 線性回歸就不在討論了 這裡學習一下 邏輯回歸 邏輯回歸 聽起來是回歸 但實際上他是解決分類問題的 是乙個...