머신러닝에서 선형 대수학의 10가지 예

선형 대수학은 벡터, 행렬 및 선형 변환과 관련된 수학의 하위 분야입니다.

알고리즘 작동을 설명하는 데 사용되는 표기법에서 코드의 알고리즘 구현에 이르기까지 머신러닝 분야의 핵심 기반입니다.

선형 대수학은 머신러닝 분야에 필수적이지만 긴밀한 관계는 종종 벡터 공간이나 특정 행렬 연산과 같은 추상적 개념을 사용하여 설명되지 않습니다.

이 게시물에서는 선형 대수학을 사용하는 머신러닝의 10가지 일반적인 예를 발견하게 될 것입니다.

이 게시물을 읽은 후 다음을 알게 될 것입니다.

  • 테이블 형식 데이터 세트 및 이미지와 같은 데이터로 작업할 때 선형 대수 구조를 사용합니다.
  • 데이터 준비 작업을 할 때의 선형 대수 개념(예: 하나의 핫 인코딩 및 차원 축소).
  • 선형 대수 표기법의 뿌리 깊은 사용과 딥 러닝, 자연어 처리 및 추천 시스템과 같은 하위 분야에서의 방법.

개요

이 게시물에서는 머신러닝에서 선형 대수학의 10가지 명확하고 구체적인 예를 검토할 것입니다.

나는 당신이 익숙하거나 이전에 작업한 적이 있는 예를 선택하려고 노력했습니다. 그것들은 다음과 같습니다.

  1. 데이터 집합 및 데이터 파일
  2. 이미지 및 사진
  3. 원 핫 인코딩
  4. 선형 회귀
  5. 조정
  6. 주성분 분석
  7. 특이값 분해
  8. 잠재 의미 체계 분석
  9. 추천 시스템
  10. 딥 러닝


1. 데이터 세트 및 데이터 파일

머신러닝에서는 데이터 세트에 모델을 피팅합니다.

이것은 각 행이 관측치를 나타내고 각 열이 관측치의 특징을 나타내는 표와 같은 숫자 집합입니다.

예를 들어 다음은 붓꽃 데이터 세트의 일부입니다.

이 데이터는 행렬입니다 : 선형 대수학의 핵심 데이터 구조입니다.

또한 측정값 및 꽃 종과 같은 감독되는 머신러닝 모델에 맞게 데이터를 입력 및 출력으로 분할하면 행렬(X)과 벡터(y)가 있습니다. 벡터는 선형 대수학의 또 다른 핵심 데이터 구조입니다.

각 행의 길이, 즉 열 수가 동일하므로 행이 한 번에 하나씩 또는 배치로 모델에 제공될 수 있는 데이터가 벡터화되고 고정 너비의 행을 기대하도록 모델을 미리 구성 할 수 있다고 말할 수 있습니다.

데이터 파일을 NumPy 배열로 로드하는 방법에 대한 도움말은 다음 자습서를 참조하십시오.


2. 이미지 및 사진

아마도 당신은 컴퓨터 비전 응용 프로그램에서 이미지 또는 사진 작업에 더 익숙할 것입니다.

작업하는 각 이미지 자체는 너비와 높이, 흑백 이미지의 경우 각 셀에 하나의 픽셀 값, 컬러 이미지의 경우 각 셀에 3개의 픽셀 값이 있는 테이블 구조입니다.

사진은 선형 대수학의 행렬의 또 다른 예입니다.

자르기, 크기 조정, 기울이기 등과 같은 이미지에 대한 연산은 모두 선형 대수의 표기법과 연산을 사용하여 설명됩니다.

이미지를 NumPy 배열로 로드하는 방법에 대한 도움말은 자습서를 참조하십시오.


3. 하나의 핫 인코딩

머신러닝에서 범주형 데이터로 작업하는 경우도 있습니다.

분류 문제에 대한 클래스 레이블 또는 범주형 입력 변수일 수 있습니다.

범주형 변수를 인코딩하여 일부 기술을 통해 더 쉽게 작업하고 배울 수 있도록 하는 것이 일반적입니다. 범주형 변수에 널리 사용되는 인코딩은 핫 인코딩입니다.

하나의 핫 인코딩은 각 범주에 대해 하나의 열과 데이터 집합의 각 예제에 대한 행이 있는 변수를 나타내는 테이블을 만드는 것입니다. 검사 또는 하나의 값이 지정된 행의 범주형 값에 대한 열에 추가되고 0 값이 다른 모든 열에 추가됩니다.

예를 들어, 3개의 행이 있는 color 변수는 다음과 같습니다.

다음과 같이 인코딩 될 수 있습니다.

각 행은 이진 벡터, 0 또는 1 값을 가진 벡터로 인코딩되며 이것은 선형 대수학의 전체 하위 필드인 희소 표현의 예입니다.

하나의 핫 인코딩에 대한 자세한 내용은 자습서를 참조하십시오.


4. 선형 회귀

선형 회귀는 변수 간의 관계를 설명하기 위한 통계의 오래된 방법입니다.

간단한 회귀 문제에서 숫자 값을 예측하기 위해 머신러닝에서 자주 사용됩니다.

선형 회귀 문제를 설명하고 해결하는 방법에는 여러 가지가 있습니다., 즉, 각 입력 변수를 곱하고 함께 더하면 출력 변수를 가장 잘 예측할 수 있는 계수 집합을 찾는 것입니다.

머신러닝 도구 또는 라이브러리를 사용한 경우 선형 회귀를 해결하는 가장 일반적인 방법은 LU 분해 또는 특이값 분해 또는 SVD와 같은 선형 회귀의 행렬 인수 분해 방법을 사용하여 해결되는 최소 제곱 최적화를 사용하는 것입니다.

선형 회귀 방정식을 요약하는 일반적인 방법조차도 선형 대수 표기법을 사용합니다.

여기서 y는 출력 변수 A는 데이터 집합이고 b는 모델 계수입니다.

선형 대수 관점에서 선형 회귀에 대한 자세한 내용은 자습서를 참조하십시오.


5. 정규화

응용 머신러닝에서 우리는 종종 문제에 대한 최상의 기술을 달성하는 가장 간단한 모델을 찾습니다.

더 단순한 모델은 종종 특정 예제에서 보이지 않는 데이터로 일반화하는 데 더 좋습니다.

회귀 방법 및 인공 신경망과 같이 계수를 포함하는 많은 방법에서 더 간단한 모델은 종종 계수 값이 더 작은 모델로 특징 지어집니다.

모델이 데이터에 적합되는 동안 계수의 크기를 최소화하도록 권장하는 데 자주 사용되는 기술을 정규화라고 합니다. 일반적인 구현에는 L2 및 L1 형식의 정규화가 포함됩니다.

이 두 가지 형태의 정규화는 실제로 벡터로서의 계수의 크기 또는 길이의 척도이며 벡터 정규화라고 하는 선형 대수학의 방법입니다.

벡터 정규화에 대한 자세한 내용은 자습서를 참조하십시오.


6. 주성분 분석

데이터 집합에는 수십, 수백, 수천 개 또는 그 이상의 열이 있는 경우가 많습니다.

많은 기능이 있는 데이터를 모델링하는 것은 어려운 일이며, 관련 없는 기능을 포함하는 데이터로 작성된 모델은 가장 관련성이 높은 데이터에서 학습된 모델보다 숙련도가 떨어지는 경우가 많습니다.

데이터의 어떤 기능이 관련성이 있고 어떤 기능이 관련이 없는지 알기가 어렵습니다.

데이터 세트의 열 수를 자동으로 줄이는 방법을 차원 축소라고 하며, 아마도 가장 많이 사용되는 방법은 주성분 분석 또는 줄여서 PCA라고 합니다.

이 메서드는 머신러닝에서 시각화 및 학습 모델 모두에 대한 고차원 데이터의 프로젝션을 만드는 데 사용됩니다.

PCA 방법의 핵심은 선형 대수학의 행렬 인수 분해 방법입니다. 고유 분해를 사용할 수 있으며 보다 강력한 구현은 특이값분해 또는 SVD를 사용할 수 있습니다.

주성분 분석에 대한 자세한 내용은 다음 자습서를 참조하십시오.


7. 특이값 분해

또 다른 인기 있는 차원 축소 방법은 특이값 분해 방법 또는 줄여서 SVD입니다.

언급했듯이 방법의 이름에서 알 수 있듯이 선형 대수학 분야의 행렬 인수 분해 방법입니다.

선형 대수학에서 널리 사용되며 기능 선택, 시각화, 노이즈 감소 등과 같은 응용 프로그램에서 직접 사용할 수 있습니다.

머신러닝에서 SVD를 사용하는 두 가지 사례를 아래에서 더 볼 수 있습니다.

특이값 분해에 대한 자세한 내용은 다음 자습서를 참조하세요.


8. 잠재 의미 분석

자연어 처리라고 하는 텍스트 데이터 작업을 위한 머신러닝의 하위 분야에서는 문서를 단어 발생의 큰 행렬로 표현하는 것이 일반적입니다.

예를 들어, 행렬의 열은 어휘 내의 알려진 단어일 수 있고, 행은 문장, 단락, 페이지 또는 텍스트의 문서일 수 있으며, 행렬 내의 셀은 단어가 발생한 횟수의 횟수 또는 빈도로 표시되어 있습니다.

이것은 텍스트의 희소 행렬 표현입니다. 특이값 분해와 같은 행렬 인수 분해 방법은이 희소 행렬에 적용될 수 있으며, 이는 표현을 가장 관련성이 높은 본질로 증류하는 효과가 있습니다. 이러한 방식으로 처리된 문서는 비교, 쿼리 및 감독 머신러닝 모델의 기반으로 사용하기가 훨씬 쉽습니다.

이러한 형태의 데이터 준비를 잠재 의미 분석 또는 줄여서 LSA라고하며 잠재 의미론적 인덱싱 (LSI)이라는 이름으로도 알려져 있습니다.


9. 추천 시스템

제품 추천과 관련된 예측 모델링 문제를 머신러닝의 하위 분야인 추천 시스템이라고 합니다.

예를 들어 아마존에서 셀러와 같은 고객의 이전 구매 및 구매를 기반으로 책을 추천하고, Netflix에서 귀하와 같은 구독자의 시청 기록 및 시청 기록을 기반으로 시청할 영화 및 TV 프로그램을 추천하는 경우가 있습니다.

추천 시스템의 개발은 주로 선형 대수 방법과 관련이 있습니다. 간단한 예는 유클리드 거리 또는 내적과 같은 거리 측정값을 사용하여 희소 고객 행동 벡터 간의 유사성을 계산하는 것입니다.

특이값 분해와 같은 행렬 인수 분해 방법은 추천 시스템에서 쿼리, 검색 및 비교를 위해 항목 및 사용자 데이터를 본질로 추출하는 데 널리 사용됩니다.


10. 딥 러닝

인공 신경망은 뇌의 정보 처리 요소에서 영감을 얻은 비선형 머신러닝 알고리즘이며 예측 모델링을 비롯한 다양한 문제에서 효과적인 것으로 입증되었습니다.

딥 러닝은 매우 큰 데이터 세트에서 더 크고 더 깊은(더 많은 계층) 네트워크를 개발하고 훈련할 수 있는 새로운 방법과 더 빠른 하드웨어를 갖춘 인공 신경망의 최근 사용이 부활한 것입니다. 딥 러닝 방법은 기계 번역, 사진 캡션, 음성 인식 등과 같은 다양한 까다로운 문제에 대해 일상적으로 최첨단 결과를 달성하고 있습니다.

신경망의 핵심은 선형 대수 데이터 구조를 곱하고 함께 더하는 것입니다. 여러 차원으로 확장된 딥러닝 방법은 벡터, 행렬, 심지어 입력값과 계수의 텐서와도 함께 작동하며, 여기서 텐서는 2차원 이상의 행렬입니다.

선형 대수학은 이름에 “tensor”라는 단어가 있는 Google의 TensorFlow Python 라이브러리와 같은 딥 러닝 방법의 구현에 대한 행렬 표기법을 통한 딥 러닝 방법의 설명의 핵심입니다.

텐서에 대한 자세한 내용은 다음 자습서를 참조하세요.



요약

이 게시물에서는 머신러닝의 10가지 일반적인 예를 발견했는데, 이 예에는 해당 사용에 익숙하고 선형 대수학이 필요할 수 있습니다.

특히 다음 내용을 배웠습니다.

  • 테이블 형식 데이터 세트 및 이미지와 같은 데이터로 작업할 때 선형 대수 구조를 사용합니다.
  • 선형 대수학 개념은 원 핫 인코딩 및 차원 축소와 같은 데이터 준비로 작업 할 때입니다.
  • 선형 대수 표기법의 뿌리 깊은 사용과 딥 러닝, 자연어 처리 및 추천 시스템과 같은 하위 분야에서의 방법.

네피리티
No Comments

Sorry, the comment form is closed at this time.