본문 바로가기

부스트캠프 AI Tech

(53)
Bayesian Statistic 조건부 확률 조건부확률 P(A|B)는 사건 B가 일어난 상황에서 사건 A가 발생할 확률 조건부확률 P(B|A)는 사건 A가 일어난 상황에서 사건 B가 발생할 확률 조건부확률만 가지고 인과관계(causality)를 추론하는 것은 불가능 중첩요인(confounding factor)를 제거하고 원인에 대한 변수만을 계산해야 함 조정(intervention)을 통해 중첩요인 제거 베이즈 정리 사후확률 : 데이터를 관찰할 시 hyperthesis가 발생할 확률 사전확률 : 데이터 분석 전 설정한 확률 가능도 : 주어진 데이터가 관찰될 확률 evidence : 데이터 전체의 분포 새로운 데이터가 들어오면 사후확률을 사전확률로 사용 가능
Pythonic code Split & join str.split('sep') # sep 기준으로 split 없을 시 공백 기준 "joiner".join(sequential data) # data를 joiner와 함께 concat List Comprehension result = [i for i in range(10)] word_1 = "hello" word_2 = "world!" result = [i+j for i in word_1 for j in word_2] # nested for loop result = [[i+j for i in word_1] for j in word_2] # word_2가 먼저 loop 돎 Enumerate & Zip alist = ['a1', 'a2', 'a3'] blist = ['b1', 'b2',..
Data Structure Stack Last In First Out Queue First In First Out Tuple immutable한 list Set 중복 x, non-sequential union, intersection, difference Dict tuple(Key, Value) Collections built-in 구조 deque, Counter, OrderedDict, defaultdict, namedtuple Deque Linked list 지원 rotate, reverse, appendleft 등 가능 list보다 빠름 Ordered Dict 입력 순서를 보장하는 dict python 3.6이상부터는 기본 dict도 보장 default Dict default value를 지정가능한 dict key가 존재하지..
Statistics 모수(Parameter) 통계적 모델링 : 적절한 가정 위에서 확률분포를 추정하는 것 정확한 분포를 맞히는 것이 아닌 위험을 최소화 모수적(parametric) 방법론 : 특정 확률분포를 따른다고 가정한 후 그 분포의 모수를 추정 비모수적(nonparametric) 방법론 : 데이터에 따라 모델의 구조 및 모수의 개수 변화 모수가 없는 것이 아님! 확률 분포 가정 히스토그램을 통해 관찰 데이터가 0 또는 1 : 베르누이 분포 데이터가 n개 : 카테고리 분포, 다항분포 데이터가 [0.1] 사이 실수 값 : 베타 분포 데이터가 0 이상 : 감마 분포, 로그정규 분포 데이터가 실수 전체 값 : 정규 분포, 라플라스 분포 데이터를 생성하는 원리를 먼저 고려해야 함 모수 추정 후 반드시 검정해야 한다 통계량(st..
Probability 확률론 machine learning에서 loss function은 데이터를 통계적으로 해석, 학습 유도 회귀 분석에서 loss function으로 사용되는 L2_norm은 예측오차의 분산을 최소화 분류 문제에서 loss function으로 사용되는 cross-entropy는 모델 예측의 불확실성 최소화 확률변수 - 확률분포에 따라 구분 (데이터공간에 의해 결정되는 것이 아님) 이산확률변수 확률변수가 가질 수 있는 모든 경우의 수를 고려하여 더함 연속확률변수 확률변수의 밀도(density)위에서의 적분 결합분포(joint distribution) 주변확률분포 - x의 분포, (label)에 대한 정보 제공하지 않음 조건부확률분포 - y에 따른 x의 분포 기댓값(expectation) > 평균 데이터를 대..
Neural Network Softmax 한 벡터가 어떤 class에 속할지 확률 예측 Activation Function nonlinear function 활성 함수 + 선형모델 = 신경망 forward propagation(순전파) output activation func(z) z = weight * data + bias input data layer가 많을수록 필요한 뉴런(node)의 수가 줄어 효율적인 학습 가능 그러나, 최적화가 어려워질 수 있음 backward propagation(역전파) 각 노드의 tensor 값을 저장해야 미분이 가능하므로 순전파보다 느림(위 식에서 x,y를 모두 기억해야 함)
String String sequential data type 1 char = 1 byte Raw string raw_string = "Python \n Java \n C" print(raw_string) Python Java C raw_string = r"Python \n Java \n C" print(raw_string) Python \n Java \n C Call by Value vs Call by Reference Call by Object Reference 객체의 주소가 함수로 전달되는 방식 새로운 객체를 만들 경우 영향을 주지 않음 def test(t): print(t) # 10 t = 20 # 새로운 객체가 생성, x != t print(t) # 20 x = 10 test(x) print(x) # 10T..
Conditionals and loops x is y : 메모리 주소 비교 x == y : 값만 비교 python에서 -5 ~ 256은 정적메모리 공간에 저장한 후 해당 값을 가지는 변수를 일괄적으로 할당 x = -5, y = -5 x is y : True x = -6, y = -6 x is y : Falseboolean_list = [True, False, True] all(boolean_list) : False any(boolean_list) : True