일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- word2vec
- neural net
- pytorch
- elif
- abstraction
- sigmoid
- Self-loop attention
- python practice
- NLP
- Python
- Transformer
- Classificaion
- sentence embedding
- XOR
- deep learning
- Attention
- overfitting
- GNN
- Set Transformer
- machine learning
- Today
- Total
Research Notes
[ML] Linear Regression 본문
#1 Concept of Linear Regression
▶ Linear Regression(선형 회귀)의 개념
이 데이터를 가지고 학습을 하여 모델을 생성하여 학습을 하는 것이 Linear Regression이다. Regression은 학습된 데이터를 기반으로 새로운 데이터를 예측한다.(공부 시간 데이터들을 학습하여 성적을 예측)
- Regression Data(X값, Y값): X값(예측을 하기 위한 자료), Y(정답 값)
▶ (Linear) Hypothesis(가설)
: 직선의 가설을 세우는 것이 Linear Hypothesis, 어떤 데이터가 존재한다면 그에 맞는 선(함수)을 찾는 것.
H(x)는 W, b에 따라 값이 달라짐.
어떤 가설이 좋은지 판별할 수 있는 것 == 손실(실제값과 예측값의 차이)
손실 함수를 통해 우리가 세운 가설과 실제 데이터의 차이를 알 수 있음
▶ Cost Function(손실 함수, 오차 함수)


: 결국 Cost Function은 W,b의 값에 따라 달라짐
→ 손실함수의 목표 : cost(오차)를 최소화하는 W,b를 구하는 것.
▶ Tensorflow Linear Regression 구현 코드 참고
GitHub - jiachoi-ds/Machine-Learning: Machine Learning(Deep Learninig) Study
Machine Learning(Deep Learninig) Study. Contribute to jiachoi-ds/Machine-Learning development by creating an account on GitHub.
github.com
#2 Minimize Loss Funcion of Linear Regression
▶ Hypothesis and Cost Function
· cost funcion : 실제 값과 가설의 값의 차이를 나타내주는 함수. (m : 데이터의 개수)
▶ Simplified hypothesis(가설을 단순화 하여 손실함수를 이해해보겠습니다.)

H(x) 함수에서 b를 생략. (기존, H(x) = Wx + b), cost도 W와 관련된 함수로 간소화.

→ W = 1, cost(W) = ? (Cost식에 대입)
1/ 3 { (1 * 1 - 1)^2 + (1 * 2 - 2)^2 + (1*3 - 3)^2 } = 0
cost(W) = 0
→ W = 0, cost(W) = ?
1/ 3 { (2 * 1 - 1)^2 + (2 * 2 - 2)^2 + (2*3 - 3)^2 } = 0
cost(W) = 4.67
→ W = 2, cost(W) = ?
1/ 3 { (3 * 1 - 1)^2 + (3 * 2 - 2)^2 + (3*3 - 3)^2 } = 0
cost(W) = 4.67
※※ 손실함수를 최소화하여 실제값과 예측값의 차이를 최소화 하는 것이 목표!
→ 손실함수가 최소화 되는 지점의 가중치 값(W)을 찾아야 함. (위의 그림에선, W=1)
이를 기계적으로 찾아내기 위한 알고리즘 : Gradient Desent Algorithm
▶ Gradient Desent Algorithm(경사 하강 알고리즘)
- 주어진 손실함수를 최소화하는데 사용되는 알고리즘
- W, b를 최소화하는데 도움이 됨.(많은 값들이 있는 cost function을 최소화 하는데도 도움이 됨)
→ 어떠한 방식으로 최저점을 찾을수 있을까?
: 경사 각도를 따라 움직이며, W를 바꾸며 최종적으로 경사가 0인 지점에 도달하는 것(손실 최소화 지점).
(경사=기울기, 미분을 하며 구함)
▶Tensorflow 구현 코드 참고
GitHub - jiachoi-ds/Machine-Learning: Machine Learning(Deep Learninig) Study
Machine Learning(Deep Learninig) Study. Contribute to jiachoi-ds/Machine-Learning development by creating an account on GitHub.
github.com
#3 Multiple features of Linear Regression
▶ Review
- Hypothesis ; H(x) = Wx + b
- Cost function(실제값과 예측값의 차이를 최소화하기 위한 함수)
- Gradient Desent Algorithm(Cost를 최적화하는 w,b의 값을 찾기 위한 알고리즘)
▶ 여러 feature의 Linear Regression
1. Hypothesis (학습해야 할 값이 많아짐)
2. Cost function
3. Matrix(행렬)로 함수를 표현
: matrix(행렬) --> 여러 값 한 번에 계산 가능.
▶ WX vs XW
- 이론상으로는, H(x) = Wx + b의 형태를 사용.
- 구현시에는, H(x) = XW(행렬 사용), 행렬을 사용한 가설함수의 형태를 쓴다.
'Study > Machine Learning' 카테고리의 다른 글
[ML] Practice and Tips of Machine Learning (0) | 2023.07.03 |
---|---|
[ML] Softmax Regression (Multinomial Logistic Regression) (0) | 2023.07.03 |
[ML] Logistic Classification (0) | 2023.07.03 |
[ML] Concept of Machine Learning (0) | 2023.07.03 |
[ML] Permutation invariant (0) | 2022.08.29 |