인공지능 #AI #Artificial Intelligence 11

Train data | Test data | Validation data 차이

평가 데이터(Test data)의 필요성 기계도 사람이 학습과정을 거쳐 능력이 향상되듯이, 반드시 훈련(Training) 과정을 거쳐 성능을 쌓아 올린 후, 그것을 평가하는 단계로 모델 완성을 해줘야 한다. Train set 와 Test set이 필요한 이유가 여기에 있다. '학습/훈련 ⇒ 평가' 는 필수적이다. 위 데이터셋은 여러 증상에 따른 코로나 감염여부에 관한 것이다. 우리는 사람들의 증상에 따라 코로나 감염 여부를 예측하는 모델을 만들고 싶은 거니 맨 오른쪽 초록부분이 우리가 알고 싶은(예측하고 싶은) 목표가 된다. 이 목표에 영향을 미치는 기침, 발열 등의 특징들은 피처(feature)다. 위 데이터는 해당 증상을 가지고 있으면 1, 없으면 0으로 표기하고 있으며 코로나 양성여부의 경우 양성일..

과대적합(Overfitting)과 과소적합(Underfitting)

과소적합(Underfitting) 모델이 너무 단순해서(충분히 복잡하지가 않아서) 데이터의 내재된 구조/패턴을 학습하지 못할 때 발생한다.머신에게 공을 학습시켜야 한다고 가정해보자. 먼저 축구공, 야구공, 농구공 들의 데이터를 보여주면서 "이런 동그란게 공이야" 라고 가르치게 될 것이다.  이렇게 학습이 될 경우, 테스트 과정에서(새로운 데이터) 사과같이 동근 과일이나 보름달도 공으로 예측할 수 있지만, 학습 때 보여주지 않은 다른 수많은 동근 공(테니스공, 배구공, 골프공 등)들도 어쨌든 동그라니 공으로 맞게 예측하게 되는 것이다. 예측 곡선이 학습데이터를 제대로 학습하지 못해, 패턴을 반영하지도 못하니 훈련 데이터에서도 오차가 크고, 동근 애들은 공이 아닐지라도 공이라 예측해버리니 테스트 데이터에서의..

배치 사이즈(batch size) | 에포크(epoch) | 반복(iteration) 차이

기계는 다음과 같은 과정을 통해 학습한다.1. 임의의 파라미터(가중치($w$))를 정한다.2. 이 가중치에 대한 손실값을 구하고 손실 함수(Loss function)의 기울기(Gradient)를 구한다.3. 경사하강법(Gradient Descent)을 이용해 파라미터를 업데이트 한다.4. 업데이트 된 지점에서 새 손실 함수의 기울기를 구한다.5. 3번 다시 실시6. 파라미터가 최적값에 도달하면 파라미터 업데이트를 중지한다.    학습 과정에서의 문제보통 기계를 학습 시킬 때 사용하는 데이터의 양은 매우 많으며 이렇게 많은 데이터를 모두 한꺼번에 모델에 태우게 되면, 컴퓨터가 버티질 못한다. 데이터 크기가 너무 크면 메모리가 부족해진다.한번의 학습에 계산되어야할 파리미터 수가 지나치게 많아져 학습 속도가 ..

손실함수(Loss function)

위와 같은 데이터가 있다고 해보자.  각 학생의 공부시간과 성적이 적히 데이터인데, 공부시간에 따른 성적을 예측하는 데이터다.  모델을 정의하기 앞서 y 라는 정답지의 유형이 범주형인지 실수형인지를 따져봐야한다. 위의 예시는 실수형태이니 풀어야 하는 문제가 회귀(Regression) 문제라고 인식할 수 있어야 한다.  회귀문제를 푼다고 정의를 했으니 이제 모델을 정의해야한다. 예시 데이터에서는 피처가 하나뿐이니 단순 선형 회귀 모델에 해당한다. $y = wx + b$ 머신러닝/딥런닝은 가장 정확히 예측할 수 있는, 최적의 매개변숫값을 찾는 작업이다. 모델을 정의했으니 이제 남은 건, 어떻게, 어떤 방법을 이용해 최적의(optimal) 매개변수 값을 찾을지다. (optimal : 데이터를 가장 잘 표현하는..

최적화와 경사하강법(Gradient Descent)

'머신러닝은 최적화 과정이다' 라고 얘기할 정도로 머신러닝은 최적화(Optimization)를 굉장히 많이 사용한다.고등학교 수학수업에서 배웠듯이, 최적화 문제에는 주로 미분을 사용하여 푼다. (미분을 통해 최소점과 최대점을 구할 수 있으니) 머신러닝과 딥러닝에서 최적화란 손실 함수(Loss Function)의 값을 최소화하는 파라미터를 구하는 과정이다. [손실함수란 예측값과 실제값의 차이를 비교하는 함수다]  해당 표는 6월 성적과 9월 성적을 토대로 수능 성적을 예측하는 문제에 대한 머신 러닝 모델의 예측값$(y ̂)$과 실제값$(y)$을 나타낸다. 6월 성적과 9월 성적 각각이 가지는 가중치는 동일하게 0.5 로 두었다. 이렇게 두 개의 파라미터의 값이 0.5 일시의 오차가 큰데, 이런 오차를 최소..

다층 퍼셉트론(MLP: Multi Layer Perceptron)과 활성화 함수(Activation function)

저번에 퍼셉트론에 대해서 설명했었다. 위처럼 은닉층이 없는, 훈련 데이터를 받아들이는 입력층(Input layer)과 결과를 도출하는 출력층(Output layer), 이렇게 두가지의 층으로만 이루어져있는 퍼셉트론을 단층 퍼셉트론이라고 한다. XOR 문제를 예시로, 단층퍼셉트론은 선형으로 분리가 가능하지 않은 상황은 처리가 불가능했다. XOR 문제와 같은 선형분리가 불가능한 상황을 층을 더한 다층 퍼셉트론을 이용하여 해결할 수 있게 되었다. 퍼셉트론에 대한 설명은 아내 링크를 참조해주세요. 인공신경망(ANN: Artificial Neural Network)과 퍼셉트론(Perceptrons)인간은 뇌를 통해 학습을 하니까, 기계에도 뇌와 비슷한 구조의 무언가를 만들어 주면 되지 않을까? 라는 질문을 토대로..

인공신경망(ANN: Artificial Neural Network)과 퍼셉트론(Perceptrons)

인간은 뇌를 통해 학습을 하니까, 기계에도 뇌와 비슷한 구조의 무언가를 만들어 주면 되지 않을까? 라는 질문을 토대로 만들어지게 된 것이 인공신경망이다.  그렇담, 먼저 우리 인간의 뇌는 어떻게 작동되는 것일까.  주름진 사람의 뇌에는 '뉴런(Neuron)'이라 하는 대략 1000억개의 신경세포가 존재한다.이 뉴런은 가장 작은 정보처리 단위로서 세포체와 수많은 가지들(수상돌기와 축삭들)로 이루어져 있다. 이 가지와 가지를 이어 신호를 주고받는 부위가 '시냅스(Synapse)'다. 시냅스에서는 전압이 일정 이상이 될 시, 신경 전달 물질을 분비하고 이것이 다음 신경세포에 전달되어 전기신호가 전해지는 것이다. 이렇듯, 인간의 뇌는 마치 전기회로와도 같아 인간의 지능이 컴퓨터로 실현되는게 가능하다고 보게 된 ..

인공신경망(Neural Network)

해당 내용은 유튜브 채널 '코딩애플'의 쉬운 딥러닝 강의를 정리한 글입니다.(⇓ 강의링크)https://www.youtube.com/watch?v=8oMwnXfVH14    해당 모델은 저번시간에 만든 머신러닝 모델이다.  (https://bruders.tistory.com/70?category=956446 )최적의 매개변수 값을 찾게 시키는게 머신러닝이라 하였다. 초기 단순한 형태의 모델에서 조금 더 복잡하고 정교하게 예측하기 위해서 중간에 층을 더 두면 되지 않을까? 라는 생각이 나온다. 생각이 나오게 된 계기는 "기계가 사람처럼 생각할 수 있으면 좋지 않을까?" 라는 가정이다.   그렇담 사람이 어떻게 생각하는지를 볼 필요가 있다.사람의 뇌에는 뉴런이라 불리는 굉장히 많은 신경세포가 존재한다. 각각..

Machine Learning 유형: 지도 | 비지도 | 강화 학습

가구나 프라모델을 조립해야한다고 가정해보자.이 때, 조립방식도 조립을 시작하게 되는 접근 방법도 다양할 것이다.  설명서가 있다면 설명서대로 따라서 조립하면 될 것이고, 이미 어떻게 조립하는지 스스로 알고 있다면 설명서 없이 조립하면 될 것이다. 하지만 설명서를 읽어도 도통 모르겠거나 알고있는 기본적인 조립방법 또한 알지 못하는 상태라면, 가구나 프라모델의 부품을 어떻게 조립하는지는 조립하는 사람에게 달려있다. 머신러닝도 마찬가지다.  연구하는 과제와 이용할 수 있는 데이터의 종류에 따라 이에 적합한 학습 모델을 사용해 알고리즘을 학습시키도록 한다. 여기서 알고리즘을 학습 시키는 방법은 위의 가구조립 예처럼 다양한 방식이 존재한다. 이 방식에는 크게 지도 방식에 따라 4가지 유형으로 나뉜다.   지도 학..

Machine Learning 기계 학습 개념

해당 내용은 책 Maschine Learning 기계학습 (한빛아카데미 | 오일석) 을 요약 및 정리한 글입니다. 머신러닝에 대해서 좀 더 깊이 알아보자. 기계 학습 개념 아래 예시를 통해 기계 학습의 개념을 알아보도록 하자. 아래 그래프에서 가로축은 시간이고 세로축은 물체의 이동한 위치다. 물론 다른 여러 상황이 될 수도 있고. 2초, 4초, 6초 점을 샘플링해 물체의 이동 위치를 측정한 결과, 3.0, 4.0, 5.0, 6.0 이렇게 4개의 값을 얻었다고 가정 시, 이때 임의의 시간에 대한 물체의 위치를 예측하는 문제를 풀어야 한다. 기계학습은 이러한 예측(Prediction) 문제를 푸는 것이며, 이 예측 문제는 회귀(Regression)와 분류(Classification)로 나뉜다. 위에 예시처럼..