Skip to content

Latest commit

Β 

History

History
87 lines (73 loc) Β· 4.41 KB

File metadata and controls

87 lines (73 loc) Β· 4.41 KB

Time Series Classification

1. Without data representation

  • 원본 μ‹œκ³„μ—΄ 데이터λ₯Ό μž…λ ₯으둜 ν™œμš©ν•˜λŠ” time series classification에 λŒ€ν•œ μ„€λͺ…
  • μž…λ ₯ 데이터 ν˜•νƒœ : (num_of_instance, input_dims, time_steps) μ°¨μ›μ˜ λ‹€λ³€λŸ‰ μ‹œκ³„μ—΄ 데이터(multivariate time-series data)

Time series classification μ‚¬μš© μ‹œ, μ„€μ •ν•΄μ•Όν•˜λŠ” κ°’

  • model : ['LSTM', 'GRU', 'CNN_1D', 'LSTM_FCNs'] 쀑 선택

  • best_model_path : ν•™μŠ΅ μ™„λ£Œλœ λͺ¨λΈμ„ μ €μž₯ν•  경둜

  • μ‹œκ³„μ—΄ λΆ„λ₯˜ λͺ¨λΈ hyperparameter : μ•„λž˜μ— μžμ„Ένžˆ μ„€λͺ….

    • LSTM hyperparameter
    • GRU hyperparameter
    • 1D-CNN hyperparameter
    • LSTM_FCNs hyperparameter

μ‹œκ³„μ—΄ λΆ„λ₯˜ λͺ¨λΈ hyperparameter

1. LSTM & GRU (w/o data representation)

  • input_size : λ°μ΄ν„°μ˜ λ³€μˆ˜ 개수, int
  • num_classes : λΆ„λ₯˜ν•  class 개수, int
  • num_layers : recurrent layers의 수, int(default: 2, λ²”μœ„: 1 이상)
  • hidden_size : hidden state의 차원, int(default: 64, λ²”μœ„: 1 이상)
  • dropout : dropout ν™•λ₯ , float(default: 0.1, λ²”μœ„: 0 이상 1 μ΄ν•˜)
  • bidirectional : λͺ¨λΈμ˜ μ–‘λ°©ν–₯μ„± μ—¬λΆ€, bool(default: True)
  • num_epochs : ν•™μŠ΅ epoch 횟수, int(default: 150, λ²”μœ„: 1 이상)
  • batch_size : batch 크기, int(default: 64, λ²”μœ„: 1 이상, 컴퓨터 사양에 μ ν•©ν•˜κ²Œ μ„€μ •)
  • lr : learning rate, float(default: 0.0001, λ²”μœ„: 0.1 μ΄ν•˜)
  • device : ν•™μŠ΅ ν™˜κ²½, (default: 'cuda', ['cuda', 'cpu'] 쀑 선택)

2. 1D CNN (w/o data representation)

  • input_size : λ°μ΄ν„°μ˜ λ³€μˆ˜ 개수, int
  • num_classes : λΆ„λ₯˜ν•  class 개수, int
  • seq_len : λ°μ΄ν„°μ˜ μ‹œκ°„ 길이, int
  • output_channels : convolution layer의 output channel, int(default: 64, λ²”μœ„: 1 이상, 2의 μ§€μˆ˜λ‘œ μ„€μ • ꢌμž₯)
  • kernel_size : convolutional layer의 filter 크기, int(default: 3, λ²”μœ„: 3 이상, ν™€μˆ˜λ‘œ μ„€μ • ꢌμž₯)
  • stride : convolution layer의 stride 크기, int(default: 1, λ²”μœ„: 1 이상)
  • padding : padding 크기, int(default: 0, λ²”μœ„: 0 이상)
  • dropout : dropout ν™•λ₯ , float(default: 0.1, λ²”μœ„: 0 이상 1 μ΄ν•˜)
  • num_epochs : ν•™μŠ΅ epoch 횟수, int(default: 150, λ²”μœ„: 1 이상)
  • batch_size : batch 크기, int(default: 64, λ²”μœ„: 1 이상, 컴퓨터 사양에 μ ν•©ν•˜κ²Œ μ„€μ •)
  • lr : learning rate, float(default: 0.0001, λ²”μœ„: 0.1 μ΄ν•˜)
  • device : ν•™μŠ΅ ν™˜κ²½, (default: 'cuda', ['cuda', 'cpu'] 쀑 선택)

3. LSTM-FCNs (w/o data representation)

  • input_size : λ°μ΄ν„°μ˜ λ³€μˆ˜ 개수, int
  • num_classes : λΆ„λ₯˜ν•  class 개수, int
  • num_layers : recurrent layers의 수, int(default: 1, λ²”μœ„: 1 이상)
  • lstm_drop_out : LSTM dropout ν™•λ₯ , float(default: 0.4, λ²”μœ„: 0 이상 1 μ΄ν•˜)
  • fc_drop_out : FC dropout ν™•λ₯ , float(default: 0.1, λ²”μœ„: 0 이상 1 μ΄ν•˜)
  • num_epochs : ν•™μŠ΅ epoch 횟수, int(default: 150, λ²”μœ„: 1 이상)
  • batch_size : batch 크기, int(default: 64, λ²”μœ„: 1 이상, 컴퓨터 사양에 μ ν•©ν•˜κ²Œ μ„€μ •)
  • lr : learning rate, float(default: 0.0001, λ²”μœ„: 0.1 μ΄ν•˜)
  • device : ν•™μŠ΅ ν™˜κ²½, (default: 'cuda', ['cuda', 'cpu'] 쀑 선택)



2. With data representation

  • 원본 μ‹œκ³„μ—΄ 데이터λ₯Ό representation vector둜 λ³€ν™˜ν•œ 데이터λ₯Ό μž…λ ₯으둜 ν™œμš©ν•˜λŠ” time series classification에 λŒ€ν•œ μ„€λͺ…
  • μž…λ ₯ 데이터 ν˜•νƒœ : (num_of_instance, embedding_dim) μ°¨μ›μ˜ λ‹€λ³€λŸ‰ μ‹œκ³„μ—΄ 데이터(multivariate time-series data)

Time series classification μ‚¬μš© μ‹œ, μ„€μ •ν•΄μ•Όν•˜λŠ” κ°’

  • model : 'FC' 선택

  • best_model_path : ν•™μŠ΅ μ™„λ£Œλœ λͺ¨λΈμ„ μ €μž₯ν•  경둜

  • μ‹œκ³„μ—΄ λΆ„λ₯˜ λͺ¨λΈ hyperparameter : μ•„λž˜μ— μžμ„Ένžˆ μ„€λͺ….

    • FC hyperparameter

데이터 ν‘œμƒ λΆ„λ₯˜ λͺ¨λΈ hyperparameter

1. FC (w/ data representation)

  • input_size : λ°μ΄ν„°μ˜ λ³€μˆ˜ 개수, int
  • num_classes : λΆ„λ₯˜ν•  class 개수, int
  • dropout : dropout ν™•λ₯ , float(default: 0.1, λ²”μœ„: 0 이상 1 μ΄ν•˜)
  • bias : bias μ‚¬μš© μ—¬λΆ€, bool(default: True)
  • num_epochs : ν•™μŠ΅ epoch 횟수, int(default: 150, λ²”μœ„: 1 이상)
  • batch_size : batch 크기, int(default: 64, λ²”μœ„: 1 이상, 컴퓨터 사양에 μ ν•©ν•˜κ²Œ μ„€μ •)
  • lr : learning rate, float(default: 0.0001, λ²”μœ„: 0.1 μ΄ν•˜)
  • device : ν•™μŠ΅ ν™˜κ²½, (default: 'cuda', ['cuda', 'cpu'] 쀑 선택)