AI Theory/key concept of AI (54) 썸네일형 리스트형 비지도학습(Unsupervised Learning) 비지도학습(Unsupervised Learning) 지도학습과 달리 training data로 정답(label)이 없는 데이터가 주어지는 학습방법 라벨링이 되어 있지 않은 데이터들 내에서 비슷한 특징이나 패턴을 가진 데이터들끼리 군집화한 후, 새로운 데이터가 어떤 군집에 속하는지를 추론한다. 군집화(클러스터링, clustering), 차원축소(dimensionality reduction) 등이 있다. 클러스터링(군집화) 명확한 분류 기준이 없는 상황에서 데이터들을 분석하여 가까운(또는 유사한) 것들끼리 묶어 주는 작업 개별적인 데이터들을 몇 개의 그룹으로 추상화하여 새로운 의미를 발견할 수 있다. 대표적으로 K-Means, DBSCAN 등이 있다. K-Means k 값이 주어져 있을 때, 주어진 데이터들.. 선형 회귀와 로지스틱 회귀 선형 회귀와 로지스틱 회귀 회귀분석 전통적으로 많이 사용되던 분석 방법 관찰된 여러 데이터를 기반으로 각 연속형 변수 간의 관계를 모델링하고 이에 대한 적합도를 측정하는 분석 방법 독립변수(independent variable, 설명변수)와 종속변수(dependent variable, 반응변수) 사이의 상호 관련성을 규명 선형회귀, 로지스틱 회귀 등 선형 회귀 종속변수 Y와 한 개 이상의 독립변수 X와의 선형 상관관계를 모델링하는 회귀분석 기법 선형 회귀 분석에서는 독립 변수와 종속 변수 사이의 상관 관계를 분석하는 것이 목적이다. 그렇다면 두 변수 사이에 상관 관계가 있다면 인과 관계 또한 있다고 볼 수 있을까? 정답은 X로, 상관 관계가 높다고 해서 반드시 인과관계가 있는 것은 아니다. 사례 ) 아이.. Regularization(정칙화) Regularization 정칙화(Regularization) vs 정규화(Normalization) 정규화(Normalization) 데이터셋에 대해 모든 features가 동일한 범위를 갖도록 전처리하는 과정 z-score, min-max scaling 등이 있다. 피처 간 값의 범위 차이가 클 경우, 데이터의 분포가 feature값의 범위에 의해 왜곡되어 학습을 방해한다는 문제점이 있다. normalization은 모든 feature의 범위를 동일하게 하여 모델 학습을 돕는다. 정칙화(Regularization) 오버피팅(overfitting)을 해결하기 위한 방법 중의 하나 L1, L2 Regularization, Dropout, Batch normalization 등이 있다. overfittin.. 활성화 함수의 이해 활성화 함수의 이해 퍼셉트론 딥러닝 레이어의 노드 1개 우리가 알고 있는 딥러닝 모델은 사실 퍼셉트론들이 다양한 구조로 쌓인 것 각 퍼셉트론들의 입력값과 가중치가 곱해진 값들의 합이 activation function을 거쳐 출력됨 활성화 함수란? 노드에 입력으로 들어오는 값이 어떤 '임계치(threshold)'를 넘어가면 활성화(activated) 되고, 넘어가지 않으면 비활성화(deactivated) 되도록 하는 함수이다. 딥러닝 모델의 representation capacity 또는 expressivity를 향상시켜주기 위해 사용한다. 활성화 함수는 표현에 따라 분류할 수 있다. 선형 활성화 함수(Linear activation function) 비선형 활성화 함수(Non-linear activat.. 딥네트워크 딥네트워크 여러 개의 은닉층(hidden layer)을 가진 신경망 사전 학습된 네트워크(Pre-trained network)들을 Tensorflow나 PyTorch 등 프레임워크 차원에서 지원 중 ImageNet ILSVRC2010 대회를 위해 만들어진 대량의 이미지 데이터를 포함하는 데이터셋1만개가 넘는 카테고리, 100만장 규모의 이미지를 가짐 cf. top-5 error vs top-1 error? 이미지 분류 성능 평가에 사용클래스가 {개, 고양이, 햄스터} 인 분류기에 새로운 이미지를 넣었을 때 {0.1, 0.2, 0.7} 이라는 결과가 나오면 햄스터일 확률이 가장 높다고 판단한 것이다. 이때 top-1 class는 {햄스터}, top-2 class는 {햄스터, 고양이}이다. 분류기가 새로운 .. 데이터 전처리 기법들 데이터 전처리 기법들 전처리에서 해야할 일들 중복 데이터 제거 결측치 처리(제거 or 전치) 데이터 정규화 이상치 탐색 및 처리 구간화(binning) 범주형 데이터 원-핫 인코딩 연속형 데이터를 범주형으로 변환 그럼 이제 데이터 전처리의 각 주제에 대한 세부적 사항들을 살펴보자! 결측치 처리 데이터가 수치형 데이터냐, 범주형 데이터냐에 따라 처리 방법이 다르다. # 결측치 여부 확인 df.isnull().any(axis=0) # 결측치 개수 확인 df.isnull().sum() # 결측치가 존재하는 행만 출력 df[df.isnull().any(axis=1)] # 결측치 제거 df.dropna(how='all', subset=['컬럼명'], inplace=True) 수치형 데이터를 가진 컬럼의 결측치를 .. 사이킷런 머신러닝 사이킷런 머신러닝 머신러닝의 분류 데이터로부터 학습하고 패턴을 인식하여 예측, 분석, 의사 결정 등을 수행하는 인공지능 분야 지도학습 분류: 예측해야할 데이터가 범주형(categorical) 변수일때 회귀: 예측해야할 데이터가 연속적인 값 일때 예측: 과거 및 현재 데이터를 기반으로 미래를 예측하는 과 비지도학습 클러스터링: 특정 기준에 따라 유사한 데이터끼리 그룹화 차원축소: 고려해야할 변수를 줄이는 작업, 변수와 대상간 진정한 관계를 도출 강화학습 환경으로부터의 피드백을 기반으로 행위자(agent)의 행동을 분석하고 최적화 시행착오, 지연보상 Monte carlo methods, Q-learining, policy graidient methods 등등... 머신러닝 알고리즘을 선택하는 기준 데이터의 .. 배열(array)과 파이썬 그래프 배열(array)과 그래프 리스트와 배열의 차이 list array 서로 다른 자료형 함께 저장 가능 동일 자료형만 저장 가능 slow.why? 내부적으로 포인터 사용해 데이터 참조 fast. why? 데이터에 직접 접근 가능 파이썬 내장 자료형 사용해서 모듈 필요 없음 파이썬 표준 모듈 array 사용 따라서 리스트는 다양한 자료형을 저장할 때, 형태가 유동적일 때 유용. 배열은 동일 자료형 데이터를 처리할 때, 빠른 처리 속도가 필요할 때 사용 # 배열과 리스트 ## 배열 import array as arr myarray = arr.array('i', [1,2,3]) # i: int, f: float, d:double, string은 지원 안함 myarray.insert(1,5) myarray.app.. 이전 1 2 3 4 5 6 7 다음