AI/Machine Learning

    [ML] 핸즈온 머신러닝 - 10장(하이퍼파라미터 튜닝)

    🤔하이퍼파라미터 튜닝 신경망은 유연한 만큼 조정해야할 하이퍼파라미터가 매우 많습니다. 복잡한 네트워크 구조에서뿐만 아니라 간단한 다층 퍼셉트론에서도 층의 개수, 층마다 있는 뉴런의 개수, 각 층에서 사용하는 활성화함수, 가중치 초기화 전략 등 많은 것을 알 수 있습니다. 하지만 중요한 것은 어떤 하이퍼파라미터 조합이 가장 최적인지 알아야 한다는 것입니다. 그중 한 가지 방법은 다양한 하이퍼파라미터를 실제로 조합하여 시도해보고 Validation에서 좋은 점수를 내는 지 확인하는 방법입니다. 이에 대해 알아보도록 하겠습니다. 🔎 Validation 이용하기 GridSearchCV 또는 RandomizedSearchCV를 사용하여 하이퍼파라미터 공간을 탐색할 수 있습니다. 이때 CV는 Cross Valida..

    [ML] 핸즈온 머신러닝 - 10(하위 클래스 API로 동적 모델 만들기)

    🔎 하위클래스(Subclassing) API로 동적 모델 만들기 반복문을 포함하고 다양한 크기를 다루어야 하며 조건문을 가지는 등 여러가지 동적인 구조를 필요로 하는 경우 명령형 프로그램이 스타일인 서브클래싱 API를 통해 모델을 만들어야 합니다. 구성 Model 클래스 상속 - 초기 설정 메서드 __init__()을 이용하여 은닉층과 출력층을 설정합니다. - call()메소드를 이용하여 층을 동적으로 구성이 가능합니다. 단점 하지만 모델 구조가 call()메서드 안에 숨겨져 있어서 케라스가 분석하기가 어렵습니다. 즉, 모델 저장 및 복사가 불가능합니다. 또한 summary() 메서드 활용이 제한됩니다. 층의 목록만 확인이 가능하며 층간의 연결 정보를 알 수 없습니다. 케라스가 타입과 크기를 미리 확인할..

    [ML] 핸즈온 머신러닝 - 10장(다양한 모델 만들기)

    🔎 다양한 모델 만들기 P. 384 - 와이드 & 딥(Wide & Deep)신경망 입력의 일부 또는 전체가 출력층에 바로 연결됩니다. 이 구조를 사용하면 신경망이 복잡한 패턴과 간단한 패턴을 모두 학습할 수 있습니다. 데이터에 있는 간단한 패턴이 연속된 변환으로 인해 왜곡될 수 있는 단점을 커버할 수 있습니다. P. 385, 386 - 다중 입력 사용 일부 특성은 짧은 경로로 전달하고 다른 특성들은 깊은 경로로 전달하고 싶을 때 사용할 수 있는 방법입니다. P. 387 - 다중 출력이 필요한 경우 예를 들어 그림에 있는 주요 물체를 '분류'하고, '위치'를 알아야 할 때 독립적인 여러 작업이 필요합니다.

    [ML] Neural Network(6) - 역전파(Backpropagation)(2)

    🤔 Neural Network 인공신경망(人工神經網, 영어: artificial neural network, ANN)은 기계학습과 인지과학에서 생물학의 신경망(동물의 중추신경계중 특히 뇌)에서 영감을 얻은 통계학적 학습 알고리즘입니다. 인공신경망은 시냅스의 결합으로 네트워크를 형성한 인공 뉴런(노드)이 학습을 통해 시냅스의 결합 세기를 변화시켜, 문제 해결 능력을 가지는 모델 전반을 가리킵니다. 이번 포스팅에서는 역전파에 대해 알아보겠습니다. 🔎 손실함수(Loss Function) 실제로 많이 사용되는 손실 함수에 대해 알아보겠습니다 Cross Entropy Loss Function, Softmax(multi class에서 output node의 activaition func), Sigmoid(hidde..

    [ML] Neural Network(5) - 역전파(Backpropagation)(1)

    🤔 Neural Network 인공신경망(人工神經網, 영어: artificial neural network, ANN)은 기계학습과 인지과학에서 생물학의 신경망(동물의 중추신경계중 특히 뇌)에서 영감을 얻은 통계학적 학습 알고리즘입니다. 인공신경망은 시냅스의 결합으로 네트워크를 형성한 인공 뉴런(노드)이 학습을 통해 시냅스의 결합 세기를 변화시켜, 문제 해결 능력을 가지는 모델 전반을 가리킵니다. 이번 포스팅에서는 역전파에 대해 알아보겠습니다. 🔎 역전파(Backpropagation) 1957년에 perceptron이 나오고 1969년에 MLP가 나왔음에도 불구하고 1986년까지 가중치를 구하는 방법을 구하지 못했습니다. 이것을 해결하게 된 알고리즘이 역전파 알고리즘입니다. 역전파 알고리즘은 오류역전파 알..