티스토리 뷰

1. 선형회귀(Linear Regression)

  • 다음과 같은 선형 함수 y=Wx + b를 이용해서 회귀(Regression)를 수행하는 모델을 뜻한다.
  • 이때 x,y는 가지고 있는 데이터이고, w와 b는 데이터에 적합한 값으로 학습될 수 있는 파라미터(Parameter)이다.

 

2. 손실 함수(Loss Function) - MSE

  • 머신 러닝 모델을 학습시키기 위해서는 적절한 파라미터값을 알아내기 위해서 현재 파라미터값이 우리가 풀고자 하는 목적에 적합한 값인지를 측정할 수 있어야 한다. 이를 위해 손실 함수 J(θ)를 정의한다.
  •  손실 함수는 여러가지 형태로 정의될 수 있다. 그 중 가장 대표적인 손실 함수 중 하나는 평균제곱오차(Meanof Squared Error(MSE))이다.
  • MSE는 아래과 같은 수식으로 정의 된다.

 

  • 예를 들어, 정답이 y=[1, 10, 13, 7]이고 우리의 모델의 예측값이 y ̂=[10, 3, 1, 4]와 같이 잘못된 값을 예측한다면 MSE 손실 함수는 아래와 같이 35.375라느 큰 값을 갖게 될 것이다.
  • 하지만, 정답이 y=[1, 10, 13, 7]이고 우리의 모델의 예측값이 y ̂=[2, 10, 11, 6]와 같이 비슷한 값을 예측한다면 MSE 손실 함수는 앙래와 같이 1.5라는 작은 값을 갖게 될 것이다.
  • 이처럼 손실 함수는 우리가 풀고자 하는 목적에 가까운 형태로 파라미터가 최적화 되었을 때(즉, 모델이 잘 학습되었을 때) 더 작은 값을 갖는 특성을 가져야만 한다.
  • 이런 특징 때문에 손실 함수를 다른 말로 비용 함수(Cost Function)라고도 부른다.

 

3. scikit-learn

  • 선형 회귀를 포함한 다양한 머신러닝 모델을 쉽고 간편하게 구현할 수 있도록 도와주는 라이브러리이다.
  • https://scikit-learn.org/
  • scikit-learn 기본 사용법
    1. Estimator 선언(ex. LinearRegression)
    2. .fit() 함수 호출을 통한 트레이닝 (Training)
    3. .predict() 함수 호출을 통한 예측 (Predict)
  • scikit-learn을 이용한 예측 모델 구성방법
    1. 트레이닝 데이터, 테스트 데이터 준비
    2. Feature 정규화 (Normalize)
    3. Estimator 선언
    4. .fit()
    5. .predict()
  • scikit-learn을 training data, test data 나누기
    • from sklearn.model_selection import train_test_split
      
      #80%는 트레이닝 데이터, 20%는 테스트 데이터로 나눈다.
      X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
  • scikit-learn을 이용해서 MSE, RMSE 정의하기
    • MSE는 차이를 제곱하기 때문에 제곱에 의해서 생기는 오차를 보정하기 위해 RMSE(Root MEan Square Error)를 이용해서 성능을 측정하기도 한다.
    • scikit-learn에서 MSE와 RMSE를 정의하는 방법은 다음과 같다.
    • from sklearn.metrics import mean_squared_error
      
      #MSE(Mean Squared Error)를 측정한다.
      MSE = mean_squared_error(y_test, y_preds)
      
      #RMSE(Root Mean Squared Error)를 측정한다.
      RMSE = np.sqrt(MSE)

 

'파이썬 > 머신러닝' 카테고리의 다른 글

머신러닝  (0) 2021.07.02
결정 트리(Decision Tree)와 랜덤 포레스트(Random Forest)  (0) 2021.06.08
머신러닝에 대해 알아보자!  (0) 2021.06.08
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/10   »
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 31
글 보관함