본문 바로가기

Machine-Learning/Basic19

[ML] 활성화 함수 (Activation function) 활성화 함수 (Activation function) 활성화 함수는 무엇일까? 왜 사용할까? 신경망 구조 설계에는 뉴런의 활성화 함수를 결정하는 것도 포함된다. 활성화 함수는 전이 함수 (transfer function) 또는 비선형성 (nonlinearity)이라고도 하는데, 그 이유는 활성화 함수가 가중합의 선형 결합을 비선형 모델로 만들기 때문이다. 활성화 함수는 각 퍼셉트론 내 계산의 마지막 단계에 배치되어 뉴런의 활성화 여부를 결정한다. 즉, 활성화 함수는 '활성화'라는 이름이 말해주듯 활성화 함수는 입력 신호의 총합이 활성화를 일으키는지를 정하는 역할을 한다 그냥 가중합을 계산해서 그대로 출력해도 되는데 굳이 활성화 함수를 사용하는 이유는 무엇일까 ? 그 이유는 활성화 함수가 있어야 신경망에 비.. 2021. 9. 5.
[ML] 손실함수(Loss function) 손실 함수 손실 함수는 딥러닝 모델의 출력 값과 사용자가 원하는 정답의 오차를 계산해주는 함수이다. 회귀 모델과 분류 모델을 학습하기 위한 최적화 문제의 손실 함수를 어떤 기준으로 정의해야 하며 어떤 의미로 해석해야 할까 ? 손실 함수가 최적해가 관측 데이터를 잘 설명할 수 있는 함수의 파라미터 값이 되도록 하며 어떤 기준으로 정의 해야 할까 모델이 오차 최소화(error minimization)되도록 정의하거나 모델이 추정하는 관측 데이터의 확률이 최대화되도록 최대우도 추정 (maximim likelihood estimation)방식의로 정의하는 방법이다. 오차 최소화 관점은 모델의 오차는 모델의 예측과 관측 데이터의 타깃의 차이를 말한다. 손실함수의 목표가 모델의 오차를 최소화하는 것이므로 직관적으로.. 2021. 9. 5.
[ML] 경사하강법(Gradient Descent) 경사 하강법 (Gradient Descent) ? 신경망을 학습시킨다는 것은 모델이 더 예측을 잘 하는 방향으로 가중치를 업데이트해 가는 과정이라고 할 수 있다. 그런데 어떤 방향으로, 또 얼마나 업데이트해야 할까? 우선 우리의 신경망 학습이 최종적으로 도달하고자 하는 곳을 살펴보자. 아래 그래프는 가로가 가중치 w의 값을 나타내고, 세로가 비용을 나타낸다. 예측한 결과가 실제 결과와 얼마나 다른 지를 나타내는 값이 비용임을 생각해보면, 이 비용을 최소한으로 줄여나가는 것이 학습의 목적이라는 것을 이해할 수 있다 (실제로 일반적인 용어로 비용 함수를 '목적 함수'라고 한다) 우리가 학습을 통해 도달하고자 하는 목적지를 최적값(optimum), 혹은 더 쉽게 최솟값(minimum)이라고 한다. 비용을 최소.. 2021. 9. 5.
[ML] 분류 (Classification) 평가 지표 분류 (Classification) 의 평가 지표 분류 문제의 경우 레이블이 이산(discrete) 데이터로 표현된다. 따라서 손실 값 이외에도 정확도와 같은 다른 평가 지표가 존재한다. 이러한 다양한 평가 지표를 살펴보자. 혼동 행렬 (Confusion Matrix) 분류 문제 에서 실제 클래스와 학습기가 예측 분류한 클래스 조합은 $$ 실제 양성 (True Positive), 거짓 양성(False Positive),실제 음성(Ture Negative), 거짓 음성(False Negative)$$ 총 4가지 형태로 요약할 수 있다. 가각을 TP, FP, TN, FN으로 나타내며 \('TP + FP + TN + FN = 총 샘플 수'\) 가 된다. 이처럼, 분류 모델에서 구한 예측 범주와 실제 범주의 교.. 2021. 9. 5.
[ML] 회귀 (Regression) 평가 지표 성능 측정 (performance measure) 학습기의 일반화 성능에 대해 평가할 때 유효하고 실험 가능한 테스트 방법뿐만 아니라 모델의 일반화 성능을 평가할 기준이 있어야 한다. 이를 성능 측정 (performance measure)이라고 한다. 성능 측정은 프로젝트 목적을 반영해야 한다. 서로 다른 모델의 성능을 비교할 때 일괄되지 않은 성능 측도를 사용한다면 판단이 힘들 것이다. 이 모델의 '좋음'과 '나쁨'이 상대적이라는 것을 뜻한다. 어떤 모델이 좋은 모델인지 결정하는 것은 알고리즘과 데이터가 아닌 데이터 분석 목적에 달렸다는 것이다 회귀 (Regression)의 평가 지표 회귀의 평가를 위한 지표는 실제 값과 회귀 예측 값의 차이를 기반으로 평가한다. 아래는 회귀 평가를 사용할 때 자주 사.. 2021. 9. 5.
[ML] 분류 (Classification) 회귀와 분류 차이 머신러닝을 통해 해결하려는 문제의 종류에 따라 나눌 수 있는데, 우리가 예측하려는 값의 종류에 따라 회귀와 분류로 구분할 수 있다 값의 종류로는 연속 값(continous value)과 이산 값(discrete value)으로 나눌 수 있다 연속(continuous) 값이란, 말 그대로 연속하는 값을 말한다. 주관신 문제의 답을 쓰듯이, 그값은 0.3이 될 수도 있고 0.31, 0.301, 0.3001 이렇게 끝없이 연속되어 나갈 수 있다. 예를 들면 신장, 체중 등을 의미한다. 이산(Discrete) 값이란, 객관식 문제의 보기처럼 한정된 수로 끊어져 있다. 예를 들면 다음과 같이 "10대/ 20대/ 30대/ 40대/ 50대/ 60대 이상", "e-mail이 스팸인지 아닌지", "어떤.. 2021. 9. 5.
[ML] Logistic Regression 로지스틱 회귀 (Logistic Regression) 만약 우리가 해결해야 하는 문제가 분류 문제라면 어떻게 해야 할까? 답은 선형 모델에 있다. 단조 미분 가능 함수 하나만 찾아내어 분류 문제의 실제 레이블 y와 선형 회귀 모델의 예측 값을 연결해 주기만 하면 된다. 결괏값이 \(y \in {{0, 1}}\) 인 이진 분류 문제를 생각해 보자 선형 회귀 모델이 생성한 예측 값 \( z= w^Tx + b \)는 실수 이다. 따라서 실수 \(z\) 를 0/1값으로 변환해 줘야 한다. 이때, 가장 이상적인 방법은 단위 계단 함수 (unit-step function)을 활용하는 것이다 $$ \left\{\begin{matrix} 0, & z 0; \\ \end{matrix}\right. $$ 만약 예측값 z가.. 2021. 3. 17.
[ML] 회귀(Regression) 회귀(regression)란 무엇일까? 회귀(regression)는 현대 통계학을 떠받치고 있는 주요 기둥 중 하나이다. 회귀 기반의 분석은 엔지니어링, 의학, 사회과학, 경제학 등의 분야가 발전하는데 크게 기여해왔다. 회귀 분석은 유전적 특성을 연구하던 영국의 통계학자 갈톤 (Galton)이 수행한 연구에서 유래했다는 것이 일반론이다. 갈톤은 부모와 자식 간의 키의 상관 관계를 분석했고, 부모의 키가 모두 클 때 자식의 키가 크긴 하지만 그렇다고 부모를 능가할 정도로 크지 않다고, 부모의 키가 모두 아우 작을 때 그 자식의 키가 작기는 하지만 부모보다는 큰 경향을 발견했다. 부모의 키가 아주 크더라도 자식의 키가 부모보다 더 커서 세대를 이어가면서 무한정 커지는 것이 아니며, 부모의 키가 아주 크더라도.. 2021. 3. 15.
[ML] 퍼셉트론과 인공신경망 생물학적 뉴런과 퍼셉트론 생물학적으로 신경 세포인 뉴런은 여러 개의 수상 돌기 (Denrites)로부터 서로 다른 세기의 전기적인 신호를 받고 이 신호 세기의 합이 정해진 임계값을 넘으면 시냅스(Synapse)를 통해 출력 신호를 보낸다. 이 출력은 또 다른 뉴런으로 연결되어 같은 과정을 반복하는 것이다. 인간의 신경망은 수 많은 뉴런들이 연결되어 뇌로 정보를 전달하는 구조를 지닌다. 딥러닝은 인간의 신견망을 모사하여 만든 인공 신경망 (Artificial Neural Network)을 기반으로 학습하는 방법이다. 인공 신경망은 노드와 가중치가 연결된 구조로써 노드 (Node)는 뉴런에 해당하고 가중치 (Weight)는 시냅스에 대응하는 개념이다. 이때 노드에 있는 값과 시냅스에서 나오는 가중치가 선형 .. 2021. 3. 4.