Избранные комментарии трейдера Игорь @BrentBuySell

по

Replikant_mih, 
Маchine Learning можно перекладывать уже в Первый ящик, потому что ничего сложного там нет.
Достаточно будет знания ОСНОВ линейной алгебры (матрицы, вектора, операции с ними, собственные значения итд), ОСНОВ статистики, матанализ основы. Сейчас уже тензоры в моде — Погуглите «Tensorflow».

Но в принципе вся математика от Вас скрыта в функциях.
А все разновидности ML имеют вполне схожие схемы и технологии применения.

Ниже приведу пример кода обучения Сверточной Нейронной Сети, специально для Вас, чтобы Вы увидели, что математики, как таковой,  в нем нет. Только последовательность функций.

# Загружаем данные
(X_train, y_train), (X_test, y_test) = cifar10.load_data()
# Размер мини-выборки
batch_size = 32
# Количество классов изображений
nb_classes = 10
# Количество эпох для обучения
nb_epoch = 1
# Размер изображений
img_rows, img_cols = 32, 32
# Количество каналов в изображении: RGB
img_channels = 3

# Нормализуем данные
X_train = X_train.astype('float32')
X_test = X_test.astype('float32')
X_train /= 255
X_test /= 255

# Преобразуем метки в категории
Y_train = np_utils.to_categorical(y_train, nb_classes)
Y_test = np_utils.to_categorical(y_test, nb_classes)

# Создаем последовательную модель
model = Sequential()
# Первый сверточный слой
model.add(Conv2D(32, (3, 3), padding='same',
input_shape=(32, 32, 3), activation='relu'))
# Второй сверточный слой
model.add(Conv2D(32, (3, 3), activation='relu', padding='same'))
# Первый слой подвыборки
model.add(MaxPooling2D(pool_size=(2, 2)))
# Слой регуляризации Dropout
model.add(Dropout(0.25))

# Третий сверточный слой
model.add(Conv2D(64, (3, 3), padding='same', activation='relu'))
# Четвертый сверточный слой
model.add(Conv2D(64, (3, 3), activation='relu'))
# Второй слой подвыборки
model.add(MaxPooling2D(pool_size=(2, 2)))
# Слой регуляризации Dropout
model.add(Dropout(0.25))
# Слой преобразования данных из 2D представления в плоское
model.add(Flatten())
# Полносвязный слой для классификации
model.add(Dense(512, activation='relu'))
# Слой регуляризации Dropout
model.add(Dropout(0.5))
# Выходной полносвязный слой
model.add(Dense(nb_classes, activation='softmax'))

# Задаем параметры оптимизации
sgd = SGD(lr=0.01, decay=1e-6, momentum=0.9, nesterov=True)
model.compile(loss='categorical_crossentropy',
optimizer=sgd,
metrics=['accuracy'])
# Обучаем модель
model.fit(X_train, Y_train,
batch_size=batch_size,
epochs=nb_epoch,
validation_split=0.1,
shuffle=True,
verbose=2)

# Оцениваем качество обучения модели на тестовых данных
scores = model.evaluate(X_test, Y_test, verbose=0)
print(«Точность работы на тестовых данных: %.2f%%» % (scores[1]*100))

И Фсё — вот вся «сложность» 

avatar
  • 01 апреля 2019, 22:40
  • Еще
ПBМ, Упаси меня боже доказывать кому-то что-то. Особенно верующим в плоскую землю и во вред прививок. 
sortarray sortarray, вот питоновский вариант

from abc import ABCMeta, abstractmethod

class Observer(metaclass=ABCMeta):
    """
    Абстрактный наблюдатель
    """

    @abstractmethod
    def update(self, message: str) -> None:
        """
        Получение нового сообщения
        """
        pass

class Observable(metaclass=ABCMeta):
    """
    Абстрактный наблюдаемый
    """

    def __init__(self) -> None:
        """
        Constructor.
        """
        self.observers = []     # инициализация списка наблюдателей

    def register(self, observer: Observer) -> None:
        """
        Регистрация нового наблюдателя на подписку
        """
        self.observers.append(observer)

    def notify_observers(self, message: str) -> None:
        """
        Передача сообщения всем наблюдателям, подписанным на события
        данного объекта наблюдаемого класса
        """
        for observer in self.observers:
            observer.update(message)

class Newspaper(Observable):
    """
    Газета, за новостями в которой следят тысячи людей
    """

    def add_news(self, news: str) -> None:
        """
        Выпуск очередной новости
        """
        self.notify_observers(news)

class Citizen(Observer):
    """
    Обычный гражданин, который любит читнуть с утра любимую газетку
    """

    def __init__(self, name: str) -> None:
        """
        Constructor.

        :param name: имя гражданина, чтоб не спутать его с кем-то другим
        """
        self.name = name

    def update(self, message: str) -> None:
        """
        Получение очередной новости
        """
        print('{} узнал следующее: {}'.format(self.name, message))

if __name__ == '__main__':
    newspaper = Newspaper()                 # создаем небольшую газету
    newspaper.register(Citizen('Иван'))     # добавляем двух человек, которые
    newspaper.register(Citizen('Василий'))  # ... ее регулярно выписывают
    # ... и вбрасываем очередную газетную утку
    newspaper.add_news('Наблюдатель - поведенческий шаблон проектирования')
avatar
  • 01 апреля 2019, 20:53
  • Еще
Во-первых, я открыл для себя такой гениальный язык, как Python.
Как думаете, сколько строчек занимает программа на питоне для распознавания текста из картинки? 4 строки!

если исползовать сахар и либы, там и одна строка может быть, что толку то? Это не говорит о «мощности»

Напишите короче на питоне вот это

Observer := Object clone

Observable := List clone do(
   register := getSlot("push")
   notify := method(message, self foreach(observer, observer update(message)))
)
Newspaper := Observable clone do( addNews := method(news, notify(news)))

Citizen := Observer clone do(
   create := method(name, self clone lexicalDo(name := name))
   update := method(message, writeln( name .. " узнал следующее: " .. message))
)

newspaper := Newspaper clone

newspaper do(
   register(Citizen create("Иван"))
   register(Citizen create("Василий"))
   addNews("Наблюдатель - поведенческий шаблон проектирования")
)
avatar
  • 01 апреля 2019, 20:52
  • Еще
ВСЕ делают деньги на бирже.

Глава ВТБ Андрей Костин поведал миру о своих «успехах» торговли на мировом валютном рынке Forex, а точнее о том, как он сделал неудачную ставку на повышение британского фунта стерлингов, как раз перед референдумом по вопросу выхода королевства из состава ЕС.
«Я как раз накануне Brexit был в Нью-Йорке, выступал на CNN и гордо заявил, что не может Великобритания выйти из состава ЕС. Я готов собственные деньги на это поставить. Что я и сделал».
avatar
  • 02 июня 2017, 18:44
  • Еще
....все тэги
UPDONW
Новый дизайн