Предложения по созданию пакетов и временных шагов во временных данных для обучения RNN (LSTM) - PullRequest
0 голосов
/ 17 декабря 2018

Предположим, следующие данные

Образец #

table {
  border-collapse: collapse;
  
}

table, th, td {
  border: 1px solid black;
  padding:5px;
  text-align:center;
}
<table>
  <thead>
    
    <th>Sample Number</th>
    <th>Time</th>
    <th>Feature 1</th>
    <th>Feature 2</th>
    <th>...</th>
    <th>Feature F</th>
    <th>y(t)</th>
    <th>Target<br/>y(t+1)</th>
  </thead>
  <tbody>
    <tr>
      <td rowspan="6">Sample 1</td>
      <td>1</td>	<td>0.19</td>	<td>0.21</td>	<td>...</td>	<td>0.55</td>	<td>3</td>	<td>1</td>
    </tr>
    <tr><td>2</td>	<td>0.14</td>	<td>0.14</td>	<td>...</td>	<td>0.14</td>	<td>1</td>	<td>5</td></tr>
<tr><td>3</td>	<td>0.65</td>	<td>0.11</td>	<td>...</td>	<td>0.63</td>	<td>5</td>	<td>3</td></tr>
<tr><td>4</td>	<td>0.1</td>	<td>0.09</td>	<td>...</td>	<td>0.17</td>	<td>3</td>	<td>1</td></tr>
<tr><td>5</td>	<td>0.93</td>	<td>0.08</td>	<td>...</td>	<td>0.91</td>	<td>1</td>	<td>2</td></tr>
<tr><td>6</td>	<td>0.12</td>	<td>0.74</td>	<td>...</td>	<td>0.61</td>	<td>2</td>	<td>3</td></tr>
  <tr>
      <td rowspan="6">Sample 2</td>
      <td>1</td>	<td>0.89</td>	<td>0.91</td>	<td>...</td>	<td>0.05</td>	<td>1</td>	<td>1</td></tr>
      <tr><td>2</td>	<td>0.78</td>	<td>0.24</td>	<td>...</td>	<td>0.21</td>	<td>1</td>	<td>4</td></tr>
<tr><td>3</td>	<td>0.31</td>	<td>0.22</td>	<td>...</td>	<td>0.9</td>	<td>4</td>	<td>1</td></tr>
<tr><td>4</td>	<td>0.25</td>	<td>0.23</td>	<td>...</td>	<td>0.45</td>	<td>1</td>	<td>5</td></tr>
<tr><td>5</td>	<td>0.59</td>	<td>0.35</td>	<td>...</td>	<td>0.5</td>	<td>5</td>	<td>2</td></tr>
<tr><td>6</td>	<td>0.9</td>	<td>0.55</td>	<td>...</td>	<td>0.46</td>	<td>2</td>	<td>1</td></tr>

 <tr>
      <td rowspan="6">Sample S</td>
      <td>1</td>	<td>0.97</td>	<td>0.59</td>	<td>...</td>	<td>0.4</td>	<td>5</td>	<td>4</td></tr>
      
<tr><td>2</td>	<td>0.59</td>	<td>0.67</td>	<td>...</td>	<td>0.16</td>	<td>4</td>	<td>4</td></tr>
<tr><td>3</td>	<td>0.75</td>	<td>0.28</td>	<td>...</td>	<td>0.83</td>	<td>4</td>	<td>4</td></tr>
<tr><td>4</td>	<td>0.86</td>	<td>0.27</td>	<td>...</td>	<td>0.02</td>	<td>4</td>	<td>5</td></tr>
<tr><td>5</td>	<td>0.72</td>	<td>0.96</td>	<td>...</td>	<td>0.75</td>	<td>5</td>	<td>4</td></tr>
<tr><td>6</td>	<td>0.83</td>	<td>0.44</td>	<td>...</td>	<td>0.15</td>	<td>4</td>	<td>1</td></tr>




    
  <tbody>
</table>

Для обучения LSTM мы должны предоставить (batch_size, number_features, time_steps)

batch_size: до S number_features: F time_steps: up6

Когда мы обучаем RNN с помощью LSTM, мы можем выбрать размер пакета, скажем, 3 выборки на пакет, а затем, чтобы завершить 1 итерацию, мы должны быть S / 3 (количество пакетов, необходимых для завершения 1эпоха).

Несколько вещей, которые я хотел бы проверить с вами, ребята.

1) В примере с batch_size, равным 3, в каждой эпохе я должен произвольно и вручную выбрать эти 3 образца изданные обучения и подгонки его под модель правильно?Или когда я придаю тензорному потоку форму (3, F, 3), она уже корректно ломается?В этом случае все данные должны быть упорядочены?

2) О временном шаге (времени).Поскольку я не знаю, сколько временных шагов требуется для разумного предсказания y (t + 1), что мне делать?Тренируйтесь с шагом 2, 3, до 6 и смотрите, какой из них лучше?

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...