인공지능 26

딥러닝 하이퍼 파라미터 용어 : activation Functions (수정)

액티베이션 활성화 함수: 딥러닝 네트워크에서 노드에 입력된 값들을 비선형 함수에 통과시킨 후 다음 레이어로 전달하는데, 이 때 사용하는 함수를 활성화 함수(Activation Function)라고 한다. 선형 함수가 아니라 비선형 함수를 사용하는 이유는 딥러닝 모델의 레이어 층을 깊게 가져갈 수 있기 때문이다. 함수의 종류는 총6개로 인공지능 개발시 각각 상황에 맞게 입력해주면 된다. 분류의 문제 모델링시 0과 1로 2개로 분류하는 최종 아웃풋 레이어엔(결과물) sigmoid 함수를 사용한다. 시그모이드 함수를 사용시 특징은 0과1사이의 숫자로 결과를 내주며 확률로 계산해 리턴해준다. Logistic Classification 같은 단순하게 예,아니요 같은결과를 도출할때 유용하게 사용된다. 수치 예측 모..

딥러닝 하이퍼 파라미터 용어 : epoch와 batch size

인공지능을 개발하고 나서 인공지능을 돌릴때 model.fit(X_train,y_train,batch_size = , epochs= ) 여기서 말하는 epoch와 batch 사이즈란? batch size 메모리의 한계와 속도 저하 때문에 대부분의 경우에는 한 번의 epoch에서 모든 데이터를 한꺼번에 집어넣을 수는 없습니다. 그래서 데이터를 나누어서 주게 되는데 이때 몇 번 나누어서 주는가를 iteration, 각 iteration마다 주는 데이터 사이즈를 batch size라고 합니다. 즉 전체 데이터를 몇개로 나누어서 학습을 할건가 epoch 한 번의 epoch는 신경망에서 전체 데이터 셋에 대해 forward pass/backward pass 과정을 거친 것을 말함. 즉, 전체 데이터 셋에 대해 한 ..

딥러닝1:뉴런

딥러닝 이란 딥러닝은 기본 층들을 쌓아서 구성한 신경망(Neural Network)이라는 모델을 사용하여 학습을 진행합니다. 신경망은 뉴런(Neuron)들로 이루어진 그룹을 의미합니다. 신경망은 원래 신경 생물학의 용어입니다. 뉴런들의 끝이 다른 뉴런들과 연결된 구조입니다. 뇌 구조를 이해하는 것에서 영감을 받아서 딥러닝 모델의 핵심 개념을 설명하지만, 실제로 뇌를 모델링하여 만든 것은 아니라고 합니다. 그저 하나의 데이터 학습을 새로운 방식으로 하는 수학 모델이라고 보시면 됩니다.

[머신러닝7] 계층적 군집 알고리즘: Hierarchical Clustering / Dendogram

Hierarchical Clustering 계층적 군집이란 가까운 두개데이터끼리 묶고 또 그 묶음과 가까운 데이터를 묶고 이런식으로 완전히 모든 데이터가 묶일때 까지 작업하는 알고리즘 유사 개채끼리 계속 군집화를 수행하다 보니 k-means와 달리 클러스팅갯수를 사전에 정하지 않아도가능하다 개체들이 결합되는 순서를 나타내는 트리형태의 구조인 덴드로그램을 통해 시각적으로 k의 갯수를 쉽게 정할 수 있다. 데이터는 수입별 구매점수를 의미 이데이터를 통해 군집화하여 최적의 그룹으로 나누기 트레이닝 기본 1. nan확인 2.x와y분리 언수퍼 바이즈드 러닝은 결과값이 없기때문에 x데이터는 존재하지만 y데이터는 존재하지 않는다 3.문자열이 있다면 숫자로 바궈주기 4.피셔츠케일링을 통해 값 맞춰주기 5.트레이닝 / ..

[머신러닝6] 데이터평균군집 알고리즘: K-means

unsupervised는 결과값을 정하는 supervised 머신러닝과 다르게 데이터를 군집(클러스팅)화 하여 자동으로 묶어주는 머신러닝을 의미한다 k-means 알고리즘이란 데이터를 k개의 묶음을 정해 그거리의 평균을 내는 알고리즘을 뜻한다. 아직 군집이 정해지지 않은 데이터 무리들 사이에 임의점 점(좌표)를 찍고 그 좌표를 중심으로선을 나눠 집단을 형성 그리고 또다른 좌표를 찍고 다시 선을 그어 데이터가 나눠보면서 계속해서 이과정을 반복을한다. 이과정을 반복하다가 더이상 데이터의 변동이 일어나지 않을때 최적의 클러스팅을 찾은것 데이터는 수입별 구매점수를 의미 이데이터를 통해 여러 소비군집을 나누기 트레이닝 기본 1. nan확인 2.x와y분리 언수퍼 바이즈드 러닝은 결과값이 없기때문에 x데이터는 존재하..

[머신러닝5] 의사결정나무: Decision Tree / Random Forest

Decision Tree 선하나로 분류가 불가능한 경우 데이터의 규칙을 통해 반씩 쪼개가면서 마치 스무고개하듯 가지치기를 하는 분류를 말한다 동일하게 연봉과 나이 성별, 구매여부가 있는 데이터 이데이터를 Decision Tree를 통해 새로운데이터가 나타났을때 관측값 데이터를 기준에 따라 나눠논 알고리즘을 통해 결과값 도출 트레이닝 기본 1. nan확인 2.x와y분리 3.문자열이 있다면 숫자로 바궈주기 4.피셔츠케일링을 통해 값 맞춰주기 5.트레이닝 / 테스트 셋으로 분리시키기 [머신러닝0] 머신러닝의 기초(총정리) (tistory.com) [머신러닝0] 머신러닝의 기초(총정리) 머신러닝이란 데이터를 이용하여 데이터 특성과 패턴을 학습하여 그결과 밭으로 미지의 데이터에 대한 결과값을 예측하는것 머신러닝의..

가장 적합한 매개변수찾기: grid search

[머신러닝4] Support Vector Machine (tistory.com) [머신러닝4] Support Vector Machine 서포트 벡터 머신 서포트 벡터머신이란 데이터를 분류하는 선중에 마진을 최대화 하는 경계면을 찾아서 나눠준다 마진이란 데이터를 분류해서 나눴을때 그 분류에서 가장 먼 데이터끼리의 사 seonggongstory.tistory.com 이렇게 커널값 하나만으로 정확도 차이가 많이 나기 때문에 이데이터 프레임에 맞는 정확도 높은 커널을 찾기 위해 여러번 작업을 해야한다. 그런 수고를 덜기위해 그리드 서치가 있다 Grid Search 그리드 서치란 머신러닝중 여러 하이퍼파라미터 값 조합을두고 가능한 모든 조합을 시도해보는 라이브러리를 뜻한다. from sklearn.model_se..

[머신러닝4] Support Vector Machine

서포트 벡터 머신 서포트 벡터머신이란 데이터를 분류하는 선중에 마진을 최대화 하는 경계면을 찾아서 나눠준다 마진이란 데이터를 분류해서 나눴을때 그 분류에서 가장 먼 데이터끼리의 사이를 의미함 가장 분류가 잘 나타나는 것들끼리 선에서 멀어지고 구분하기 힘든 데이터는 클래서파이어에 가까워짐 마진을 최대화 하여 분류하기 때문에 특이한것 까지 비슷한 부류로 묶는데에 많이 사용 동일하게 연봉과 나이 성별, 구매여부가 있는 데이터 이데이터를 KNN 머신러닝을 통해 새로운데이터가 나타났을때 어느쪽으로 분류를 할지 정하기 트레이닝 기본 1. nan확인 2.x와y분리 3.문자열이 있다면 숫자로 바궈주기 4.피셔츠케일링을 통해 값 맞춰주기 5.트레이닝 / 테스트 셋으로 분리시키기 [머신러닝0] 머신러닝의 기초(총정리) (..

[머신러닝3] K-Nearest Neighbor

최근접 이웃 알고리즘(K-NN) 어떠한 레이블링 되어있는 데이터에 새로운 데이터가 생겼을때 이데이터가 과연 어느쪽과 가까운지를 판단하는 알고리즘 인접한 데이터를 인공지능이판단하여 비슷한 속성으로 데이터를 진단해줌 동일하게 연봉과 나이 성별, 구매여부가 있는 데이터 이데이터를 KNN 머신러닝을 통해 새로운데이터가 나타났을때 구매한 쪽과 구매하지 않은쪽과 어느쪽이 더 가까운 이웃인지 분류를 통해 예측하기 트레이닝 기본 1. nan확인 2.x와y분리 3.문자열이 있다면 숫자로 바궈주기 4.피셔츠케일링을 통해 값 맞춰주기 5.트레이닝 / 테스트 셋으로 분리시키기 ---------------------------------------------------------- 6.모델링하기 7.성능평가 [머신러닝0] 머신..

머신러닝중 샘플표본이 부족할때: oversampling

머신러닝에 필요한 데이터를 수집한후 러닝을 돌리려할때 모은 표본의 비율이 불균형하거나 너무 양이 적을때가 있다. 정상과 비정상의 결과중 정상이 과대수집되어있다면 비정상의 결과도 정상으로 예측해버리는 결과가 나올수 있다는것 즉 '정확도'가 낮아진다는것이다. 이경우가 반대 경우보다 심각한문제를 야기하는데 맞는걸 틀리다고 예측하는경우 직접 수정해주면 문제가 해결이 되지만 비정상을 정상으로 처리해버리면 추적이 쉽지 않기 때문이다. 이런경우 up sampling기법으로 1의결과값의 데이터를 늘려주면됨 from imblearn.over_sampling import SMOTE ※imblearn 라이브러리는 설치를 해줘야함 sm = SMOTE() sm.fit_resample(X,y) 이렇게 하면 둘의 수가 맞춰진다. ..