본문 바로가기

반응형

AI Theory/key concept of AI

(53)
선형 회귀와 로지스틱 회귀 선형 회귀와 로지스틱 회귀 회귀분석 전통적으로 많이 사용되던 분석 방법 관찰된 여러 데이터를 기반으로 각 연속형 변수 간의 관계를 모델링하고 이에 대한 적합도를 측정하는 분석 방법 독립변수(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..
파이썬 더 잘 알기 파이썬 더 잘 알기 부동소수점 vs 고정소수점 컴퓨터에서 소수는 2진법으로 정확히 표현할 수 없으므로 근사치로 저장된다. 소수를 저장하기 위한 방법은 2가지가 있다. 고정 소수점 정수를 표현하는 비트 수, 소수를 표현하는 비트 수를 미리 정해두고 해당 비트만큼 사용해 숫자 표현 ex: 정수 표현에 4byte(32bit), 부호 1bit, 소수는 15bit 사용하자 정수를 표현하는 비트를 늘리면 큰 숫자를 표할 수 있지만 정밀한 숫자표현 어렵 소수 표현 비트 늘리면 정밀하게 표현 가능하지만 큰 숫자는 표현이 어렵 부동 소수점 소수점의 위치를 고정하지 않고 그 위치를 나타내는 수를 따로 적는것. 유효숫자를 나타내는 가수와 소수점의 위치를 풀이하는 지수로 나누어 표현 IEEE754의 표현을 가장 널리 사용 예..

반응형