Format

 - Batch Size : 

     가중치를 업데이트하기 이전에 신경망이 얼마나 많은 input 샘플들을 보기를 원하는지를 말함

     input dataset에 100개의 샘플을 가지고 있다고하자. 신경망이 하나의 input을 확인할 때마다

     가중치를 업데이트 하기를 원한다. 이 경우에 batch size는 1이 될 것이며, batches의 수는 100개가 될 것이다.

     마찬가지로 신경망이 모든 샘플을 보고 가중치를 업데이트 하기를 원한다면, batch size는 100이고 batches는

     1이 될 것이다.

     매우 작은 batch size를 사용하는 것은 학습 속도를 느리게 만들며 반대로 너무 큰 batch size를 사용하는 것은

     다른 데이터에 일반화하는 모델의 능력을 감소시킨다. 또한 더 많은 메모리를 필요로 한다. 그러나 그것은 

     objective function의 최소값을 찾는데 더 적은 steps가 필요하다.

     따라서 이에 대해 다양한 값을 시도해볼 필요가 있으며 최적의 값을 찾아야한다. 이것은 꽤 중요한 주제이다.

     우리는 다음 article에서 이것에 대한 좋은 방법을 학습할 것이다.

     

 - Time Steps :

     신경망이 한 번에 얼마나 많은 단위를 되돌아가기 원하는가?

     예를 들어 훈련을 위한 text corpus를 가진 문자 예측(character prediction) 문제를 생각해보자. 신경망이

     한 번에 6개의 문자를 학습하길 원한다. 그렇다면 time step은 6이다. 우리의 경우 time step으로서 60을

     사용할 것이다. 즉 우리는 가격예측을 위해 2달을 볼 것이다.

 

 - Features : 

     각 단계를 나타내기위해 사용된 특성들의 수(the number of attributes)이다. character problem 예시를 

     다시 생각해보자. 각 문자(character)를 표현하기 위해 size가 100인 one-hot encoded vector를 사용한다고

     가정하자. feature size는 여기서 100이다.

 

 

출처 : https://towardsdatascience.com/predicting-stock-price-with-lstm-13af86a74944

 

h2o 패키지 학습 및 포트폴리오 관리를 위해 rstudio가 아닌 jupyter notebook을 사용해보려고 한다.

 

파이썬or아나콘다와 설치하는 jupyter notebook의 버전이 일치하지 않음 or 최신이 아니라서 발생하는 오류로 추정

→ notebook을 삭제하고 버전을 수정하여 다시 설치해준다.

 

pip uninstall notebook
pip install notebook==5.7.5

 

※ 댓글 : alifuk 참고

 

 

https://github.com/jupyter/notebook/issues/4491

 

Jupyter Notebook does not show anything in browser · Issue #4491 · jupyter/notebook

When I run "jupyter notebook" from the Anaconda prompt, I get a redirect notice and then just a blank webpage. No directories or menus or any text whatsoever. I am running windows 10 x64 ...

github.com

'분석 > 머신러닝' 카테고리의 다른 글

LSTM - components  (0) 2019.08.13
머신러닝에서 평가 메트릭(continuous)  (0) 2019.03.28
XGBoost에 관한 이해  (0) 2019.03.07

https://medium.com/usf-msds/choosing-the-right-metric-for-machine-learning-models-part-1-a99d7d7414e4

 

Choosing the Right Metric for Evaluating Machine Learning Models — Part 1

First part of the series focussing on Regression Metrics

medium.com

 

 

평가메트릭 말고도 참고할만한 글이 많음.

'분석 > 머신러닝' 카테고리의 다른 글

LSTM - components  (0) 2019.08.13
[jupyter notebook] 설치했으나 run 결과 출력이 안되는 오류  (1) 2019.07.20
XGBoost에 관한 이해  (0) 2019.03.07


LightGBM을 설치하는데 고전하다가, 프로젝트 기간 안에 설치 및 적용이 어려울 것 같아 XGBoost로 만족하고 공부하기로 했다.


사실 XGBoost, LightGBM 등은 재작년 쯤부터 핫하게 들어왔던 키워드였으나, 캐글을 열심히 하지 않아서인지 실제로 적용해볼 기회는 없었다.


이번에 변수의 영향도, 관계보다 예측력에 목적이 있는 프로젝트를 진행하다보니 관심을 가지고 학습하기로 했다.



1. Bagging vs Boosting

  : 둘 모두 앙상블 방법.

    랜덤하게 샘플링하여 동일한 방법을 적용하는 것과 다르게

    앞 단계에서 발생하는 오차를 모델링하며, 각 단계에서의 최적 가중치를 추적


2. Boosting은 numeric한 feature만 입력해야한다. why?


https://www.kaggle.com/c/avito-demand-prediction/discussion/57094


참고




3. GBM vs XGBoost vs LightGBM

   (출처 : https://www.kaggle.com/nschneider/gbm-vs-xgboost-vs-lightgbm/notebook)


Additional Observations

GBM

Advantages:

  • None

Disadvantages:

  • No early exit
  • Slower training
  • Less accurate

xgboost

Advantages:

  • Proven success (on kaggle)
  • Now with Histogram Binning

Disadvantages:

  • Traditionally slower than lightGBM, but tree_method = 'hist' is a big improvement.
    → LightGBM을 쓰지 않아도, 충분히 속도 개선와 예측력 개선이 가능할 것으로 보인다.

lightGBM

Advantages:

  • Fast training efficiency
  • Low memory usage
  • Better accuracy
  • Parallel learning supported
  • Deal with large scale data
  • Corporate supported

Disadvantages:

  • Newer, so less community documentation


+ Recent posts