728x90
안녕하세요 뚜디 입니다:)
Machine Learning에 대해서 간단하게 공부하고 있어
공부한 내용을 간단하게 공유하는 포스팅입니다.
Machine Learning에서의 Linear Regression의 개념
1. 학습 전 요약(Summary)
* 회귀(Regression)란 무엇인지?
* 선형 회귀(Linear Regression)에 대해서
* 가설(Hypothesis) 함수
* 어떤 가설이 더은가?(Which Hypothesis is better ?)
* 비용, 비용함수(Cost, Cost function)
* 머신러닝의 목표: 비용 최소화(Goal: Minimize cost)
2. 회귀(Regression)란 무엇인지?
정확하게 회귀란 Regression toward the mean을 뜻하며, 전체 평균으로 돌아간다.
즉, 어떤 데이터들이 굉장히 크거나 굉장히 작은 데이터들이 나와도
결과적으로, 전체로 봤을때 이 데이터들은 전체 평균으로 되돌아가려는 속성이 있다는 의미의 통계적 원리
3. 선형 회귀(Linear Regression)에 대해서
데이터를 가장 잘 대변하는 직선의 방정식을 찾는 것으로 요약할 수 있다.
그림을 보게되면, 빨간색 점 전체를 가장 잘 대변하는 직선을 긋는다면, 이 직선은 파란색의 모습이 된다.
이것이 바로 선형 회귀의 핵심 -> y = ax + b
요약하면, 직선방정식의 기울기a와 b절편의 값을 구하는것
4. 가설(Hypothesis) 함수
간단한 데이터(표)를 차트에 표시하여 나타내보면 위와 같은 차트가 나타나게되고, 이때 이 데이터를 가장 잘 대변하는 직선의 방정식을 한번 생각해 보도록 합니다.
H(x) = Wx + b (y = ax + b) 이것이 가설입니다.
이때, 저희는 한가지 가설뿐만이아니라 여러가지 가설을 만들수 있습니다.
5. Which hypothesis is better ?
이런식으로 파란색의 데이터를 대변하는 직선은 무한이 존재하며, 무한한 가설을 할수 있습니다.
이때, 어떤 직선이 가장 잘 대변을 하는지 알 수 있는 방법으로는 비용(Cost)을 생각해볼수 있다.
6. 비용, 비용함수 (Cost, Cost function)
검정색 실선 : H(x) = Wx + b (가설 함수)
주황색 방향선 : H(x) - y (가설과 실제 데이터의 차이)
주황색 선으로 표현된 선들의 총합이 작으면 작을수록 검정색 실선은 데이터를 잘 대변한다고 할 수 있죠.
따러서 가설(Hypothesis)과 실제 데이터와의 차이 = cost, loss 혹은 error라고 한다.
우리의 목표는 바로 cost, loss 혹은 error를 최소화하는 방법에 대한것입니다.
하지만, cost의 합이 최소화가 되도록만 한다면 문제가 발생할 수 있습니다.
-> 가설 - y 값을 뺀값이 어떤 부분은 양수이지만 어떤 부분은 음수이다.
=> 주황색 선들의 합을 구하는 것이 무의미해질 수도 있습니다.
따라서, 우리는 (H(x) - y)^2 해서 사용합니다.
Cost Function
오차 제곱의 평균을 Cost(W)로 정의하였고,
가설함수는 직선의 방정식 H(x) 이다. (W : weight, b : bias)
따라서, Cost Funcion는 오차 제곱의 평균으로 정의된다는것을 확인할 수 있다.
7. 머신러닝의 목표 비용 최소화
머신러닝의 목표는 바로 cost(W,b) : W(Weight)와 b(bias)의 함수인 이 Cost를 minimize하는 W와 b를 찾는 것 이것이 바로 머신러닝, 딥러닝에서 얘기하는 러닝은 바로 cost를 정의하고 minimize하는 것이 학습, 러닝의 목적입니다.
728x90
'Machine Learning > Basic Machine Learning' 카테고리의 다른 글
[ML/DL] 다변수 선형 회귀 분석 Multi-variable Linear Regression (0) | 2022.01.19 |
---|---|
[ML/DL] 선형 회귀 분석 및 비용 최소화 방법(2) (0) | 2021.10.29 |
[ML/DL] 선형 회귀 분석 및 비용 최소화 방법 (0) | 2021.10.19 |
[ML/DL] 선형회귀(Linear Regression)를 TensorFlow로 구현하기 (0) | 2021.10.18 |
기본적인(Basic) Machine Learning의 용어와 개념 설명 (0) | 2021.10.17 |