본문 바로가기
머신러닝/Linear Regression

선형 회귀(Linear Regression) - 회귀

by 미생22 2024. 4. 28.
728x90

일반적인 문제 해결 절차는 다음과 같습니다.

 

1. 문제에 대해 공부합니다.

2. 규칙을 만듭니다.

3. 평가하고 에러를 고치고

4. 다시 새로운 문제에 대해 공부하고

5. 규칙을 만듭니다.

..

 

그러나 만약 데이터를 기반으로 한다면 문제해결 방식은 달라집니다.

 

1. 문제를 분석하고

2. 머신러닝 혹은 딥러닝 알고리즘을 훈련시킵니다.

3. 결과를 얻고 다시 에러를 고치고 반복합니다.

4. 그 후 런칭을 합니다

5. 데이터를 베이스로 하기 때문에 데이터를 이용한 '모델'에 대해서는 코딩을 하지 않는 경우가 많고 알고리즘 구현하고, 서비스로 런칭하는 릴리즈 코딩만 있습니다.

 

 

모델 스스로 데이터를 기반으로 변화에 대응할 수 있습니다.

런칭 후 업데이트 되는 것도 자동화를 할 수 있기 때문입니다. 업데이트한 과정에서 데이터가 더 유입되거나 새로운 데이터가 필요할 수도 있죠.

 

심지어 머신러닝을 통해 우리가 배울 수도 있습니다.

 

내가 문제를 보고, 훈련을 시키고(물론 많은 데이터가 들어갑니다) 솔루션을 제시합니다.

그러다보면 데이터와 문제에 대한 이해도가 더 높아지는 경우도 많이 발생합니다.

 

1. 지도학습 - 분류

우리가 지금까지 했던 지도학습 중 분류 (Classification)의 경우 메일함에서 스팸이냐 스팸이 아니냐 같은 정도의 분류알고리즘을 썼습니다. 이렇게 학습할 때 label을 붙여줬고 label을 붙여주는 걸 지도학습이라고 했습니다. 정답을 알려주고 학습을 하는거였습니다. 이 후 새로운 데이터 (New instance)를 주고 이 데이터가 스팸인지 아닌지 확인하는 겁니다. 

 

2. 지도학습 - 회귀

지도학습에 또하나의 종류가 있습니다. 이번시간에 다룰 '회귀'입니다.

고양이입니까 강아지입니까 같은 categorical하게 나눠지는게 분류였다면, 정답을 알려줄건데 그 출력이 연속된 값인 경우, 즉 value인 경우가 생각보다 많습니다. 이게 회귀입니다.

 

예를 들어, 학습 후 함수를 따라가는 결과가 나왔으면, x값이 몇일때 y값이 몇이다 라는걸 알 수 있습니다.

출력이 continuous 연속된 값일 때 회귀라고 합니다.

 

 

비 지도학습은 레이블(정답)이 없습니다. 즉 데이터만 바라보고 학습을 합니다.

 

3. 비 지도학습 - 군집

예를 들어 비 지도학습에는 군집이 있습니다.

레이블(라벨)은 주지않았지만 이런 특성끼리 모이는 경향이 있군요. 라고 인식하는 알고리즘입니다.

 

4. 비 지도학습 - 차원 축소

많은 라벨을 가지고 있을 때 차원을 축소시켜서 사람이 알아볼 수 있도록 시각화 시키고 계산의 양을 줄요서 효율성을 추구하는 알고리즘입니다.

 

이제 회귀 이야기로 돌아가보겠습니다.

 

5. Regression(회귀)

 

지도학습의 회귀문제입니다.

만약 주택의 넓이와 가격이라는 데이터가 있고, 주택가격을 예측한다면

데이터를 가지고 직선으로 만들겠다고 하면 선형 회귀가 됩니다.

 

 

주택의 새로운 크기를 주면 이 주택 가격은 대략 얼마다 라고 알 수 있습니다.

보통 regression문제에서 모델을 h, hypothesis라고 얘기합니다.

 

직선을 만들고 싶은 경우 

 

이 주택의 가격을 예측하는 h와 직선의 방정식에 들어가는 x가 포함된 방정식이 있습니다.

 

만약 1차 함수라면, 이렇게 기울기와 y절편이 있습니다.

아무튼, 선형 회귀라는 것은 내가 가진 데이터와 가장 잘 맞는 hypothesis 를 찾는 문제입니다.

 

그럼 직선을 찾는 방법엔 어떤 방법들이 있을까요?

 

728x90