본문 바로가기

반응형

AI Theory

(81)
활성화 함수의 이해 활성화 함수의 이해 퍼셉트론 딥러닝 레이어의 노드 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의 표현을 가장 널리 사용 예..
[Boostcourse beyond ai] Optimization [Boostcourse beyond ai] Optimization Important concepts in optimization generalization 많은 경우 모델 제작시의 목적 Test error과 training error간의 차이 underfitting vs overfitting overfitting 학습 데이터에 대해서는 잘 작용하지만, 테스트 데이터에 대해서는 잘 작동 x underfitting network가 너무 간단하거나 학습데이터가 너무 적음 cross-validation 보통은 traindata와 validation data를 나눠서 학습 train data와 validation data를 얼마나 나누는 것이 좋을까? 데이터 분할시의 데이터 부족을 해결하기 위해 등장한 cross..
[boostcourse beyond ai] Nueral Network Neural Networks function approximators that stack affine transforamtions followed by nonlinear transformations. 예를 들어, 이미지라는 텐서가 주어졌을때 label이 나오는 모델이 있다고 할때, 우리가 찾고자 하는 nnt는 그것을 우리가 정의한 function으로 정의하는 function approximators이고, 행렬곱(affine transformation) 비선형 연산으로 함수를 수행. 가장 간단한 nn은 linear neural networks 역전파 우리의 목적은 loss함수를 최소화하는 것이다. 내 파라미터가 어느 방향으로 움직였을 때 loss function이 줄어드는지를 찾고 해당 방향으로 파라미터를..

반응형