PLC란
퍼셉트론 학습 알고리즘(Perceptron Learning Algorithm, PLA)은 프랭크 로젠블라트에 의해 1957년에 개발된 간단한 유형의 선형 분류기이다. 이 알고리즘은 감독 학습의 한 형태로, 이진 클래스에 속하는 데이터를 분류하는 데 사용된다. 퍼셉트론은 입력 특성에 가중치를 할당하고, 이 가중치의 선형 조합을 통해 출력을 생성한다. 출력값은 일반적으로 이진 결과로, 예를 들면 +1 또는 -1과 같은 형태이다.
퍼셉트론 학습 알고리즘의 기본 원리
1. 초기화: 가중치를 0 또는 작은 무작위 값으로 초기화
2. 예측: 각 훈련 샘플에 대해, 가중치와 입력 벡터의 내적을 계산 계산된 결과에 따라 출력이 결정 (예: 활성화 함수로 단위 계단 함수 사용 시, 결과가 0보다 크면 +1, 아니면 -1).
3. 가중치 조정: 잘못 분류된 각 샘플에 대해 가중치를 조정
이때, 가중치의 업데이트는 다음과 같은 규칙--> 학습 과정 퍼셉트론 학습 알고리즘은 반복적으로 훈련 데이터셋을 처리하며, 잘못 분류된 각 샘플에 대해 가중치를 조정한다. 이 과정은 모든 샘플이 올바르게 분류될 때까지 또는 사전에 정의된 최대 반복 횟수에 도달할 때까지 계속된다.
한계
퍼셉트론 알고리즘은 데이터가 선형적으로 분리 가능할 경우에만 수렴을 보장한다. 즉, 모든 데이터 포인트를 완벽하게 분류할 수 있는 선형 결정 경계가 존재해야 한다.. 만약 데이터가 선형적으로 분리 불가능하면, 알고리즘은 수렴하지 않으며, 계속해서 가중치가 업데이트된다. 퍼셉트론은 그 간단함 때문에 초기 기계 학습 및 신경망 이론에서 중요한 역할을 했으며, 복잡한 네트워크와 알고리즘 개발의 기초를 마련했다.
본격적으로 머신러닝에 대해 알아보자!
기계 학습의 본질: 데이터로부터 배우기
기계 학습은 데이터의 복잡한 구조 속에서 패턴을 찾아내고 이를 수학적으로 표현하는 과정이다.
비록 완벽하게 수학적으로 정의내리기는 어렵지만, 우리는 다음과 같은 기본 가정에서 출발한다--> 데이터가 존재한다.
The essence of learning from data (데이터 학습의 본질)
1. We have data
2. A pattern exists therein
3. We cannot pin it down mathrmatically
입력공간 X=R^d
R^d는 d차원의 유클리드 공간을 의미하며, 각 입력 벡터는 x={x1, x2, …, xd}로 구성된다.
출력공간 Y
출력은 {+1, -1}로 이루어진 이진 결정을 통해 표현된다.
학습 알고리즘의 구성
학습 알고리즘 A
가설집합 H: 알고리즘이 선택할 수 있는 가능한 모든 모델의 집합. 데이터 D에 잘 맞는 모델, 특히 선형 함수를 선택한다.
이러한 설정을 통해, 학습 알고리즘 A는 데이터를 사용하여 가설 함수 g를 생성하고, 이 함수는 실제 함수 f를 가능한 한 근접하게 근사화하려고 한다.
퍼셉트론: 간단한 학습 모델
퍼셉트론은 입력 벡터에 가중치를 곱한 후 바이어스를 더해 계산된 값이 특정 임계값을 넘으면 +1, 넘지 않으면 -1로 결정하는 간단한 선형 분류기이다. 이 모델은 결정 경계, 즉 w1x1 + x2x2 + b = 0 형태의 선형 방정식을 사용하여 데이터를 분류한다. 일반적으로 바이어스는 가중치 w0으로 취급되며, w0=1로 설정하여 결정 경계의 위치를 조정한다.
퍼셉트론 학습 알고리즘
퍼셉트론 학습 알고리즘은 데이터가 선형적으로 분리 가능하다고 가정하며, 반복적으로 잘못 분류된 데이터 포인트를 찾아 가중치를 조정한다. 이 과정은 데이터가 더 이상 잘못 분류되지 않을 때까지 계속된다. 만약 데이터가 선형적으로 분리 불가능할 경우, 퍼셉트론은 수렴하지 못할 수 있으며, 이런 경우 다른 학습 알고리즘이 필요하다.
Types of Learning
- 지도 학습 (Supervised Learning)
입력과 해당하는 정답(레이블)이 제공되며, 주로 분류와 회귀 문제에 사용된다.
- 비지도 학습 (Unsupervised Learning)
학습 레이블 없이 데이터에서 패턴과 구조를 찾는 데 중점을 둔다. 이는 분류하기 어려운 복잡한 작업에 적합하다.
- 강화 학습 (Reinforcement Learning)
결과에 대한 보상을 사용하여 어떤 행동이 얼마나 좋은지 평가한다. 훈련 데이터에 명확한 정답이 포함되지 않는 상황에서 최적의 행동을 배울 때 유용하다.
학습의 가능성과 데이터의 한계
- how could a limited data set reveal?
- enough information to determine the entire f ?
기계 학습에서 중요한 질문 중 하나는 한정된 데이터 세트가 얼마나 많은 정보를 제공할 수 있는지이다. 이는 알고리즘 A나 가설 공간 H를 사용할 때, 학습 데이터 D를 넘어서는 성능을 보장할 수 없다는 문제와 연결된다. 모델이 학습 데이터에 잘 맞을 수 있지만, 새롭고 보지 못한 데이터에서도 잘 작동할지는 확신할 수 없다. 이러한 문제를 일반화라고 하며, 기계 학습의 큰 도전 중 하나다.
호에프딩 부등식과 학습의 통계적 기반 (Hoeffding lnequality)
학습의 실현 가능성을 수학적으로 접근하기 위해 호에프딩 부등식이 자주 사용된다. 이 부등식은 표본 평균이 모집단의 실제 평균과 얼마나 차이 날 수 있는지를 확률적으로 평가한다. 가설의 오류율 μ에 대한 추정치 μ^는 가설이 전체 데이터 세트 X에서 얼마나 잘 수행하는지를 알려주며, 이 추정치가 실제 오류율 μ에 가까울수록 가설이 잘 일반화되고 있다고 볼 수 있다.
학습 목표와 오류율 (Ultimate goal of learning)
학습의 궁극적 목표는 외부 샘플 오류율(Eout)이 0에 가깝게 하여 학습된 함수 g가 실제 함수 f를 잘 반영하도록 하는 것이다. 우리가 직접 측정할 수 있는 것은 훈련 데이터에 대한 오류율(Ein) 뿐이며, 이를 통해 Eout에 대한 추정을 할 수 있다.
가설 집합의 복잡성과 학습 문제 (Complexity of hypothesis set H)
가설 집합 H의 복잡성은 모델의 용량을 나타내며, 이는 가능한 가설의 수에 의해 결정된다. H가 복잡할수록 데이터에 잘 맞출 수 있는 유연성이 증가하지만, 너무 복잡하면 학습 데이터에서의 오류 Ein(g)가 일반화 오류 Eout(g)의 좋은 추정치가 되지 못할 위험이 있다. 이는 과적합으로 이어질 수 있다. 반면에 H가 너무 단순하면, Ein(g)을 0에 가깝게 만드는 것이 어려워지며, 이는 과소적합 문제로 이어진다.
모델 복잡성과 성능의 균형
복잡한 함수는 간단한 함수보다 학습하기 어렵지만, Hoeffding 부등식은 Ein과 Eout의 차이에 대한 확률적 상한을 제공하여, 함수의 복잡성과 독립적으로 일반화 성능을 평가할 수 있다. 모델이 복잡해지면 Ein은 감소하지만, Eout과 Ein의 차이도 증가하여 모델이 실제로 새로운 데이터에 대해 잘 일반화하지 못할 수 있다는 의미이다.
'전공 > 기계학습과인공지능' 카테고리의 다른 글
[Machine Learning and Artificial Intelligence] ANN과 MLP(Multi-layer perceptron) (1) | 2024.06.15 |
---|