본문 바로가기
AI, 빅데이터/AI

[AI] Linear Regression 직접 구현 / 라이브러리 이용하여 구현

by Foxy현 2022. 9. 28.
728x90
반응형

안녕하세요! 

오늘은 머신러닝의 기본이 되는 회귀 분석 중에 선형 회귀에 대해 구현하는 시간을 가져보겠습니다.

먼저, 선형 회귀의 특징으로는 데이터의 분포가 선형적이고, 비선형 회귀의 특징으로는 데이터의 분포를 효울적으로 표현한다입니다.


 

먼저 선형 모델을 살펴보면,

로 나타낼 수 있겠네요. 우리는 선형적인 데이터의 분포를 나타내는 선을 잘 표현하기 위해 theta 값을 잘 정해야합니다.

 

아래 설명에 대한 구현 코드는 이와 같습니다...

 

먼저, x와 y라는 샘플 값들을 만들어줍니다.

 

우리가 구하는 저 theta는 결국 

이러한 수식으로 표현되는데, 우리는 저 파이를 정의해보겠습니다.

x라는 입력 배열에 대해 1이라는 값을 각각 추가해줍니다.

위 a라는 배열에도 파이와 같은 모양으로 구성된 것을 확인할 수 있습니다.

파이를 만들었으니 우리는 전치행렬과 역행렬을 이용하여 theta 배열을 만들어줘야합니다.

theta 값 또한

잘 생성되었네요!

 

이제 이 theta값 들을 수식으로 만들어

 

이런 꼴로 만들었습니다.

 

이렇게 Linear Regression함수를 구현하여 그래프로 확인해보면,

데이터의 분포를 나타내는 Linear Regression 그래프가 완성되었네요!


자, 이걸 매번 할 수는 없죠! 

이래서 연구자들이 바로바로 사용할 수 있도록 라이브러리를 만들어두었습니다.

위에서 나름 수식을 생각하며 구현했던 것이 LinearRegression()이라는 함수 하나로 Linear Regression 을 구현할 수 있네요

위와 비슷한 결과를 확인할 수 있습니다.

직접 구현하여 이해하는 과정을 겪었으니 앞으로는 라이브러리를 사용해야겠습니다!

 


오늘은 이렇게 Linear Regression을 구현해보고 scikit-learn 라이브러리 또한 사용해보았습니다.

감사합니다!!

728x90
반응형