목록Machine Learning (19)
운동하는 공대생

1. Intro 이제는 머신러닝에서 넘어와서 딥러닝에 대하여 정리를 해보겠다. 딥러닝 분야에서의 기본이 되는 개념은 뉴런이다. 뉴런은 사람의 뇌에 존재하는 뉴런을 모방한 기술로서 전기적인 신호를 가지고 뉴런끼리의 정보 전달의 역할을 모방했다. 그래서 Artificial neurons은 input을 받아들이고 output에서는 다음 뉴런으로 그 신호를 보낼지 말지를 결정한다. 이런 뉴런들을 모아서 모델을 구성한것을 Perceptron이라고 칭하며 Perceptron 여러 Layer를 구성하게 되고 다양한 방식으로 변형되면서 지금의 딥러닝의 모델들이 탄생했다. 2. Perceptron Perceptron의 기본적인 구조는 위에 있는 그림과 같습니다. 먼저 input으로 vector형식의 데이터가 들어온다면 ..

1. Bias-Variance Tradeoff Bias-Variance 문제를 이야기하기에 앞서 먼저 Underfitting, Overfitting 에 대하여 이야기를 먼저 해보겠다. 그림에서 보이는 것처럼 Overfitting 은 데이터를 설명하는 모델이 너무 데이터 편향적으로 학습을 진행하면서 발생하며 훈련 과정에서는 Loss 가 적지만 Test 하면서 모델의 성능이 떨어지는 문제가 발생합니다. Underfitting 은 데이터를 설명하는 모델이 충분히 데이터를 설명하지 못하며 보통 훈련하는 데이터의 양이 적거나 모델이 단순하면 발생합니다. 수학적 해석 Expected Loss 정답을 나타내는 y 값에서 모델이 예측하는 값의 차이로 계산이 된다. 여기서 식을 전개를 해본다면 결국에는 Variance,..

1. Logistic Regression Linear Regression 모델을 이제까지는 알아봤는데 여기서 Regression이라는 태스크는 연속적인 데이터를 예측하는 문제이고 Classifiction이라는 태스크로 넘어가면서 이제는 더 이상 연속적인 값을 예측하는 문제가 아닌 카테고리를 분류하는 문제로 바뀐다. 여기서 이제 일반적인 Linear 모델의 구성 방식으로는 Classification 문제를 해결하기란 쉽지 않다. 왜냐하면 Classification 문제로 넘어가면서 결괏값이 0, 1 같은 이런 값으로 떨어지게 되는데 Linear모델을 활용하면 카테고리를 분류하기가 쉽지 않다. 이로 인하여 Classification 문제를 푸는 문제에서 처음으로 제시되는 방법이 Sigmoid 함수를 활용한 ..

1. How to Update the Parameter 이전까지 모델의 Error를 구하고 모델이 가지고 있는 변수들의 의미를 알아보았다. 하지만 여기서 이제는 그럼 파라미터를 업데이트하는 학습의 과정은 어떻게 이루어지는지를 설명을 해보도록 하겠다. 예시를 들어 설명을 하자면 위와 같은 데이터가 있다고 가정해보자. 그리고 h(x)라는 basis 모델이 있다고 가정을 해보겠다. 여기서 파라미터의 값을 gradient descent 방식으로 업데이트를 한다고 가정하면 파라미터 값을 임의의 값으로 초기화를 시켜주고 데이터를 대입하여 error를 계산하고 그 값을 통해서 파라미터를 업데이트하는 방식으로 적용이 된다. 위의 식에서 처럼 LSE 방식을 활용하여서 전체 데이터와 정답인 y값의 차이를 활용하여서 err..

이번 이론 정리는 혼자 머신러닝 이론에 대한 총정리를 하기 위해서 작성하였습니다. 1. Introduction Traditional Programming vs Machine Learning 기본적으로 우리가 알고 있는 프로그래밍은 프로그램을 개발하는 개발자가 프로그램에 대한 룰을 정하여 일정 데이터와 프로그램을 이용하여 결과를 도출하는 방식을 말한다. 하지만 머신러닝은 개발자가 데이터를 기반으로 데이터에 대한 패턴을 학습하여서 새로운 데이터가 입력되었을 때 결과를 도출하는 방식으로 이루어진다. 이런 머신러닝에서 데이터를 설명하는 학습 방식에는 두가지가 존재한다. Supervised Learning vs Unsupervised Learning Supervised Learning 은 한국어로 지도학습 이라고..

0. Intro 데이터는 보통 여러 차원(High-dimensional)으로 구성이 되어 있다. 이런 여러 고차원 데이터는 데이터를 분석하는 과정에서 시각화를 하거나 데이터에 대한 분석을 진행하기에 어려움이 존재한다. 그래서 이런 고차원의 데이터를 차원 축소 방식 PCA를 통해서 표현한다. 1. PCA PCA 의 추론 과정의 아이디어는 차원을 축소하는 axis 를 잡고 데이터와 axis 축의 projection을 구한다음 그 projection들의 값들의 분산이 최소가 되도록한다면 데이터들이 축소된 차원에서 분산이 가장 큰 특성을 가진 방향으로 축이 만들어진다는 아이디어이다. 더 자세하게 설명을 아래에서 해보겠다. 1.1 Maximum variance formulation PCA는 결국 차원을 축소하여..

1. What is Maximum Likelihood Estimation(MLE) MLE 의 정의는 확률밀도함수 P(x|θ) 에서 관측되는 표본 데이터 x 를 통해서 θ 를 추정하는 방식이다. 5개의 데이터가 있다고 가정을 해보자. x={1,4,5,6,9} 이중에서 데이터의 분포가 어떤 곡선이 더 데이터에 맞는 분포인지를 수학적으로 풀이한게 MLE 방식이라고 이야기한다. 2. Likelihood function 그렇다면 각 데이터의 분포를 측정하기 위해서 후보 분포들 중에서 데이터와 가장 맞는 분포인지를 수치적으로 환산하는 방식이 있어야 하는데 이것을 Likelihood funcion을 통해서 가능도를 수치화 한다. 식을 해석하자면 k 가 1 에서부터 n 까지 있다고 가정하면 이것의 데이터의 확률 밀도값..

1. Intro 이번에 새로운 프로젝트로 AutoML에 대한 인프라를 구축하는 프로젝트를 시작하게 되었습니다. 그래서 이번에 프로젝트를 들어가기 이전에 내용을 한번 정리하고 AutoML에 대하여 간단하게 설명하겠습니다. 2. What is AutoML AutoML은 "Automated Machine Learning"의 약어로, 기계 학습 모델을 자동으로 만들고 최적화하는 기술을 말합니다. 이 기술은 인공지능 모델을 개발하는 데 필요한 일련의 과정을 자동화하여, 개발자가 더 적은 노력으로 더 나은 결과물을 얻을 수 있도록 합니다. AutoML은 전통적인 기계 학습 모델 개발 방법의 몇 가지 한계를 극복할 수 있습니다. 기존에는 데이터 전처리, 특징 추출, 모델 선택 및 하이퍼파라미터 튜닝 등 다양한 작업을..