728x90

머신러닝과 딥러닝의 차이점: 심층신경망(DNN: Deep Neural Network)의 사용 여부

과적합

과적합이란? 머신러닝에서 학습 데이터를 과하게 학습하는 것
과적합의 문제: 데이터의 정합률이 떨어짐, 오차가 올라가는 구간부터 과적합 발생
과적합이 발생하는 이유:

  1. 학습 데이터가 너무 적어서
  2. 학습 데이터 전처리를 잘못한 경우
  3. 특징(Feature) 데이터가 너무 많은 경우
  4. 매개변수가 많고 표현력이 높은 모델인 경우

과적합 방지 방법:

  1. 특징을 줄이거나 정규화한다.(Regularization O normalization X) -> 아래에서 확인
  2. 데이터를 늘린다.

하이퍼파라미터란?
배치사이즈, 에폭, 데이터 셋

파라미터: weight, bias


L1 Regularization 과 L2 Regularization

norm: 벡터의 크기를 측정하는 함수

  • L1 norm: 벡터 p,q 각 원소들의 차이의 절대값의 합
  • L2 norm: 벡터 p,q의 Euclidean 거리(직선 거리)
  • L1 loss: 실제 값과 예측치 차이의 오차의 절대값의 합
  • L2 loss: 오차 제곱의 합 (절대값 말고) = LSE(Least Squares Error)
    • L2 loss는 직관적으로 오차의 제곱을 더하기 때문에 outlier에 더 큰 영향을 받음
    • L1는 상대적으로 Robust(덜 민감/둔감)
  • Regularization의 종류: L1, L2, Drop out, Early Stopping

머신러닝의 종류

  1. 지도학습(예측이나 분류를 위해 사용)
  2. 비지도학습(군집을 위해 사용)
  3. 강화학습(환경에서 취하는 행동에 대한 보상을 이용하여 학습을 진행)

회귀(regression)란? 주어진 입력-출력 쌍을 학습한 후에 새로운 입력값이 들어오면 합리적인 출력값을 예측하는것. x(입력), y(출력)이 주어질 때 입력에서 출력으로의 매핑 함수를 학습하는 것


강화 학습 관련 개념

  • 에이전트(Agent) : 주어진 문제 상황에서 행동하는 주체
  • 상태(State) : 현재 시점에서의 상황
  • 행동(Action) : 플레이어가 취할 수 있는 선택지
  • 보상(Reward) : 플레이어가 어떤 행동을 했을 때 따라오는 이득
  • 환경(Environment) : 문제 그 자체를 의미
  • 관찰(Observation) : 에이전트가 수집한(보고 듣는) 환경에 대한 정보

머신러닝 알고리즘

KNN 알고리즘
K개그룹 중 어디에 속하는지 분류하는 알고리즘
K=1 이면 가장 가까운 그룹으로 됨
K=3 이면 가장 가까운 3개를 골라서 그 중에서 최빈값으로 결정

SVM 서포트 벡터 머신
두 분류 사이의 마진을 극대화 하는 선을 찾아서 분류

Decision Tree 의사결정나무 = Binary Tree
어떤 범주에 속할 확률을 0~1 사이의 값으로 정해놓고 그 확률에 따라 가능성이 더 높은 범주에 속하는 것으로 분류 (기준은 0.5)

변수 x의 값이 변화함에 따라 함수 y의 값도 바뀐다고 할 때 y=f(x)의 식이 성립되며,
이 경우 x를 독립변수, y를 종속변수라 한다

  • 선형회귀: 독립변수와 종속변수가 직선의 형태를 취하는 것
  • Logistic 회귀 : 종속변수 값은 0~1로 제한 (활성화함수에 사용)

K-means clustering
주어진 데이터를 k개의 클러스터로 묶는 비지도 학습 알고리즘으로, 각 클러스터와 거리 차이의 분산을 최소화하는 방식으로 동작

k: 주어진 데이터로부터 묶일 그룹
means: 각 군집의 중심과 데이터 거리들의 평균
centroids: 클러스터의 중심점

DBscan 밀도기반 클러스터링
Epsilon: 하나의 점으로부터의 반경
minPth: 최소점-> 군집을 이루기 위한 최소한의 데이터 수

Q-Learning 큐러닝
특정 상태에서 어떤 결정을 내려야 미래 보상이 극대화 될 건지에 대한 정책을 지속적으로 업데이트 하는 것

Deep Q-learning 딥큐러닝
큐러닝에 신경망을 결합한 알고리즘. Q값은 기댓값들의 총합으로 Q값이 높은 쪽으로 이동


로지스틱 회귀

로지스틱 회귀는 적절한 선을 그려가는 과정

model.add(Dense(1, input_dim=1, activation=‘sigmoid’))

1- 출력값 2-인풋 차원 3-활성화함수

model.compile(optimizer=‘sgd’, loss=‘binary_crossentropy’)

optimizer 최적화 알고리즘
stochastic gradient descent

loss= binary or category
이진 분류 혹은 다항 분류

Output shape
(None, 1)
none은 가변적 출력은 1개

Parameter 2는

Dense Layer는 입력 뉴런과 출력 뉴런을 모두 연결하는 구조
가중치는 입력뉴런 수와 출력뉴런 수를 곱한 것
편향은 출력 수와 동일

반응형