학습 주제
- 선형의 의미
- 선형 회귀
- 선형 분류
주요 학습 내용
- 선형 결합
- 독립 변수가 파라미터 값 만큼 일정한 비율로 결과 종속 변수에 영향을 미치는 관계
- 앞서 본 방식 처럼 파라미터들이 어떠한 실수(혹은 벡터)와 가중 합(곱하기 & 더하기)로 표현된 것
- 일반적 표현식 : w1x1 + w2x2 + ... + wnxn
- x1...xn : 독립 변수 혹은 특징, 보통 입력하는 데이터 의미
- w1...wn : 파라미터, 찾아내야 하는 값
- 선형 모델
- 파라미터들이 선형 결합을 이루고, 이것으로 종속 변수 값을 표현할 때
- 선형과 비선형을 구분하는 큰 기준은 종속 변수가 파라미터에 대해 선형적인지 혹은 비선형적 인지에 따라 다르다.
- 종속 변수가 어떠한 값을 갖게 되려면 파라미터의 값이 설정되어야 한다.
- 머신러닝 입장에서 모델을 학습 시키는 것은 특정한 제약 조건이 주어진 상태에서 파라미터의 적절한 값을 찾는 것
- 적절한 값을 찾아야 하는 변수라는 의미로 파라미터라고 부른다.
- 파라미터는 여러 데이터를 바탕으로 최적의 값을 찾아가야 한다.
- 선형 모델 가정
- 서로 다른 독립 변수는 서로 상관성이 없어야 하는 중요한 가정이 있다.
- 두 독립 변수 사이에 높은 상관관계를 가지면 다중공선성이라는 문제를 일으키게 된다.
- 다중공선성이 일어나면 정확도화 신뢰성에 저하, 해석에도 복잡함
- 선형 회귀 모델의 의미와 모델 표현 식
- 입력 데이터 특징 사이에 독립성을 가정하고 데이터 특징에 대한 선형 결합으로 문제를 풀겠다는 의미
표현 식 - y-hat = 출력결과 = 예측값
- w0 = 절편 (혹은 편향)
- 목푯값의 평균이 0에 맞춰 있다면, 절편을 추가하지 않을 수 있다.
- 일반적으로 절편을 포함하는 것이 유리하다. - 가중합으로 표현되는 다항식은 행렬곱(Xw)로 간단하게 표현할 수 있다.
- 입력 데이터 특징 사이에 독립성을 가정하고 데이터 특징에 대한 선형 결합으로 문제를 풀겠다는 의미
- 비용함수
- 목푯값과 예측값 사이의 계산을 통해 비용 함수를 정의
- 두 값 모두 실수의 범위를 갖고, 두 값 사이의 양적 차이(잔차)의 제곱 평균으로 (MES) 비용 함수(J(w))를 정의
- 이런 비용 함수를 최소화 하는 파라미터(w)들을 찾아야 한다
- 선형 회귀는 잔차의 제곱값이 갖을 수 있는 최소의 파라미터를 찾는 작업, 최소제곱법(OLS) 이라고도 한다.
- 최적화 방법론
- 최적화란 특정 문제에서 최적의 해를 찾는 과정을 의미한다.
- '최적'이란 보통 특정 함수의 최소, 최대값을 찾는 것
- 선형 회귀를 위한 최적화 방법은 정규 방정식 풀이와 경사 하강법이 존재한다.
- 정규 방정식
- 파라미터 값을 직접 계산
- 최소 값을 찾기 위해 도함수가 0이 되는 점을 계산한다. - 경사 하강법
- 비용 함수가 작아지는 방향을 찾아 점진적으로 파라미터를 조정 하는 방법
- 정규 방정식
- 특정 식이 최소가 되는 지점을 찾는 것은 기울기가 0이 되는 위치를 찾는 것과 같다.
- 비용함수의 도함수를 구하고 0이 되는 파라미터를 구해야한다.
- 이때 역행렬이 존재하면 w의 유일한 해를 구할 수 있다.
- 시간 복잡도 : O(p^3)
- X^T X 의 역행렬을 계산 필요
- 일반적으로 n >> p인 경우 (입력 데이터 >> 특성의 수)에 유용하다. - 훈련 세트가 크지 않은 상황에서 빠르게 해를 구하기 좋다.
- 경사 하강법, Gradient Decent
- 비용 함수를 최소하 하기 위해 반복해서 파라미터를 조정해가는 방법
- 임의로 잡은 초기 파라미터 값을 기준으로 비용 함수의 기울기를 계산하여 기울기가 줄어드는 방향으로
파라미터를 수정 이동한다. - 반복 수행으로 기울기가 0에 가까워지면 (최적값에 도달하면) 멈춘다.
- 적절한 학습률(learning rate)에 대한 탐구가 필요하다.
- 값이 너무 작다면 최적화 소요 시간이 늘어난다.
- 값이 너무 크다면 발산 혹은 최적값 도달 가능성이 적다. - 비용 함수를 통해 구한 전체 비용을 대상으로 각 파라미터의 미분값을 구하고
- 현재값을 기준으로 기울기가 작아지는 방향으로 이동
- 너무 빠른 혹은 느린 학습을 방지하고자 적잘한 학습률(learning rate, lr)이 사용된다.
- 특성 수와 샘플의 수에 민감도가 작다.
- 확률적 경사 하강법, Stochastic Gradient Decent
- 전체 데이터 중 임의로 일부 데이터를 샘플링하여 샘플링 대상으로 경사 하강법을 진행한다.
- 경사 하강법은 사용하는 모든 학습 데이터에 대해 기울기 계산이 진행하여 학습 데이터가 많은 경우 시간 소요가
크다. ( n >> p 일 경우 매우 치명적이다 ) - 작은 데이터로 수정 이동을 반복하므로 빠른 수렴이 가능하다.
- 데이터가 많거나 특성 feature가 많은 경우 사용하기 좋다.
- 다중공선성
- 입력 데이터가 갖고 있는 특징값들 사이에 상관 관계가 존재할 때 발생하는 문제 상황
- 머신 러닝 모델이 작은 데이터 변화에도 민감하게 반응한다.
- 안정성과 해석력 저하 우려 - 정규 방정식으로 해를 구하는 상황에서 치명적 문제가 발생한다.
- 정규 방정식 해 풀이에 사용되는 역행렬이 존재하지 않을 수 있다.
- 방정식 값이 점차 특이 행렬(Singular matrix)에 가까워 진다. - 해결하기 위해 SVD-OLS라는 회피 방법이 존재한다.
- 다중공선성을 해결하기 위한 방법이 아닌
- 강한 다중 공선성이 있는 경우 정규 방정식으로 풀 수 없는 해를 다른 방식으로 구하는 방법 제시
- 입력 데이터가 갖고 있는 특징값들 사이에 상관 관계가 존재할 때 발생하는 문제 상황
- SVD-OLS, Singular Value Decomposition - OLS
- SVD를 활용해 선형 회귀 모델의 해를 구하는 방법
- 학습 데이터를 모아둔 행렬 X에 SVD를 적용해 특이값 분해
- 특이값이 분해된 입력 X에 OLS 방식의 풀이 적용
- 시간 복잡도 : O(np^2)
- n : 입력 데이터 수 / p : 사용하는 특성의 수
- 입력 데이터와 사용하는 특성의 수 모두에 영향을 받는다.
- 규제(Regulation)를 사용하는 선형 모델
- 과적합 문제
- 머신 러닝 모델이 피해야 하는 중요한 문제
- 모델이 학습 데이터에 너무 집중해 일반화가 떨어지는 상황 - 과적합이 발생하면 파라미터인 w값이 매우 커지게 된다.
- w의 값이 너무 커지지 않도록 규제를 가해 과적합 문제를 회피할 수 있다.
- 선형 모델에서 규제를 추가해 일반화 성능에 도움이 되도록 설계한 모델이 있음
- 라쏘 회귀
- 릿지 회귀
- 과적합 문제
- 라쏘 회귀
- 라쏘 회귀에 사용되는 L1 규제는 일부 파라미터의 값을 완전히 0으로 만들 수 있다.
- 이를 통해 모델이 사용하는 데이터 특성 중 불필요한 특성을 무시하는 효과를 가져올 수 있다.
- 모델의 단순화로 해석이 용이하다 - 변수가 많고, 일부의 변수가 중요한 역할을 하는 경우 활용될 수 있다.
- 릿지 회귀
- L2 규제는 파라미터 값을 적당히 작게 만든다.
- 0에 가까운 값이지만 0이 되지는 않는다 - 입력으로 받는 데이터의 모든 부분을 이용해 출력을 판단하는게 사용한다.
- 모든 특성이 출력 결과에 적당히 영향을 미치는 경우에 유용하다.
- L2 규제는 파라미터 값을 적당히 작게 만든다.
- 로지스틱 회귀 감잡기
- 입력 데이터가 후보 클래스 중 각각의 클래스일 확률을 예측하는 모델
- 확률이 갖는 범위 0~1의 실수 값
- 확률을 직접적으로 예측(= 확률 추정)하는 방식으로 문제를 해결한다.
- 분류문제를 풀지만 회귀 방식으로 접근 - 예측한 특정 클래스의 확률 값이 (일반적으로) 50% 이상이면 해당 클래스에 속한다고 예측 = 양성
반대는 음성 - 로지스틱 회귀도 선형 모델의 조건(독립 변수간 독립성) 가정한다
- logit : 결과로 뽑아낼 확률값의 로짓(Logit)값
- p-hat : logit 결과를 확률의 형태로 변경한 확률 추정치
- 시그마 : 로짓(Logit)을 확률로 변경하기 위한 함수 (로지스틱 함수)
- y-hat : 추정 확률로부터 구한 머신 러닝 모델의 예측
- 오즈(odds): 특정 사전이 발생할 확률(p)과 발생하지 않을 확률 (1 - p)의 비율
= p / (1 - p) - 로그 오즈(log-odds) : 오즈에 로그함수를 씌운 결과로 로짓(logit)이라고도 한다.
결과를 +- 무한대의 범위를 갖도록 변환한다. - 로지스틱(logistic) : 로그 오즈의 역함수로 로짓(logit)을 입력으로 주면 확률 p를 반환
- 출력은 항상 0~1 사이의 값을 가지고 있다.
- 함수의 개형이 S자 모양이라 Sigmoid(시그마) 라고 부른다. - 로지스틱 회귀 모델의 출력 결과는 로짓(log-odds)에 해당한다.
- 특정클래스일 확률(p)을 알기 위해 로지스틱 함수를 활용한다.
- 선형 모델은 독립변수의 선형 변환에 따른 종속 변수의 관계를 알아보는 식이다.
- 확률의 입장에서 변화량이 구간에 따라 다른 의미를 갖기에 결과가 선형적이지 않을 수 있다.
- 비용 함수
- 분류 문제 역시 정답과의 차이로 비용 함수를 계산한다.
- 분류 문제는 log 함수를 이용한 로그 손실 값을 사용한다.
- 정답을 잘 예측해야 하는 과정을 담아낼 수 있는 함수를 활용한다.
- 목적 데이터의 클래스가 양성일 경우(y = 1)와 음성일 경우 (y = 0)나누어 고려
공부하면서 어려웠던 점
- 통계학을 배웠는데 이후 선형 회귀, 선형 분류 실습하면서 써봐야 정확하게 이해가 될 것 같다.
반응형
'데이터분석' 카테고리의 다른 글
49. K-means, 이상 탐지 (0) | 2024.02.03 |
---|---|
48. SVM, 비지도 학습, 결정트리 (0) | 2024.02.03 |
47-(1). 지도학습과 대표 알고리즘 (0) | 2024.02.02 |
46-(2). 통계 개념과 용어 (1) | 2024.02.01 |
46-(1). Colab, ML 기초와 배경 (0) | 2024.02.01 |