아직은 아침에 일어나기 힘들다,,!
아침형 인간의 길은 아직 어려워
비모수 방법론
특정 확률 분포를 가정하지 않고,
데이터에 따라 모델의 구조 및 모수의 개수가 유연하게 바뀜
-> 기계학습은 대부분 비모수 방법론에 속한다.
데이터의 분포를 먼저 파악하고, 어떤 확률분포로 모델링할지 정해야 한다.
표본분산
N이 아니라 N-1로 나눈다. 왜?
-> 자유도 제거: 이론적인 값보다는 실험적인 값이라는 느낌이 강하다,,!
MLE
그냥 가능도가 아닌 로그가능도를 최적화하는 모수 θ를 찾는 것이 연산적인 측면에서 효율적이다.
확률분포 로그 -> 미분 -> 0으로 만드는 모수 찾기
확률분포의 거리
손실함수
-> 데이터 공간에서의 거리를 통해 유도
조건부확률을 주로 다루는 베이즈 정리
precision
과 recall
을 이해하는 데에 꼭 필요한 개념인데,
evaluation
과정에서 F1 score
를 계산하는 과정 등에 사용되기 때문에
배웠다고 생각한다.
조건부 확률로 인과관계를 함부로 추론하지마라!
이게 무슨 말인지 이해하는 데에 조금 시간이 걸렸다.
P(A|B)
라고 하면 B
가 일어났을 때 A
도 일어날 확률인데,
그럼 인과관계도 어느 정도 성립하는거 아닌가? 하는 의문이 들었기 때문이다.
키와 지능 사이의 관계를 알아내기 위해 데이터를 분석해보면, 키가 크면 지능이 높다는 결과가 나오는데, 이는 '키'라는 중첩요인을 고려하지 못하였기 때문이다.
인과관계를 알아내기 위해서는 중첩요인의 효과
를 제거해야한다.
유입되는 데이터에 따라서 데이터 분포가 변할 수 있어서, 조건부확률 기반 예측 모형은 데이터의 변화에 강건하지 못한 경우가 많다. 인과관계 기반 예측 모델은 예측 정확도 면에서는 조건부확률 기반 예측모델보다 떨어지지만, 유입되는 데이터에 대한 대응이 뛰어나다.
인과관계를 제대로 찾으려면, EDA 과정에서 중첩효과를 걸러내는 안목을 길러야 할 것 같다.
Fully connected된 MLP는 학습 시에 연산 횟수가 엄청 많아질 수 있다.
Convolution 연산은 커널
을 움직이면서 선형모델과 합성함수를 적용한다.
놀랍게도, CNN에서 사용하는 연산은 convolution이 아니라 cross-correlation 이었다,,! 지금까지 속았다.
시계열 데이터나 시퀀스 데이터에 주로 사용되는 네트워크이다.
RNN은 어떻게 과거의 정보를 사용하는가
이전 잠재변수 을 불러와서 현재의 잠재변수에 인코딩한다.
-> Backpropagration Through Time(BPTT)
시퀀스가 너무 길어지면 과거 정보를 잃어버리기 쉽다.(gradient vanishing
)
-> 길이를 적당히 끊어주는 truncated BPTT
사용
서두르지 말고,
한 발짝씩 나아가기