이전 간단한 분류 알고리즘 훈련-part1에서는 선형 분류기 중 하나인 퍼셉트론과 가중치를 업데이트 하는 방식으로 학습 규칙에 대해서 알아보았고 이번에는 퍼셉트론의 향상된 버전인 적응형 선형 뉴런(아달린)에대해서 공부하겠습니다.
2.3 적응형 선형 뉴런과 학습의 수렴
적응형 선형 뉴런(ADAptiv Linear NEuron, ADALINE) 아달린
Bernard Widrow & Tedd Hoff가 적응형 선형결합기와 양자의 회로를 직렬로 접속한 것입니다.
초기 가중치와 입력값들의 선형결합에 대한 값은 동일하며 임계 함수를 이용하여 분류하는것은 동일합니다. 하지만 이전에 퍼셉트론은 값을 1과 -1 로 나누는 계단 함수를 사용하여 가중치를 업데이트하여 이진 분류하였다면 적응형 선형 뉴런은 선형 활성화 (역속형)함수로 비용함수를 정의하고 최소화합니다. 아달린은 선형 활설화 함수의 출력값과 실제 클래스 레이블을 직접 비교하여 오차를 계산하지만 퍼셉트론은 각 실제 클래스 레이블과 예측 클래스 레이블을 비교합니다. 이러한 점에서 실제 신경세포의 활동과 더 비슷합니다.
Widrow-Hoff(ADALINE) 규칙
2.3.1 경사 하강법으로 비용 함수 최소화
학습 과정 최적화를 위해 정의한 목적 함수(object function) : minimize cost function( 비용함수 최소화)
선형 활성화 함수에서 계산된 출력과 실제 클래스 레이블 간의 제곱 오차합(Sum of Squared errors, SSE) 최소화
미분 가능
볼록 함수-> 경사 하강법(Gradient Descent) : gradient 반대 방향으로 진행
배치 경사 하강법 ( BatchGradient Descent) : gradient 반대 방향으로 진행하여 모든 샘플을 기반으로 비용함수 최소화하는 가중치 업데이트
진행크기 : 경사의 기울기, 학습률
전역 최소값 도달
그림에서도 서로다른 활성화함수로 값 출력하고 에러 값에따라서 가중치 업데이트를 결정하게 됩니다. 여기
2.3.3 특성 스케일을 조정하여 경사 하강법 결과 향상
최적의 성능을 위해 조정하는것 (3,4장 )
표준화(Standardization):
데이터에 표준 정규 분포(평균 0 ,표준편차 1) 의 성징을 부여하여 경사 하강법 학습(이 더 빠르게 수렴(최적의솔루션 도달)되도록 함
학습률 0.01, 표준화하여 훈련하니 모델 수렴.
2.3.4 대규모 머신 러닝과 확률적 경사 하강법
배치 경사 하강법은 대규모 머신러닝에서 부적절: 전역 최소값 이르기 까지 매번 전체 훈련 데이터셋 다시 평가하여 계산 비용 고
확률적 경사 하강법(Stochastic gradient descent) or 반복/온라인 경사 하강법
누적된 오차의 합 기반으로 가중치 업데이트 하는대신 각 훈련 샘플에 대해서 조금씩 가중치 업데이트, 빠른 수렴
평균비용 빠르게 감소하고 15번 에포크 이후 배치 경사하강법과 거의 비슷
2.4 요약
퍼셉트론 & 적응형 선형 뉴런을 벡터화된 경사하강법 방식으로 효율적으로 훈련을 예로 선형 분류기 개념을 익힌 후 파이썬으로 간단히 구현
-퍼셉트론 & 아달린 알고리즘 구현에 사용한 객체지향 방식이 다음 3장에서의 사이킷런 API 이해에 도움됨( 로지스틱 회귀, 비선형 결정 경계를 위한 SVM, 앙상블 분류기에 널리사용되는 트리 기반 알고리즘
다음 3장의 로지스틱 회귀, 서포트 벡터 머신 등의 분류 문제 이해에 도움이 됨
Reference
[Data Science/ML] - 머신러닝 교과서 with 파이썬, 사이킷런, 텐서플로 목차
'Data > ML' 카테고리의 다른 글
5.차원축소를 이용한 데이터 압축 (0) | 2021.06.13 |
---|---|
4. 데이터 전처리 (0) | 2021.06.12 |
3.사이킷런을 타고 떠나는 머신 러닝 분류 모델 투어 (0) | 2021.06.11 |
머신러닝 교과서 with 파이썬, 사이킷런, 텐서플로 목차 (0) | 2021.06.08 |
1. 컴퓨터는 데이터에서 배운다. (0) | 2021.06.07 |