클라이언트/ 서버/ 엔지니어 " 게임 개발자"를 향한 매일의 공부일지

머신러닝 8 - 선형 회귀 모델과 선형 분류 모델의 차이점 및 선형 분류 모델에 대한 개념 이해 본문

인공지능/머신러닝

머신러닝 8 - 선형 회귀 모델과 선형 분류 모델의 차이점 및 선형 분류 모델에 대한 개념 이해

huenuri 2024. 9. 17. 16:02

어제에 이어 오늘도 엄마와 함께 황토길 걷기를 갔다와서 맛있는 점심도 먹고 이제 오후 공부를 시작해보려고 한다. 공부하는 시간이 정말 기대가 된다. 오늘은 또 무엇을 배울 수 있을지 생각하며.. 오후에도 아침에 하다만 수업을 듣고 마무리를 해볼 것이다. 3시간 정도의 분량이 남아있는데 오늘은 집에 가는 날이라 많이는 공부를 하지 못할 것 같다.

그래도 할 수 있는데까지 해보고 저녁에 또 이어서 진행해볼 것이다.


 

 

집값 예측 선형회귀 실습 마지막

 

이 코드가 실행되지 않고 계속 오류가 떠서 거의 1시간 가까이 코드를 분석하며 오류를 찾는 작업을 진행했다. 그리고 드디어 찾았다. 입력 특성에서 인코딩한 값을 쓰지 않고 이전의 값을 사용했기 때문이었다. 여기서는 문자열을 받지 못한다고 한다.

어쨌든 해결이 되어 정말 다행이다. 이제 다시 학습을 진행해보자. 훈련을 시켰으면 가중치와 절편값을 확인해본다.

 

 

 

 

 

 

회귀는 값 자체를 예측하는 것이고, 분류는 각각의 범주에 들어가는 내용을 예측하는 것이다. 여기까지 해서 집값 예측 실습은 끝이 났다. 이 내용은 선형 회귀 모델이었고 앞으로 배우게 될 것은 선형 분류 모델이다. 둘 사이의 차이점은 무엇일까?


 

 

 

 

선형 분류 모델 개념 학습

 

선형 회귀는 평균값으로 가려고 하는 선을 찾는 과정이다. 선형 분류는 이 회귀를 이용해서 분류를 하는 작업으로 모델의 이름에 핵심 알고리즘이 들어있다. 분류를 배우고 있지만 회귀 단어가 들어가는 이유는 회귀 알고리즘을 이용하기 때문이다.

선형 회귀가 선형 그래프를 보고 값을 예측하는 방식이었다면, 선형 분류는 둘 사의 선 즉 결정 경계를 나누는 선을 찾는다. 회귀를 이용하지만 실제로는 회귀가 아니다. 위에 있는지 아래에 있는지 나누는 과정이라고 말할 수 있다. 보통은 경계를 넘어가기 때문에 결정 경계를 찾는 일이 어렵다.


 

 

 

 

위쪽은 0보다 크고, 아래쪽은 0보다 작다. 여기서는 예측선은 결정 경계로 이용하는 것이다.

 

 

 

선형 분류 모델의 장단점

 

 

 

 

결과값은 병이 있는지 없는지 둘 중의 하나이다.

 

 

 

 

그동안 선형 회귀에서는 x값이 커지면 y값도 커졌다. 선형 분류는 둘 중에 하나이기에 이러한 선 자체를 긋는 것 자체가 의미가 없다.

 

 

굳이 x축 값이 늘어남에 따라 y축 값이 늘어나지 않도록 그리게 되었다. 이러한 함수가 Sigmoid 함수로  y는 0부터 1까지 값을 가진다.


 

 

선형 분류 모델 공식

x값은 무한대 값을 가지지만 예측값은 무한대의 값이 필요하지 않다. 그렇기 때문에 Sigmoid 함수를 이용한다.

 

 

 

 

규제는 어떤 그래프를 그릴 때 이상치까지 포함하는 선을 그릴 것인지, 적당히 방관할 것인지 결정하는 것이다. 여기서 규제 강도를 결정한다.


 

 

 

선형 분류의 또 다른 방식으로 SVM이 있다. 점들을 분리하는데 어느 곳에도 치우치지 않는 중간에 있는 선을 긋는다. 이 점을 Support Vector라고 한다.

 

 

 

 

여기 동그라미와 세모 그룹이 있는데 이 점을 가르는 선을 긋는다. 이 선에 가장 가까운 두 개의 점을 서포트 벡터라고 한다. 서포트 벡터는 가운데 선에서 최대한 멀리 있어야 한다. 다시 말하면 한쪽에 치우쳐지지 않아야 한다.

 

 

 

 

동그라미와 세모 값을 나눌 수 없으니 선을 휘어버린다. 즉 직선에서 2차원의 평면으로 옮겼다. 이렇게 하고 나니 분류해주는 선을 그울 수 있게 되었다. 차원 수를 늘리고 나서 분리를 시킨다. 그러면 3차원에서의 공간은 어떻게 될까? 3차원에 있는 공간을 구분하기 위해 직선으로는 불가능하지만 평면으로 갈라준다. 

3차원에서는 2차원의 평면으로 구분할 수 있다. 이를 초평면이라고 한다.

 

 

 

 


 

 

학습을 마치고

선형 회귀 모델 실습 마지막 부분과 선형 분류 모델은 다른 선생님이 수업하셨는데 이 분도 무척 잘 가르쳐주셨다. 덕분에 어렵게 생각했던 선형 분류 모델도 어느 정도 이해가 되었다. 머신러닝 책도 있지만 그것까지 공부하기엔 시간이 많이 부족하고 지금은 기초적인 개관 학습에 집중하기로 했다.

나중에 관심이 생기면 그때 책을 더 읽으며 심화학습을 진행해도 될 것 같았다.

 

역시 공부를 하다가 정말 많이 졸려서 낮잠을 10분 정도 자고 나니 다시 맑은 정신으로 공부를 이어갈 수 있었다. 아직 2시간 분량의 수업이 남아있지만 남은 시간도 열심히 해보자!