목록Anaconda/MachineLearning (12)
Practice makes perfect

k-최근접 이웃(k-Nearest Neighbor, kNN) : 특정 공간 내에서 입력과 제일 근접한 k개의 요소를 찾아, 더 많이 일치하는 것으로 분류 하는 알고리즘 입니다. k - 최근접 이웃 특징 ① 데이터 분류에 사용되는 아주 간단한 지도학습 알고리즘 - 지도학습 : 머신러닝 학습 시 데이터와 함께 데이터에 대한 레이블(정답)을 함께 부여하는 학습 방식. - 데이터 분류 : 새로운 데이터를 기존 데이터의 레이블 중 하나로 분류하는 작업. ② 유사한 특성을 가진 데이터들끼리는 거리가 가깝고, 거리 공식을 사용하여 데이터 사이의 거리를 구함 ③ 분류기의 효과를 높이기 위해 파라미터를 조정 ④ K-Nearest Neighbors의 경우 k 값을 변경 ⑤ 분류기가 부적절하게 학습되면 overfitting..

서포트 벡터머신(Support Vector Machine, SVM) : 사용하기 편하면서도 높은 정확도를 보이는 데이터 분류를 위한 지도학습 머신러닝 알고리즘. ① 서포트 벡터를 사용해서 결정 경계를 정의하고, 분류되지 않은 점을 해당 결정 경계와 비교해서 분류. ② SVM의 중요 용어 - 결정 경계(Decision Boundary) : 서로 다른 분류 값을 결정하는 경계 데이터에 2개 속성(feature)만 있다면 결정 경계는 이렇게 간단한 선 형태 속성이 3개로 늘어난다면 이렇게 3차원으로 그려야 한다. - 이때의 결정 경계는 ‘선’이 아닌 ‘평면’이 된다. - 우리가 이렇게 시각적으로 인지할 수 있는 범위는 딱 3차원까지다. - 차원, 즉 속성의 개수가 늘어날수록 당연히 복잡 - 결정 경계도 단순한..

고정된 학습 데이터와 테스트 데이터로 평가를 하다 보면 테스트 데이터에서만 성능이 좋은 과적합 문제가 발생할 수 있습니다. 이러한 문제점을 개선하기 위해서 교차 검증을 이용합니다. 교차 데이터는 데이터 편중을 막기 위해서 별도의 여러 세트로 구성된 학습 데이터 세트와 검증 데이터 세트에서 학습과 평가르 수행하는 것입니다. 그리고 각 세트에서 수행한 평가 결과에 따라 하이퍼 파라미터 튜닝등의 모델 최적화를 더 손쉽게 할 수 있습니다. ● K 폴드 교차 검증 : 가장 보편적으로 사용되는 교차 검증 기법으로 먼저 K개의 폴트 세트를 만들어서 K번 만큼 각 폴트 세트에 학습과 검증 평가를 반복적으로 수행하는 방법입니다. 사이킷런에서 K 폴트 교차 검증 프로세스 구현하기 위해 KFold와 StratifiedKFo..

사이킷런(scikit-learn) 이란? : 파이썬 머시러닝 라이브러리 중 가장 많이 사용되는 라이브러리입니다. 파이썬 기반의 머신러닝은 곧 사이킷런으로 개발하는 것을 의미할 정도로 오랜 기간 파이썬 세계에서 인정 받았으며 사용되고 있습니다. 사이킷런의 특징 1. 파이썬 기반의 다른 머스러닝 패키지도 사이킷런 스타일의 API를 지향할 정도로 쉽게 가장 파이썬 스러운 API를 제공 2. 머신러닝을 위한 매우 다양한 알고리즘과 개발을 위한 편리한 프레임워크와 API를 제공 3. 오랜 기간 실적 환경에서 검증됐으며, 매우 맣은 환경에서 사용되는 성숙한 라이브러리 사이킬런 설치 1. Anaconda prompt conda install scikit-learn 2. Jupyter Notebook pip insta..

순환신경망 : RNN(Recurrent Neural Network)는 뉴런의 상태(state)를 저장하고 이를 다음 스텝에서의 입력으로 사용함으로써 긴 순서열에 대해서도 예측을 할 수 있는 신경망 구조이다. - 순차적(sequence) 인 데이터를 입력 받아 결과값을 도출하는데 사용하는 딥러닝 모델 - 대표적으로 자연어 처리에 상당히 많이 사용 - 이전 입력 값들(단어들)이 현재 입력 값(단어)의 출력 값(품사)에 영향을 줌 품사가 도출 되도록 프로그램을 만들었는데, google 이라는 단어를 봤을 때 자리에 따라서 동사와 명사로 다른 품사로 출력됩니다. 문장을 통해서 공통점을 찾아 출력될 수 있도록 만듭니다 . 제시된 방향성을 정해줘야지 정확한 데이터를 출력해줍니다. RNN의 일반적인 구조 RNN 의 ..

매개변수 갱신 신경망 학습의 목적 : 손실 함수의 값을 가능한 한 낮추는 매개변수를 찾는 것입니다. - 확률적 경사 하강법(SGD : Stochastic Gradient descent) : 최적의 매개변수 값을 찾는 단서로 매개변수의 기울기(미분)를 이용합니다. SGD 단점 : 방향성이 위에서 아래로 내려올 때는 빠를게 학습하면서 찾아가지만 평면적인 면으로 가게 되면 더이상 오차가 줄어들지 않는 문제점이 생길 수 있습니다. 위의 그림과 같은 모습으로 나타나게 됩니다. SGD에 의한 최적화 갱신 경로 : 최소값인 (0, 0)까지 지그재그로 이동하니 비효율적이며 퍼포먼스의 문제를 야기합니다. ① SGD 단점의 개선책 - 모멘텀(Momentum) - V : 속도(Velocity) - 기울기 방향으로 힘을 받아..

논리 연산자 AND, OR, XOR, NOT 이 존재합니다. XOR data set : 입력 신호가 다를 때 신호를 내보내는 연산자 입니다. - 서로 다른 값 True , 서로 같은 값 False 선형적으로 구분할 수 있는 방법이 물리적으로 불가능합니다. - 하나의 게이트로는 그래프로 그릴 수 없지만, 다층의 멀티 레이어로 구성할 때 그래프 그리는 것이 가능합니다. 노드를 다층으로 가져가므로 물리적으로 gate를 조합 함으로 분류가 가능하도록 되었습니다. - 비선형의 모형으로 구분 0) 데이터 정리 1) 가설함수 설정 2) 손실함수 설정 3) 경사하강법 적용 4) tensorflow 흐름 결과) 50퍼센트의 정확도를 보이는 결과가 나타납니다. - Xor의 모델은 단독의 gate로 설계할 수 없습니다. 신..