SW/머신러닝

머신러닝 : feature learning : 개념

얇은생각 2019. 10. 8. 07:30
반응형

머신 러닝에서 기능 학습이란 무엇입니까?

기능 학습은 머신 러닝 작업을 수행하기 위해 적절한 데이터 표현을 찾을 수 있는 일련의 방법입니다. 다시 말해 기능 학습의 목표는 원시 데이터를 기계 학습 작업 (예 : 분류)에 더 적합한 표현으로 매핑하는 변환을 찾는 것입니다.

예를 통해 살펴 보겠습니다. 이를 위해 본질 상 특징 학습의 개념을 활용하는 신경망을 사용할 것입니다. 신경망에서 각 숨겨진 계층은 입력 데이터를 더 높은 수준의 추상화를 캡처하는 경향이 있는 내부 표현에 매핑합니다.

다음 데이터 세트를 분류한다고 가정합니다.

분류하려는 데이터 세트


입력을 조정하지 않고 선형 모델 (숨겨진 레이어가 없는 피드 포워드 신경망 등)을 사용하여 데이터를 분리 할 수 ​​없기 때문에 이 데이터 세트는 선형으로 분리 할 수 ​​없습니다. 예를 들어, 이 데이터 세트를 사용하여 숨겨진 계층없이 피드 포워드 신경망을 학습 할 때 다음 분류 경계를 얻습니다.

데이터 세트를 분류하기 위해 숨겨진 계층 없이 피드 포워드 신경망을 훈련 할 때 얻은 분류 경계 


여기에서 기능 학습이 차이를 만듭니다. 신경망은 숨겨진 계층을 통해 데이터의 내부 표현을 배울 수 있으므로 이것이 매우 강력합니다. 적절한 비선형 활성화 기능과 함께 숨겨진 레이어는 입력 데이터를 보다 추상적인 비선형 공간으로 매핑합니다.

데이터의 여러 연속적인 내부 표현을 학습함으로써 결과 잠재 기능이 선형으로 분리 될 수 있는 변환을 기대합니다. 이를 달성 한 후 네트워크 위에서 간단한 로지스틱 회귀 분석을 수행하면 정확한 분류를 수행하기에 충분합니다.

직선으로 한 클래스를 다른 클래스와 분리 할 수 ​​없습니다. 이제 투명 시트에 그림 1이 그려져 있다고 상상해보십시오. 데이터를 선형으로 분리 가능하게하려면 어떻게 할까요?

A = B에서 투명 시트를 접을 수 있습니다. 투명 시트에 한 클래스를 다른 클래스와 구분하는 직선을 그릴 수 있습니다.

이것이 바로 뉴럴 네트워크가 하는 일입니다. 예를 들어, 데이터 세트를 사용하여 하나의 숨겨진 레이어로 피드 포워드 신경망을 학습 할 때 다음과 같은 내부 데이터 표현을 학습합니다.

 

숨겨진 계층에서 데이터의 내부 표현 이것을 투명 시트의 평면도로 상상 가능하다. 이제 한 클래스를 다른 클래스와 분리하는 직선을 쉽게 그릴 수 있습니다. 


이 경우 분류 경계는 다음과 같습니다.

데이터 세트를 분류하기 위해 하나의 숨겨진 계층으로 피드 포워드 신경망을 훈련 할 때 얻은 분류 경계


마지막으로 신경망은 시트를 접는 것보다 훨씬 더 복잡한 변형을 배울 수 있다고 덧붙여야합니다. 또한 데이터 및 기능 학습의 내부 표현에 대한 직관을 제공 할 수 있기를 바랍니다.

반응형