AI & BigData/모두를 위한 딥러닝(정리)

텐서플로우(Tensor Flow) #4_ multi-variable linear regression 구현하기

Tigercow.Door 2018. 3. 13. 23:56



안녕하세요.

오늘은 TensorFlow에서 multi-variable linear regression을 구현해보도록 하겠습니다.


* 해당 포스트의 모든 내용은 김성훈 교수님의 '모두를 위한 딥러닝'을 바탕으로 제작되었습니다.

관련한 상세 내용은 아래 링크를 참고해주세요.

https://hunkim.github.io/ml/



1. Multi-Variable Linear Regression 구현하기


지난번 실습까지는 단순히 x와 y하나만 있는 간단한 실습이었는데

이제 multi-variable 실습을 통해 실제로 응용해볼 수 있습니다.


먼저 아래와 같은 표를 두고 생각해보겠습니다.






위의 표에서 나타내는 값들을 점수라고 생각합시다.

예를 들어, x1, x2, x3라는 여러번의 중간고사 점수가 있고 이제 Y라는 기말고사 점수를 예측하는 것입니다. 물론 보다 많은 x의 변수들, 출석이나 과제등의 점수가 있다면 보다 정확한 Y값 예측이 가능할 것 입니다.

그럼 먼저 가설식을 세워보도록 하겠습니다.

세개의 x 변수를 이용해서 아래와 같은 Hypothesis 식을 세웁니다.



여기서는 우리가 보다 간단하게 보기 위해서 bias 값은 생략하였습니다.


그리고 이를 위해 아래와 같은 TensorFlow 코드를 작성합니다.



그렇게 되면 아래의 결과가 나오게 됩니다.

결과를 살펴보면 우리가 예상했던 결과 값(y_data의 값)과 크게 다르지 않음을 알 수 있습니다.



하지만, 코드를 작성하면서 느꼈지만, 이는 많이 복잡하고 지저분한(?) 방법일 수 있습니다.

이를 해결하기 위해 우리는 Matrix를 사용합니다.


Matrix를 사용하면 아래와 같은 식을 통해 코드를 작성합니다.



위의 식을 참고하여 코드를 작성하면 아래와 같습니다.



hypothesis 이후의 코드는 구조상 동일하지만, 그 윗부분의 데이터 입력 부분을 확인하시면 이전보다 깔끔하고 간단한 코드 구현이 가능함을 확인할 수 있습니다.


위와 같은 코드를 통해 결과를 확인하여도 같은 결과 값을 가짐을 알 수 있습니다.



다음 포스팅에서는 이러한 multi-variable에서 우리가 일일이 값을 입력하는 것 대신, 실제로 파일 데이터를 불러와 구현해보도록 하겠습니다.







728x90