2014-09-30 2 views

ответ

4

В логистической регрессии для бинарной классификации, вероятность нового образца x классифицируется как 0 или 1:

enter image description here

Следовательно, граница решение соответствует линии, где P(y=1|x)=P(y=0|x)=sigmoid(theta'*x)=0.5, что соответствует theta'*x=0 , Сигмоидная функция - sigmoid = @(z) 1.0 ./ (1.0 + exp(-z)).

enter image description here

В нашем случае данные имеют два аспекта плюс смещение, следовательно:

enter image description here

Например, граница решения с x1 в диапазоне [-1 1] может быть представлена ​​в виде:

theta = [-0.34, -4.5, 0.5]; 
sigmoid = @(z) 1.0 ./ (1.0 + exp(-z)); 

% Random points 
N = 100; 
X1 = 2*rand(N,1)-1; 
X2 = 20*rand(N,1)-10; 
x = [ones(N,1), X1(:), X2(:)]; 
y = sigmoid(theta * x.') > 0.5; 

% Boundary line 
plot_x = [-1 1]; 
plot_y = (-1./theta(3)).*(theta(2).*plot_x + theta(1)); 

% Plot 
figure; 
hold on; 
scatter(X1(y==1),X2(y==1),'bo'); 
scatter(X1(y==0),X2(y==0),'rx'); 
plot(plot_x, plot_y, 'k--'); 
hold off 
xlabel('x1'); ylabel('x2'); 
title('x_{2} = 0.68 + 9 x_{1}'); 
axis([-1 1 -10 10]); 

Он генерирует следующий участок:

enter image description here

+1

Тэг OP получен из логистической регрессии. Ваша упомянутая статья посвящена линейной регрессии. Здесь что-то не хватает? – greeness

+0

Вы совершенно правы! Я не осознал свою ошибку. Я исправляю ошибку. – tashuhka

+0

Выглядит хорошо. Так на самом деле на границе: 'slope = theta (2)/(- theta (3)) = 9' и' intercept = theta (1)/(- theta (3)) = 0.68'. Таким образом, граница равна y = 9x + 0.68'. – greeness

Смежные вопросы