인공지능 (24) 썸네일형 리스트형 (7) 경사하강법 경사하강법(Gradient Descent)은 최적해를 찾는 최적화 알고리즘입니다. 경사하강법은 크게 배치 경사하강법, 미니배치 경사하강법, 확률적 경사하강법으로 나뉘어져 있습니다. 먼저 경사하강법의 큰 그림부터 살펴보도록 하겠습니다. 경사하강법은 비용함수(cost function)의 최저점을 찾는 알고리즘입니다. 모델을 경사하강법으로 학습시키기 위해 비용함수가 필요한 이유가 이 때문이죠. 1. 정의된 가중치로 비용함수를 사용하여 cost를 구합니다. 2. 각 가중치의 편도함수를 만들어 기울기를 구합니다. 3. 새로운 가중치는 현재 가중치 - 기울기로 구합니다. 이제 경사하강법을 세부적으로 알아보도록 하겠습니다. 모델의 비용함수를 Cost(W)로 정의했다고 해봅시다. 그레디언트 벡터는 다음과 같을 것입니다.. (6) 선형 회귀 선형 회귀 모델은 다음과 같은 형태로 모델을 학습합니다. w0, w1 .. wn 들을 원소로 하는 열벡터를 W로 하고, 특성들을 원소로 하는 열벡터를 X라고 한다면 다음과 같이 정리할 수 있습니다. 학습 방법은 다음 글에서 경사하강법을 소개하며 같이 설명하도록 하겠습니다. (5) ROC 곡선 ROC 곡선은 이진분류기(decision function을 이용한) 를 평가하기 위한 좋은 평가 방법입니다. TPR (True Positive Rate)와 FPR(False Positive Rate)를 사용하여 평가하는 방법입니다. TPR 은 재현율과 같은 의미입니다. FPR 은 FP의 비율입니다. x축은 FPR이고, y축은 TPR입니다. 임곗값을 줄여가면서 FPR과 TPR을 그래프로 표현한 것입니다. FPR을 적게하면서 TPR이 높은, 즉 왼쪽 모서리쪽에 있는 그래프를 그려내야 좋은 분류기라고 할 수 있습니다. ROC Curve를 정적분한 값으로 AUC가 존재하는데 AUC가 높을수록 좋은 분류기입니다. 문제를 해결하기 위한 적절한 평가방법을 활용하여 효율적인 모델을 선택하고 문제를 해결해나가는 것이 좋.. (4) 정밀도/재현율 분류기에는 여러가지 평가 방법이 존재합니다. 가장 대표적으로는 정확도로 평가하는 방법이 존재합니다. 하지만 항상 정확도로 평가하는 것이 좋은 평가방법이 되지는 않습니다. 다음과 같이 비율이 조금 편향된 데이터로 학습한다고 예를 들어보겠습니다. 암 검진 결과 10000개의 훈련사례가 주어진다고 해봅시다. 9500개는 음성이고, 500개가 양성이라면 분류기가 전부 음성이라고 판단했을 때에도 정확도가 95%입니다. 그렇기 때문에 우리는 다른 평가방법을 사용해야 하고, 정밀도와 재현율이라는 것이 존재합니다. 그 전에 먼저 알아야 하는 것들이 있습니다. 오차 행렬이라는 것인데, confusion matrix라고도 불려집니다. TP, TN, FP, FN 이렇게 네개의 용어를 알고 가야합니다. TP는 True Pos.. (3) 사례기반학습과 모델기반학습 머신러닝은 학습 방법에 따라 크게 두가지로 나눌 수 있습니다. 사례기반학습과 모델기반학습이 존재합니다. 사례기반학습은 주어진 input에 대해 학습한 데이터셋에서 유사도를 측정하고 label을 예측하는 방법을 얘기한다. 모델기반학습은 데이터셋에 대해 모델을 만들고, input을 모델로 예측하는 방법을 얘기한다. (2) 지도학습과 비지도학습 머신러닝은 데이터셋의 종류로 크게 두가지로 나눌 수 있습니다. 지도학습과 비지도학습입니다. 지도학습은 학습데이터에 레이블이 포함된 데이터셋으로 학습하는 방식이고, 비지도학습은 학습데이터에 레이블이 포함되지 않은 데이터셋으로 학습하는 방식입니다. 그 전 글에서의 사과 분류를 예로 들어보겠습니다. 사과 이미지의 픽셀 데이터와 함께 '사과' 또는 'apple'과 같은 레이블을 포함하여 모델을 학습시킨다면 지도학습을 하는 것입니다. 모델은 사과를 학습하고, 사과와 비슷한 특징을 가지고 있는 이미지를 본다면 '사과'라고 예측을 할 것입니다. 하지만 사과 이미지와 바나나 이미지를 데이터셋으로 사용하되, 레이블이 포함되어있지 않은 데이터셋으로 모델을 학습시킨다면 비지도 학습을 하는 것입니다. 사과 이미지와 바나나 이.. (1) 머신러닝이란? 인공지능 - 이론 카테고리에서는 머신러닝 딥러닝에 대한 기초적 이론들을 다루고 있습니다. 이번 글에서는 머신러닝에 대한 정의에 대해 정리하였습니다. 1. 머신러닝이란? - 데이터를 사용하여 자동으로 성능을 향상하는 알고리즘을 연구하는 학문입니다. 쉽게 설명하자면, 사과를 분류하는 문제가 있다고 생각해봅시다. 원시적인 프로그래밍 방법을 사용해 인간이 사과를 분류한다고 한다면 굉장히 복잡한 계산들을 통해 분류를 해낼 수 있을 것입니다. 만약 분류해야 하는 과일이 100개가 넘는다고 하면 알고리즘을 개발해야 하는 개발자는 매일 밤 야근에 시달릴 것입니다. (그렇게 해도 성공적인 분류 작업을 해낼 수 있을지는... ) 하지만 머신러닝은, 이 문제를 보다 유동적으로 해결해줍니다. 사과 이미지를 5000개 준비하고.. Backpropagation (오차역전파) 개념 이해 시작하기에 앞서 본 글은 www.youtube.com/watch?v=573EZkzfnZ0에서 참고하였음을 밝힙니다.이 글은 편미분을 알고 있다는 가정하에 설명된 글입니다. Backpropagation (오차 역전파)는 인공신경망에서 노드들의 가중치를 update 하기 위해 사용하는 알고리즘이다. 진행방향이 왼쪽에서 오른쪽 즉, input layer에서 output layer까지 도달하는 과정을 forward propagation (순전파)라고 한다. 그와 반대로 오른쪽에서 왼쪽, output layer에서 input layer로 오는 과정을 backpropagation 혹은 backward propagation (역전파)라고 한다. 여기서 오차 역전파는 당연히 output layer에서 input lay.. 이전 1 2 3 다음