Coding Diary.

(Machine Learning) 분류 본문

Coding/Machine Learning

(Machine Learning) 분류

life-of-nomad 2023. 9. 12. 11:19
728x90
반응형

 

머신 러닝은 지도 학습과 비지도 학습으로 나뉩니다. 그리고 지도 학습은 회귀와 분류로 나뉩니다. 회귀는 연속적인 값을 예측하는 것이고, 분류는 정해진 몇 개의 값 중에 예측하는 것입니다.

 

앞서 회귀에 대한 글을 올렸습니다. 이제 분류 문제를 봅시다. 예를 들어 어떤 이메일이 스팸인지 아닌지, 아니면 어떤 기사가 스포츠 기사인지 정치 기사인지 연예 기사인지 분류해 볼 것입니다.

 

보통 분류 문제를 풀 때는 각 결괏값에 어떤 숫자 값을 지정해 줍니다. 예를 들어 이메일이 스팸인지 아닌지 분류 한다면, 보통 이메일에는 0이라는 값을 주고 스팸 이메일에는 1이라는 값을 주는 것입니다. 이메일의 속성들을 가설 함수에 넣어서 0이 나오면 보통 이베일이고 1이 나오면 스팸 이메일이라고 할 수 있습니다.

 

만약 어떤 기사가 스포츠 기사인지 정치 기사인지 연예 기사인지 분류하고 싶다면, 0, 1, 2 라는 값을 주면 됩니다.

 

1) 선형 회귀를 이용한 분류

선형 회귀로도 분류를 할 수 있긴 합니다.

예를 들어 공부한 시간을 가지고 시험을 통과할지 예측한다고 합시다. 통과를 못한다는 걸 0이라고 표시하고, 통과한다는 것을 1이라고 표시하겠습니다. 그러면 데이터를 이런 식으로 나타낼 수 있습니다. 선형 회귀를 하면 이 데이터를 가장 잘 나타내는 최적선을 구할 수 있습니다.이걸 이용해서 분류를 하는 건 쉽습니다.

0.5를 넘는 건 통과로 분류하고 0.5가 안 되는건 통과 못한 것으로 분류하면 됩니다. 위의 경우 100시간이 딱 0.5가 되는 지점이니까 100시간 넘게 공부한 사람은 통과로 분류하고, 100시간 밑으로 공부한 사람은 통과 못한 걸로 분류하면 됩니다.

 

하지만 우리는 분류 문제를 풀 때 선형 회귀를 잘 사용하지 않습니다. 그 이유를 알아봅시다.

 

위에다가 데이터를 하나 추가해 보겠습니다. 이 새로운 데이터는 1000시간을 공부한 친구이빈다. 1000시간을 공부한 친구는 혼자 저 멀리 떨어져 있습니다. 이 데이터 하나로 인해서 최적선이 좀 눕혀지게 됩니다.

그러면 이제는 200시간이 아웃풋 0.5가 되는 지점입니다. 갑자기 200시간을 넘게 공부한 사람들만 통과로 분류하게 되는 것입니다. 데이ㅓ 하나 추가됐다고 100시간에서 200시간으로 통과 기준이 확 바뀌게 됩니다.

 

선형 회귀는 이러한 예외적인 데이터에 너무 민감하게 반응하기 때문에 보통 데이터를 분류하고 싶을 때는 잘 사용하지 않습니다. 이 때 사용하는 방법이 로지스틱 회귀인데 다음 글에서 알아보겠습니다.

728x90
반응형