1장
1) 모델
입력 데이터를 받아서
의미 있는 출력을 만드는 함수
지도 학습:
입력(x) → 모델 → 레이블(y) 예측
비지도 학습:
입력(x) → 모델 → 데이터의 숨겨진 구조 발견
강화 학습:
상태(환경) → 모델(에이전트) → 행동 결정
2) 모델 파라미터
훈련을 통해 데이터에서 학습하는 값
= 가중치(w), 편향(b)
하이퍼파라미터와 구별:
모델 파라미터 → 데이터에서 스스로 학습
하이퍼파라미터 → 사람이 직접 정하는 다이얼
3) 훈련 데이터
모델을 학습시키기 위해 사용하는 데이터
지도 학습:
입력(특성 x) + 레이블(타깃 y) 쌍으로 구성
비지도 학습:
입력(특성 x) 만 있음
레이블 없음
강화 학습:
레이블도 정답도 없음
환경과 상호작용하며 보상 신호로 학습
4) 훈련/학습
= 모델 피팅(fitting)
= 파라미터 추정(parameter estimation)
데이터를 이용해서
모델 파라미터를 조정하는 과정
지도 학습: 레이블된 데이터로 파라미터 학습
비지도 학습: 레이블 없이 데이터 구조로 파라미터 학습
강화 학습: 보상 신호로 파라미터 학습
5) 추론/예측
훈련이 완료된 모델에
새로운 데이터를 넣어서
출력을 만드는 과정
→ 파라미터 수정 없음
→ 모델이 변하지 않음
지도 학습: 새 데이터의 레이블 예측
비지도 학습: 새 데이터가 어느 구조에 속하는지 판단
강화 학습: 새로운 환경 상태에서 행동 결정
훈련과 추론의 구분점
훈련: 데이터 → 파라미터 수정 O → 모델이 변함
추론: 새 데이터 → 파라미터 수정 X → 모델이 변하지 않음
6) 분류
지도 학습의 하위 카테고리
새로운 데이터 포인트의
이산적(discrete)이고 순서 없는
범주형 클래스 레이블을 예측하는 것
예:
이진 분류: 스팸 / 정상
다중 분류: A / B / C 글자 인식
7) 회귀
지도 학습의 또 다른 하위 카테고리
예측 변수(특성 x)가 주어졌을 때
연속적인 반응 변수(타깃 y)를
예측하기 위해 두 변수 사이의 관계를 찾는 것
예:
공부 시간 → 시험 점수
집 크기 → 집 가격
분류와 회귀의 구분점
분류: 타깃 = 이산적인 클래스 레이블
→ "이게 어느 그룹인지"
회귀: 타깃 = 연속적인 숫자값
→ "얼마인지"
2장
1. 퍼셉트론 모델은 어떤 것과 똑같이 동작하도록 만든건가?
퍼셉트론은 생물학적 뉴런을 수식으로 모방한 모델이다.
뉴런은 여러 곳에서 신호를 받아 합산했을 때 임계값을 넘으면 다음 뉴런으로 신호를 전달하고, 못 넘으면 전달하지 않는다.
동작 순서는 다음과 같다. 여러 입력값이 들어오면 각각 가중치가 곱해지고, 곱해진 값들을 전부 더한후에
이 합산값 z가 임계값을 넘는지 활성화 함수가 판단해서 출력값을 결정한다. 출력값은 z 자체가 아니라 활성화 함수가 변환한
값으로, 고전적 퍼셉트론은 0 또는 1, sigmoid를 쓰면 0과 1 사이의 실수를 출력한다.
이 때 가중치는 입력 신호의 중요도를 나타내며, 실제 뇌에서 시냅스 연결 강도에 해당한다.
2. 모델의 구조(입출력 관계식의 형태)를 설명하라.
퍼셉트론의 입출력 관계식은 y=f(w1x1+w2x2+⋯+wnxn+b) 이다.
구성 요소를 하나씩 보면, x₁~xₙ은 입력값들이고, w₁~wₙ은 각 입력에 대한 가중치, b는 편향, f는 활성화 함수, y는 최종 출력이다.
안쪽부터 보면 괄호 안은 그냥 1차 다변수 선형 함수의 구조를 가지고 있고, 입력이 n개면 항도 n개고, 각 항은 wᵢ·xᵢ 형태로
독립적이며 마지막에 전부 더해질 뿐 항끼리 곱하거나 상호작용하는 구조는 없다.
이 합산값 z를 활성화 함수 f에 넣어서 나온 값이 y이다.
활성화 함수가 없으면 그냥 선형 함수가 되고, 활성화 함수가 있어야 비선형성이 생긴다.
3. 모델의 구조는 어떻게 유도한 건가?
뉴런의 동작을 다시 보면, 여러 신호를 받고, 신호마다 중요도가 다르고, 합산해서 임계값을 넘으면 발화한다.
이걸 수식으로 옮기면 "여러 신호를 받는다"는 입력 x₁~xₙ이 되고, "신호마다 중요도가 다르다"는 가중치 w₁~wₙ을 곱하는 것이 되고, "합산한다"는 전부 더하는 것이 되고, "임계값을 넘으면 발화한다"는 활성화 함수 f가 된다.
편향 b는 뉴런마다 발화하기 쉬운 정도가 다른 것을 표현한 것이다. 입력이 없어도 기본적으로 얼마나 활성화되기 쉬운지를 의미한다.
4. 모델의 파라미터는 무엇인가?
파라미터는 가중치 w와 편향 b로, 가중치 w는 각 입력이 출력에 얼마나 영향을 주는지를 결정하고, 입력이 n개면 가중치도
n개가 된다. 편향 b는 입력과 무관하게 활성화 함수가 켜지는 기준점을 이동시키는 값으로, 입력이 전부 0이어도 b는 항상
더해진다. 이 둘이 파라미터인 이유는 학습을 통해 조정되는 값이기 때문이다. x는 데이터에서 주어지는 값이라 바꿀 수 없지만, w와 b는 모델이 학습하면서 최적값을 찾아가는 대상이다.
5. 모델의 파라미터는 어떻게 구하는가?
데이터를 보고 틀렸을 때 w와 b를 조금씩 수정하는 방식으로 구하는데, 먼저 w와 b를 임의의 값으로 초기화한 후, 데이터를 하나 넣어서 예측값 y를 구한다. 그 후 예측값과 정답을 비교하여 틀렸으면 w와 b를 수정하여 이걸 전체 데이터에 대해 반복한다.
수정하는 방향은 "예측이 정답보다 크게 나왔으면 w를 줄이고, 작게 나왔으면 w를 늘리는" 방향이다. 얼마나 수정할지는 학습률이라는 값으로 조절한다. 학습률이 크면 한 번에 많이 수정하고, 작으면 조금씩 수정한다. 이 과정을 퍼셉트론 학습 규칙이라고 하며, 핵심은 정답과 예측의 차이인 오차를 줄이는 방향으로 파라미터를 반복적으로 업데이트하는 것이다.
6. 아달라인에서 훈련알고리즘은 기존과 무엇이 다른가?
아달라인은 퍼셉트론 알고리즘 이후 나온 단일층 신경망의 또 다른 종류다. 아달라인의 가장 큰 차이점은 가중치를 업데이트하는 데 퍼셉트론처럼 단위 계단 함수 대신 선형 활성화 함수를 사용한다는 것이다. 아달라인에서 선형 활성화 함수는 단순한 항등 함수이다.
퍼셉트론은 활성화 함수를 통과한 최종 출력(0 또는 1)과 정답을 비교해서 가중치를 업데이트한다. 반면 아달라인은 활성화 함수를 통과하기 전의 선형 출력값 z와 정답을 비교해서 오차를 계산하고 가중치를 업데이트한다. 선형 활성화 함수가 가중치 학습에 사용되지만 최종 예측(0 또는 1)은 별도의 임계 함수가 만든다. z는 연속적인 실수값이므로 손실함수를 미분할 수 있고, 경사 하강법을 적용할 수 있다. 이것이 아달라인이 퍼셉트론보다 발전된 핵심 이유다.
7. 좌표평면의 점의 의미를 설명하라.
좌표평면의 점 하나는 데이터 샘플 하나를 나타내는데, 예로 점의 위치, 즉 좌표가 그 샘플의 특성값이다. 붓꽃 예제에서는 x축이 꽃받침 길이, y축이 꽃잎 길이이며 점 하나가 꽃 한 송이를 의미하게 된다. 입력 특성이 2개이므로 2차원 평면에 점으로 표현되고, 입력 특성이 n개면 n차원 공간의 점이 된다. 퍼셉트론은 이 점들을 두 클래스로 나누는 선형 결정 경계를 학습하는 것이 목표로, 학습이 완료된 퍼셉트론은 두 색으로 나뉜 영역과 그 사이의 결정 경계선을 만들어낸다.
8. 클래스란 무엇인가?
클래스는 데이터가 속하는 범주다. 퍼셉트론은 이진 분류기이므로 클래스가 두 개다. 예제에서는 붓꽃 데이터셋에서 Setosa를
클래스 0, Versicolor를 클래스 1로 정의했다. 퍼셉트론의 목표는 새로운 데이터 포인트가 어떤 클래스에 속하는지 예측하는 것으로, 좌표평면에서 보면 같은 클래스에 속하는 점들이 한쪽에 모여 있고, 퍼셉트론은 두 클래스를 나누는 선형 결정 경계를 찾는다. 퍼셉트론은 다중 클래스 분류로도 확장할 수 있는데, 이때는 일대다 전략을 사용하여 클래스마다 하나의 분류기를 훈련하고 신뢰도가 가장 높은 클래스 레이블을 샘플에 할당한다.
9. 레이블이란 무엇인가?
레이블은 각 데이터 샘플에 붙어 있는 정답 태그로, 어떤 클래스에 속하는지 알려주는 값이며, 지도 학습에서 모델이 학습할 때 참고하는 정답이다. 예제에서는 붓꽃 데이터셋의 클래스 레이블을 두 개의 정수, Versicolor는 클래스 1, Setosa는 클래스 0으로 바꾼 후 벡터 y에 저장하여 퍼셉트론 학습 규칙에서 y(i)가 진짜 클래스 레이블, y`(i)가 예측 클래스 레이블이며, 이 둘의 차이가
가중치 업데이트의 크기와 방향을 결정한다.
10. 에폭의 정의는
에폭은 전체 훈련 데이터를 한 번 다 순회한 것이다. 데이터가 100개면 100개를 전부 한 번씩 학습에 사용했을 때 1 에폭이다.
예제를 보면 에폭이 늘어날수록 오차가 줄어들다가 6번째 에폭 이후 수렴해서 0이 되는 것을 볼 수 있다. 두 클래스를 선형 결정 경계로 나눌 수 없다면 퍼셉트론은 가중치 업데이트를 멈추지 않는다. 따라서 최대 에폭 수를 지정하고 분류 허용 오차를 지정해야 한다.
11. 손실함수의 의미를 설명하라.
손실함수는 예측값과 정답이 얼마나 다른지를 숫자 하나로 나타낸 것이다. 아달라인은 계산된 출력과 진짜 클래스 레이블 사이의 평균 제곱 오차(MSE)로 모델 파라미터를 학습하기 위한 손실함수 L을 정의한다.
또한 단위 계단 함수 대신 연속적인 선형 활성화 함수를 사용하는 장점은 손실함수가 미분 가능해진다는 것이다. 이 손실함수는 볼록 함수이므로 경사 하강법으로 전역 최솟값을 찾을 수 있다. 예측이 정답에 가까울수록 작은 값, 멀수록 큰 값이 나온다.
12. 손실함수의 용도는 무엇인가?
손실함수는 가중치를 어느 방향으로 얼마나 수정할지 결정하는 기준이다. 경사 하강법을 사용하면 손실함수 L(w, b)의 그레이디언트 반대 방향으로 조금씩 모델 파라미터를 업데이트할 수 있다.
학습률이 너무 크면 전역 최솟값을 지나쳐버려 손실이 에폭마다 점점 커지고, 반대로 너무 작으면 손실은 줄어들지만 전역
최솟값에 수렴하려면 아주 많은 에폭이 필요하다. 아달라인은 개별 훈련 샘플마다 가중치를 업데이트하는 퍼셉트론과 달리,
전체 훈련 데이터셋을 기반으로 그레이디언트를 계산해서 한 번에 업데이트하는 완전 배치 경사 하강법을 사용한다.
첫댓글 일정확인가능하게 연구계획서 캡쳐하여 첨부할것
추가했습니다!