프로그래밍 공부

프로그래밍 700

카테고리 설명
  • 소프트맥스 회귀 기법 소프트맥스 회귀는 n개의 레이블을 분류하기 위한 가장 기본적인 모델이다. 모델의 아웃풋에 Softmax함수를 적용해서 모델의 출력값이 각각의 레이블에 대한 확신의 정도를 출력하도록 만들어주는 기법이다. 구체적으로 SoftMax함수는 Normalization함수로써 출력값들의 합을 1로 만들어준다. Softmax함수는 아래 수식으로 표현된다. $ softmax(X)_{i} = \frac{exp(x_{i})}{\sum_{j}exp(x_{j})} $ SoftMax함수를 마지막에 씌우게 되면 모델의 출력값이 레이블에 대한 확률을 나타나게 된다.(출력값들의 합이 1이되므로) 예를들어 SoftMax함수를 적용하게 되면,인풋에 대하여 각각의 레이블 확률을 0.7 , 0.2, 0.1 로 확신하게 ..

  • 범주형 값(Categrical Value)을 이진화된 값 으로 바꿔서 표현하는것 을 말한다. 범주형 값은 예를 들어 "개", "고양이", "말" 이런 3가지 범주형 데이터가 있을 떄, 이를 개 = 1, 고양이 = 2 말 = 3 이라고 단순하게 integer Encoding으로 변환하여 표현한다.이에 반해 One-hot Encoding을 사용하면 범주형 데이터를 개 = [1 0 0], 고양이 = [0 1 0], 말 = [0 0 1] 형태로 해당 레이블을 나타내는 인덱스만 1의 값을 가지고 나머지 부분은 0의 값을 가진 Binary Value로 표현한다. 단순한 InregerEncoding의 문제점은 머신러닝 알고리즘의 정수 값으로부터 잘못된 경향성을 학습하게 될 수도 있다.예를들어, Integer Enco..

    알고리즘

    One-hot Encoding NEW

    2024.06.13
    댓글
  • 머신러닝 모델을 학습시키기 위해서는 데이터가 필요하다.하지만 데이터 학습에 적합한 형태로 정제하는 것은 많은 시간과 노력이 필요한 일이다. 따라서 많은 연구자가 학습하기 쉬운 형태로 데이터들을 미리 정제해서 웹상에 공개해놓았다. 그중에서 MNIST데이터셋은 머신러닝을 공부하는 사람들이 접하는 데이터셋으로 머신러닝의 기초 라고 볼 수 있다.

    알고리즘

    MNIST 데이터셋 NEW

    2024.06.13
    댓글 1
  • 크로스 엔트로피(Cross-Entropy)분류 문제에는 크로스 엔트로피(Cross-Entropy)손실 함수를 많이 사용한다. 크로스 엔트로피 손실 함수도 평균제곱오차(MSE)와 같이 모델의 예측값이 참값과 비슷하면 작은값, 참값과 다르면 큰 값을 갖는 형태의 함수로 아래와 같은 수식으로 나타낼 수 있다. $ H_{y'}(y) = -\sum_{i}y'_{i}log(y_{i}) $ 위 수식에서 y'는 참값 y는 모델의 예측값을 나타낸다.일반적으로 분류 문제에 대해서는 MSE보다 크로스 엔트로피 함수를 사용하는 것이 학습이 더 잘되는 것 으로 알려져 있다. 따라서 대부분의 텐서플로 코드들에서 크로스 엔트로피 손실 함수를 사용한다.

  • 머신러닝은 크게 트레이닝 과정과 테스트 과정으로 나뉜다. 트레이닝 과정에서는 대량의 데이터와 충분한 시간을 들여 모델의 최적 파라미터를 찾는다. 테스트 과정에서는 트레이닝 과정에서 구한 최적의 파라미터로 구성한 모델을 트레이닝 과정에서 보지 못한 새로운 데이터에 적용해서 모델이 잘 학습되었는지 테스트하거나 실제 문제를 풀기 위해 사용한다. 보통 모델이 잘 학습되었는지 체크할 때는 테스트 실제 문제를 푸는 과정을 추론 이라고 부른다. 이렇게 트레이닝과 테스트를 수행하기 위해 가지고있는 데이터 중 일부는 트레이닝 데이터, 일부는 테스트 데이터로 나눈다. 여기서 더 나아가서 전체 데이터를 트레이닝 데이터, 검증용 데이터, 테스트 데이터 로 나누기도 한다. 검증용 데이터는 트레이닝 과정에서 학습에 사용하지는 않..

  • 오버피팅(Overfitting)트레이닝 에러와 검증 에러가 모두 작아지지만, 일정 횟수 이상 반복할 경우 트레이닝 에러는 작아지지만, 검증 에러는 커지는 오버피팅에 빠지게 된다. 따라서 트레이닝 에러는 작아지지만, 검증 에러는 커지는 지점에서 업데이틀르 중지하면 최적의 파라미터를 얻을 수 있다. 학습 과정에서 머신러닝 알고리즘의 파라미터가 트레이닝 데이터에 과도하게 최적화되어 트레이닝 데이터에 대해서는 잘 동작하지만, 새로운 데이터 테스트 데이터에 대해서는 잘 동작하지 못하는 현상을 말한다. 오버피팅은 모델의 표현력이 지나치게 강력할경우 발생하기 쉽다. 딥러닝의 경우 모델의 표현력이 강하기 때문에 오버피팅에 빠지기 쉽다. 따라서 오버피팅 문제를 완화하기 위해 드롭아웃과 같은 다양한 기법을 사용한다. 언더..