1. Первый слой подвыборки:

```python

model.add(layers.MaxPooling2D((2, 2)))

```

– Размер пула 2x2: Снижение размерности выходных данных в два раза по каждой оси.

2. Второй слой подвыборки:

```python

model.add(layers.MaxPooling2D((2, 2)))

```

– Дополнительный слой подвыборки для дальнейшего уменьшения размерности данных.

Добавление полносвязных слоев (Fully Connected Layers)

После извлечения признаков из изображений с помощью сверточных и подвыборочных слоев, мы используем полносвязные слои (Dense) для классификации. Эти слои соединяют каждый нейрон предыдущего слоя с каждым нейроном текущего слоя.

1. Приведение данных в одномерный вид:

```python

model.add(layers.Flatten())

```

– Преобразование многомерного выхода сверточных слоев в одномерный вектор.

2. Первый полносвязный слой:

```python

model.add(layers.Dense(64, activation='relu'))

```

– 64 нейрона: Обучение нелинейным комбинациям признаков.

3. Выходной полносвязный слой:

```python

model.add(layers.Dense(10))

```

– 10 нейронов: Каждый нейрон соответствует одному классу из 10 в наборе данных CIFAR-10.

Построенная таким образом сеть состоит из нескольких сверточных слоев для извлечения признаков, слоев подвыборки для уменьшения размерности данных и полносвязных слоев для классификации. Эта архитектура позволяет эффективно решать задачу классификации изображений, выделяя важные признаки и обучаясь на их основе.

5. Построение простой рекуррентной нейронной сети для анализа временных рядов

– Задача: Прогнозирование цен на акции.

Для построения простой рекуррентной нейронной сети (RNN) для анализа временных рядов и прогнозирования цен на акции можно использовать библиотеку TensorFlow и её высокоуровневый интерфейс Keras. В этом примере мы рассмотрим, как использовать LSTM (Long Short-Term Memory) слои, которые являются разновидностью RNN, чтобы построить модель для прогнозирования цен на акции.

Шаги:

1. Импорт библиотек и модулей.

2. Подготовка данных.

3. Построение модели RNN.

4. Компиляция и обучение модели.

5. Оценка и тестирование модели.

Пример кода:

```python

import numpy as np

import pandas as pd

import tensorflow as tf

from tensorflow.keras import layers, models

from sklearn.preprocessing import MinMaxScaler

from sklearn.model_selection import train_test_split

import matplotlib.pyplot as plt

# Шаг 1: Импорт библиотек

import numpy as np

import pandas as pd

import tensorflow as tf

from tensorflow.keras import layers, models

from sklearn.preprocessing import MinMaxScaler

from sklearn.model_selection import train_test_split

import matplotlib.pyplot as plt

# Шаг 2: Подготовка данных

# Загрузка данных. Предположим, что у нас есть CSV файл с историческими ценами на акции.

data = pd.read_csv('stock_prices.csv')

# Выбираем интересующие нас столбцы, например, 'Close'

prices = data['Close'].values.reshape(-1, 1)

# Нормализация данных

scaler = MinMaxScaler(feature_range=(0, 1))

scaled_prices = scaler.fit_transform(prices)

# Создание последовательностей для обучения модели

def create_sequences(data, sequence_length):

sequences = []

targets = []

for i in range(len(data) – sequence_length):

sequences.append(data[i:i + sequence_length])

targets.append(data[i + sequence_length])

return np.array(sequences), np.array(targets)

sequence_length = 60 # 60 дней

X, y = create_sequences(scaled_prices, sequence_length)

# Разделение данных на обучающую и тестовую выборки

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, shuffle=False)

# Шаг 3: Построение модели RNN

model = models.Sequential()

model.add(layers.LSTM(50, return_sequences=True, input_shape=(sequence_length, 1)))