본문 바로가기

과학/딥러닝22

Tensorflow로 선형회귀를 구현해보자 안녕하세요 저번 포스팅에서 단순선형회귀 그리고 다중선형회귀에 대해 다루었습니다. https://ruminz.tistory.com/276 (다중선형회귀란 무엇인가) https://ruminz.tistory.com/271(선형회귀란 무엇인가) 최소제곱법, 평균제곱오차 그리고 경사하강법 등등직접 구현해 보았습니다. 하지만 실제로는 직접구현하지않죠 코딩에는 라이브러리가 있습니다. 딥러닝도 마찬가지로 라이브러리가 있는데 그중 많이 쓰이는 텐서플로우(tensorflow)가 있습니다. 텐서플로우(Tensorflow) 텐서플로우(tensorflow)란 구글에서 만든 오픈소스 딥러닝 전용 라이브러리 입니다. 프로그래밍 언어로는 Python과 C++을 쓰지만 아마 99%이상 대부분이 Python을 쓰지않을까 싶네요 텐서플.. 2023. 10. 8.
다중선형회귀란 무엇인가 안녕하세요 전에 선형회귀에 대해 포스팅을 했습니다. https://ruminz.tistory.com/271 (선형회귀란 무엇인가) 이때 공부를 한 시간에 대해 성적이 변화하여 이에 맞는 최적의 선을 구하는 딥러닝을 구현하였습니다. 하지만 세상에 거의 모든일이 하나의 독립변수로 인해 종속변수가 변하진 않습니다. 성적을 예로 들자면 무조건 시간에 비례하는건 아니죠 과외를 받았다던지 인강을 들었다던지 여러요인이 있습니다. 이러한 요인이 2개 이상이라면 이건 단순선형회귀가 아니라 다중선형회귀라고 합니다. 이번엔 과외 받은 횟수를 추가해봅시다. 공부한 시간만 있다면 그건 단순선형회귀에 불과합니다. 하지만 과외 수업횟수를 추가해서 다중선형회귀가 되었습니다. 여기서 독립변수 2개가 생깁니다. 식은 다음과 같습니다. .. 2023. 10. 7.
경사하강법이란 무엇인가 안녕하세요 평균제곱오차를 보면 임의의 선을 하나 긋습니다. 여기서 주어진 데이터에 비해 경사가 높은 선을 그으면 오차가 커집니다. 반대로 경사가 너무 낮은 선을 그어도 오차가 커집니다. 평균제곱오차 공식을 다시 살펴보죠 $$ 평균제곱오차 = \frac{1}{n}\sum{(y-y')^2} $$ 여기서 y는 실제값 y'은 예측값 이었습니다. 식을 보면 제곱이 나오는걸 확인할수있습니다. 즉 오차와 기울기에 관계는 이차함수라는걸 알수있습니다. 그래프로 나타내면 다음과 같습니다. 여기서 오차가 제일 작은 부분은 점으로 찍힌 제일 밑으로 볼록한 부분이죠 이부분이 바로 "미분 값이 0인 지점" 입니다. 즉 순간변화율이 0인부분인거죠 이부분을 "하강"하면서 미분을 해줍니다. 그러면서 미분이 0인 부분을 찾으면 됩니다... 2023. 10. 4.
파이썬으로 구현하는 평균 제곱 오차 안녕하세요 코랩 파이썬으로 평균제곱오차를 구현해 봅시다. https://ruminz.tistory.com/273 평균제곱오차란 무엇인가 안녕하세요 선형회귀란 각 데이터의 최적의 선을 구하는 작업을 의미했습니다. 그중 사용한 방법 중 하나가 최소제곱법이 있죠 최소제곱법에 대한 포스팅은 다음을 참고해 주세요 https://ruminz.ti ruminz.tistory.com 위 포스팅을 기반으로 작성할것입니다. 먼저 코랩을 실행시켜주세요 여기서 임의로 정한 기울기 a값은 3y절편 b는 76입니다. 먼저 넘파이 라이브러리를 임포트 해줍니다. 그다음 임의로 정한 기울기와 y절편 b를 설정해줍니다. 그다음 시간 x와 성적 y를 넘파이 배열에 넣어줍니다. 그다음 임의로 설정한 기울기 a값과 y절편b의 값을 가진 일차.. 2023. 9. 27.