Loading...
2023. 12. 8. 01:40

정형데이터 분석에서 feature importance와 permutation importance

1. introduction target 변수를 예측하는데 얼마나 유용한지에 따라 feature에 적절한 점수를 할당하여 중요도를 측정함 model-specific한 방법은 머신러닝 모델 자체에서 feature importance를 계산하게 해주는 기능을 제공함 model-agnostic한 방법은 머신러닝 모델에서 제공하는 기능에 의존하지 않고 모델을 학습한 후에 적용되는 feature importance를 계산하는 방식 2. boosting tree model-specific feature importance 2-1) LightGBM training된 LightGBM class에 feature_importance를 호출함 importance_type을 인자로 받는데 기본값은 'split'으로 tree ..

2023. 12. 7. 01:49

cross validation out of fold prediction

model training시 cross validation을 통해서 model의 fold를 여러개 나눠서 out of fold validation 성능을 측정하고 test data예측을 통해 성능 향상을 유도 대충 데이터가 다음과 같이 생겼는데 2009/12~2011/11까지 데이터가 존재하고 우리가 예측해야할 것은 2011/12 train data는 2009/12~2011/11이고 test data는 2011/12 1) 2009/12~2011/11에서 적절하게 train과 validation을 label별로 고른 비율을 가지도록 stratified k fold split함 2) 각 fold별로 validation 예측을 하고 예측한 것을 out of fold에 하나 하나 다 모으는 거 3) 그리고 각 ..

2023. 9. 13. 04:06

구현하면서 배우는 weight initialization(가중치 초기화) 중요성

가중치 초기화(weight initialization)은 모델을 만들고 훈련하기 전에 한번 수행을 한다 좋은 가중치 초기화는 모델이 optimal point에 더 빠르게 다가갈 수 있게 한다 1. 상수 가중치(all zero or one) occam's razor(경제성의 원리)에 따르면 모든 가중치 값을 동일한 상수로 가정하는게 최적의 솔루션일 수 있다 모든 weight가 동일하다면, 각 layer의 뉴런이 동일한 output을 내놓기 때문에 모델이 어떤 weight를 바꿔야 최적해를 찾는지 결정하기 어려워서 training을 어렵게 한다 FashionMNIST 데이터셋에 동일한 MLP 모델을 training하는데 가중치를 모두 0으로 초기화하는거랑 1로 초기화하면... 2. random weight ..

2023. 9. 13. 00:34

구현하면서 배우는 batch normalization에 대한 몇가지 핵심사항

면접에서 batch normalization이 training하기 전에 실행하냐? training하면서 실행하냐? 이런걸 물어봤는데 batch normalization에 대해 몇가지를 배워보자 1. 핵심 아이디어 The idea is that, instead of just normalizing the inputs to the network, we normalize the inputs to layers within the network. network에 대한 input을 normalizing하는 것 대신에 network 내부의 layer에 대한 input을 normalizing함 It's called batch normalization because during training, we normalize e..

2023. 7. 27. 00:38

RNN을 개선한 LSTM(Long short term memory)

1. introduction Vanilla RNN을 개선하였다. 그래서 gradient vanishing/exploding을 개선하여 좋은 성능을 보임 the problem of long term dependency를 해결하고자 time-step이 먼 경우에도 필요한 정보를 처리할 수 있도록 단기로 기억되는 hidden state 정보를 길게 가져오자. Vanilla RNN은 현재 input의 정보와 이전 시점의 hidden 정보를 조합하여 새로운 hidden 정보를 만든다. $$h_{t} = f_{w}(x_{t} + h_{t-1})$$ 반면 LSTM은 전 시점에서 다른 역할을 하는 2가지 정보와 input 정보를 이용함 $$f(C_{t}, h_{t}) = LSTM(X_{t}, C_{t-1}, h_{t-..

2023. 7. 24. 02:37

그래프의 군집구조(community)

1. 군집(community) 군집은 다음 두가지 조건을 모두 만족하는 하나의 node 집합이다. 1) 집합에 속하는 node 사이에 충분히 많은 link가 있다. 2) 그러한 집합에 속하는 node와 속하지 않는 node 사이에는 충분히 적은 link가 있다. 딱 봐도 수학적인 정의는 아니지만 눈으로 보기에 군집을 구별하는 것은 쉽다 2. local clustering coefficient 특정 node V의 모든 이웃쌍중에서 직접 연결된 이웃쌍의 비율 node 1의 이웃의 집합 {2,3,4,5} 이웃의 순서쌍은 (2,3), (2,4), (2,5), (3,4), (3,5), (4,5) 이웃쌍을 계산할때 이웃끼리 거리랑은 무관하게 그냥 집합에서 2개뽑은 조합의 수를 말한다 순서쌍중 직접적으로 연결된 이웃..