Loading...

reproducibility를 위한 random seed

1. 필요성 모델의 재현성 cross validation의 경우 실행할 때마다 매번 다르게 sampling되어 model의 성능이 매번 다르다 반복해서 실행했을 때 동일한 조건에서 동일하게 sampling되어야 정확하게 model 성능 측정이 가능함 머신러닝 모델도 random하게 작동하므로 작업 복원을 위해서라도 반드시 필요함 어떤 가설을 설정하고, 그것이 맞는지 실험할려고 하는데 재현이 안된다면 가설에 의한 변화 때문에 성능이 바뀐건지, 다른 원인이 있는건지 파악할 수 없음 2. seed 모델의 랜덤성 때문에 풀고자 하는 문제에 대하여 데이터가 매번 바뀌면 모델 성능 측정시 내가 만든 feature나 전처리 방식이 효과적인지 확인이 어렵다 랜덤성을 제거하기 위한 seed를 고정 feature engi..

2022. 7. 18. 03:18

함수, 모듈(module) 맛보기

1. 함수(function) 반복하고 싶은 코드 덩어리들을 모아놓은 것 엑셀에서 sum(), average(), count() 등이 존재하듯이 파이썬에도 여러가지 함수들이 존재함 파이썬의 함수는 built in function(내장함수), non-built in function으로 나뉜다 print('hi'), len('hi'), abs(-3) 등등이 파이썬의 내장함수.. 파이썬 설치만 하면 기본적으로 사용할 수 있는 함수들 len()은 주어진 값의 길이를 세는 함수로 len('hi') 는 2를 반환 abs()는 주어진 값의 절댓값을 구하는 함수로 abs(-3)은 3을 반환 2. 모듈(module) 함수나 변수 등을 필요에 의해 모아놓은 파일 비슷한 기능을 가지는 함수들을 묶어서 보관함 사용방법? 1) ..

2022. 6. 24. 21:04

정형데이터에서 결측치를 처리하는 방법

boston data에서 임의로 15~25% 결측치를 생성했음 1. pattern을 통한 결측치 처리 결측치의 pattern을 대략적으로 파악하면 어떤 식으로 처리할지 감이 올 수 있음 x축을 개별 변수, y축을 변수의 value로 하고 heatmap을 그림 전체 dataset의 x축을 feature, y축을 feature의 value라고 하여 pattern을 그려보면 왼쪽과 같이 random하게 결측치가 있을 수 있고 오른쪽 처럼 어떤 규칙을 보일수도 있음 위와 같이 boston dataset의 pattern을 그려보니 결측치가 random하게 분포하는 것 같음 random하게 15~25% 결측치를 만들었으니까 가상으로 만든 dataset의 pattern이 위와 같다면 결측치가 어떤 규칙을 가지고 분포..

2022. 3. 20. 08:55

NAS(Neural Architecture Search) 기법에 대해 알아보기

1. NAS에 대한 오해 model의 일반적인 설계 방식은 model 구조인 architecture를 설계하고 그 위에 hyperparameter를 설정하고 그 위에 데이터를 넣어 train하면서 parameter를 tuning하여 model을 완성하여 사용 이제 가장 밑단의 architecture를 어떤 것을 써야할지 고민이다. 딥러닝이 상식처럼 알려져있지만 딥러닝이 아닌 architecture도 많고 SqueezeNet, ResNet, VGGNet 등등 여러가지가 많다 architecture는 사람이 직접 손으로 만드는 방법도 있지만 automatic하게 찾아내는 방법도 있다. ResNet의 residual block은 기계가 만든 것이 아니라 사람이 창의적으로 만드는 것 Neural architec..

2022. 3. 15. 23:36

딥러닝 모델의 hyperparameter search

1. hyperparameter 모델을 train할 때 사람이 골라주는 parameter learning rate, batch size, optimizer, …. 등등 어떤 hyperparameter를 사용할지에 따라 모델이 무슨 결과를 낼지는 해보지 않고서는 도저히 예측 불가능 그래서 hyperparameter search를 할 때는 model을 돌려서 결과를 보고나서 마음에 안드면 다른 hyperparameter를 고르고 그래 그런데 model 하나가 돌아갈 때 드는 cost는 거의 대부분 엄청나게 많아 단순히 돌아가는 것 뿐만 아니라 hyperparameter 변화로 모델이 그냥 이상해질 수도 있어서 그에 따른 비용도 엄청 남 그래서 hyperparameter search에는 parameter se..