Объясните, как система может играть в шахматы, используя обучение с подкреплением (reinforcement learning)

Обучение с подкреплением подразумевает наличие среды и агента. Агент выполняет определённые действия для достижения конкретной цели. Каждый раз, когда агент совершает действие, приближающее его к цели, он получает вознаграждение. И каждый раз, когда он делает шаг, отдаляющий его от цели, он получает штраф.

В случае с шахматами агент учится, играя в игру. Система делает ход (совершает действие), проверяет, правильный ли это ход (получает обратную связь) и сохраняет результат для следующего шага (обучается). Вознаграждение даётся за каждый хороший ход, а наказание — за каждый плохой.

#машинное_обучение
Самые полезные каналы для программистов в одной подборке!

Сохраняйте себе, чтобы не потерять 💾

🔥Для всех

Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
IT-мемы
Proglib Academy — тут мы рассказываем про обучение и курсы
Азбука айтишника — здесь мы познаем азы из мира программирования

🤖Про нейросети
Библиотека робототехники и беспилотников | Роботы, ИИ, интернет вещей
Библиотека нейрозвука | Транскрибация, синтез речи, ИИ-музыка
Библиотека нейротекста | ChatGPT, Gemini, Bing
Библиотека нейровидео | Sora AI, Runway ML, дипфейки
Библиотека нейрокартинок | Midjourney, DALL-E, Stable Diffusion

#️⃣C#

Книги для шарпистов | C#, .NET, F#
Библиотека шарписта — полезные статьи, новости и обучающие материалы по C#
Библиотека задач по C# — код, квизы и тесты
Библиотека собеса по C# — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Вакансии по C#, .NET, Unity Вакансии по PHP, Symfony, Laravel

☁️DevOps

Библиотека devops’а — полезные статьи, новости и обучающие материалы по DevOps
Вакансии по DevOps & SRE
Библиотека задач по DevOps — код, квизы и тесты
Библиотека собеса по DevOps — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования

🐘PHP

Библиотека пхпшника — полезные статьи, новости и обучающие материалы по PHP
Вакансии по PHP, Symfony, Laravel
Библиотека PHP для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по PHP — код, квизы и тесты

🐍Python

Библиотека питониста — полезные статьи, новости и обучающие материалы по Python
Вакансии по питону, Django, Flask
Библиотека Python для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Python — код, квизы и тесты

Java

Книги для джавистов | Java
Библиотека джависта — полезные статьи по Java, новости и обучающие материалы
Библиотека Java для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Java — код, квизы и тесты
Вакансии для java-разработчиков

👾Data Science

Книги для дата сайентистов | Data Science
Библиотека Data Science — полезные статьи, новости и обучающие материалы по Data Science
Библиотека Data Science для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Data Science — код, квизы и тесты
Вакансии по Data Science, анализу данных, аналитике, искусственному интеллекту

🦫Go

Книги для Go разработчиков
Библиотека Go разработчика — полезные статьи, новости и обучающие материалы по Go
Библиотека Go для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Go — код, квизы и тесты
Вакансии по Go

🧠C++

Книги для C/C++ разработчиков
Библиотека C/C++ разработчика — полезные статьи, новости и обучающие материалы по C++
Библиотека C++ для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по C++ — код, квизы и тесты
Вакансии по C++

💻Другие каналы

Библиотека фронтендера
Библиотека мобильного разработчика
Библиотека хакера
Библиотека тестировщика
Библиотека разработчика игр | Gamedev, Unity, Unreal Engine
Вакансии по фронтенду, джаваскрипт, React, Angular, Vue
Вакансии для мобильных разработчиков
Вакансии по QA тестированию
InfoSec Jobs — вакансии по информационной безопасности

📁Чтобы добавить папку с нашими каналами, нажмите 👉сюда👈

Также у нас есть боты:
Бот с IT-вакансиями
Бот с мероприятиями в сфере IT

Мы в других соцсетях:
🔸VK
🔸YouTube
🔸Дзен
🔸Facebook *
🔸Instagram *

* Организация Meta запрещена на территории РФ
Считаете ли вы нужным как-то готовиться к поведенческому (behavioral) интервью?
Anonymous Poll
61%
Да
39%
Нет
🤖 Напоминаем, что у нас есть еженедельная email-рассылка, посвященная последним новостям и тенденциям в мире искусственного интеллекта.

В ней:
● Новости о прорывных исследованиях в области машинного обучения и нейросетей
● Материалы о применении ИИ в разных сферах
● Статьи об этических аспектах развития технологий
● Подборки лучших онлайн-курсов и лекций по машинному обучению
● Обзоры инструментов и библиотек для разработки нейронных сетей
● Ссылки на репозитории с открытым исходным кодом ИИ-проектов
● Фильмы, сериалы и книги

👉Подписаться👈
Какую функцию активации использовать для классов, которые не являются взаимоисключающими?

В таких случаях предсказание для каждого класса можно рассматривать как отдельную задачу бинарной классификации — задачу предсказания того, принадлежит объект к конкретному классу или нет.

Наиболее распространённый подход для такой задачи — это использование сигмоиды в качестве функции активации и бинарной кросс-энтропии в качестве функции потерь. Сигмоида на каждом выходе даёт вероятность принадлежности объекта к классу, а бинарная кросс-энтропия измеряет разницу между предсказанными вероятностями и истинными метками для каждого класса.

#машинное_обучение
🌐 Преимущества и недостатки работы в ИТ-аутсорсинговой компании

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

Получите основу для дальнейшего изучения более сложных нейронных сетей:
🔵 Базовые модели ML и приложения

🔗 Ссылка на статью
Please open Telegram to view this post
VIEW IN TELEGRAM
Какие существуют методы разбиения в алгоритмах построения решающих деревьев?

🔹Индекс Джини (Gini Impurity)
Используется для задач классификации. Он измеряет вероятность того, что случайно выбранный объект будет неправильно классифицирован. Чем ниже значение индекса Джини, тем «чище» разбиение.

🔹Информационный прирост (Information Gain)
Он измеряет то, как снижается энтропия (степень неопределённости) после разбиения данных. Этот метод помогает выбрать наилучший признак для разбиения в задачах классификации.

🔹Дисперсия (Variance)
Для задач регрессии, где целевая переменная является непрерывной, используется метод дисперсии. Цель — минимизировать разброс значений целевой переменной в подмножествах после разбиения.

#машинное_обучение
📊🚀💡Power BI: когда Excel уже не справляется

Представьте, что все ключевые показатели вашего бизнеса доступны в один клик. Мы расскажем, как BI-инструменты делают это реальностью и почему без них уже не обойтись.

👉 Читать статью
Почему свёрточные нейросети оказались лучше обычных (MLP, например) именно в задачах классификации изображений?

🔹Количество параметров

Представим, что вы решили использовать обычную многослойную сеть с кросс-энтропией для классификации изображений, предварительно развернув каждую картинку в вектор. В таком случае, количество параметров в первом слое будет зависеть от размерности вектора (например, 1920x1080) и числа нейронов. Если количество нейронов слишком мало, мы рискуем потерять важную информацию.

Свёрточные нейросети предлагают решение этой проблемы. Их архитектура позволяет значительно сократить количество параметров за счёт использования свёрток и пулинговых слоёв. Это не только уменьшает сложность модели, но и помогает сохранять важные характеристики изображений.

🔹Структура данных

Обычная многослойная нейронная сеть должна справляться с инвариантностью к различным преобразованиям изображений, таким как повороты и сдвиги. Это достигается увеличением числа нейронов в скрытых слоях, что нежелательно с точки зрения вычислительных ресурсов и риска переобучения.

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

#глубокое_обучение
Вакансии «Библиотеки программиста» — ждем вас в команде!

Мы постоянно растем и развиваемся, поэтому создали отдельную страницу, на которой будут размещены наши актуальные вакансии. Сейчас мы ищем:
👉контент-менеджеров для ведения телеграм-каналов

Подробности тут

Мы предлагаем частичную занятость и полностью удаленный формат работы — можно совмещать с основной и находиться в любом месте🌴

Ждем ваших откликов 👾
🐍⚙️ 10 способов оптимизации Python-кода

Python ценят за простоту, гибкость и читаемость, но критикуют за невысокую производительность. Эта критика не всегда обоснована: есть несколько эффективных способов значительно повысить скорость Python-приложений, предназначенных для выполнения сложных вычислений и обработки больших объёмов данных.

Об этих способах читайте в нашей статье 👈
This media is not supported in your browser
VIEW IN TELEGRAM
Как правильно подготовиться к техническому интервью 👀
Опишите процесс предобработки видеоданных для их использования в ML-моделях

🔹Предобработка на уровне кадров

Этапы предобработки видеоданных на уровне отдельных кадров включают:
▪️Сэмплирование, то есть выборка ключевых кадров для сокращения объёма данных.
▪️Приведение всех кадров к одинаковому размеру.
▪️Масштабирование и нормализация, то есть корректировка значений пикселей. Чаще всего нормализация осуществляется для приведения значений к диапазону [0, 1] или [-1, 1].

🔹Видеоэнкодеры

▪️Обработка видео целиком — с помощью 3D-свёрточных сетей (3D-CNN) или трансформеров. Эти модели захватывают как пространственные, так и временные зависимости между кадрами. Такой метод более ресурсоёмкий, но позволяет модели лучше улавливать динамику видеоряда.
▪️Обработка отдельных кадров — каждый кадр обрабатывается отдельно для получения эмбеддингов, которые затем агрегируются (например, с помощью усреднения или рекуррентных сетей). Этот подход быстрее, но может потерять часть информации о временных зависимостях.

#машинное_обучение
🧑‍💻 Статьи для IT: как объяснять и распространять значимые идеи

Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.

Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.

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

👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
Как бы вы разработали систему детекции вредоносного контента в соцсетях?

Начнём с того, что нужно определить типы вредоносного контента, которые мы хотим отслеживать: это могут быть хейтспич, угрозы насилия, кибербуллинг и др. Затем важно понять объём контента, который предстоит анализировать (например, сотни миллионов постов в день), и то, какие языки должны поддерживаться.

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

Одним из главных вызовов является разработка мультимодальной модели. Вредоносный контент может быть представлен в разных форматах: текст, изображения, видео, поэтому необходимо эффективно обрабатывать все эти типы данных. Для этого можно использовать методы раннего и позднего слияния данных: либо объединять данные разных типов сразу для единого предсказания, либо обрабатывать их независимо и затем объединять результаты. Для разработки могут использоваться нейронные сети, такие как модели на основе BERT для текстов и модели CLIP для изображений.

Важной частью системы также является возможность объяснить пользователю, почему его контент был помечен как вредоносный. Кроме того, в процессе онлайн-тестирования и развёртывания системы необходимо следить за её эффективностью через метрики, такие как процент вредоносных постов и количество успешных апелляций.

#машинное_обучение
👨‍🎓📈 Как выбрать специализацию и начать обучение Data Science

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

Наш курс по математике для начала карьеры в Data Science:
🔵 Математика для Data Science
🔵 Основы программирования на Python

📎 Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
Напишите логистическую регрессию

import numpy as np

class LogisticRegression:

def __init__(self, learning_rate=0.01, n_iters=1000):
self.learning_rate = learning_rate
self.n_iters = n_iters
self.weights = None
self.bias = None

def fit(self, X, y):
# initialize weights and bias to zeros
n_samples, n_features = X.shape
self.weights = np.zeros(n_features)
self.bias = 0

# gradient descent optimization
for i in range(self.n_iters):
# calculate predicted probabilities and cost
z = np.dot(X, self.weights) + self.bias
y_pred = self._sigmoid(z)
cost = (-1 / n_samples) * np.sum(y * np.log(y_pred) + (1 - y) * np.log(1 - y_pred))

# calculate gradients
dw = (1 / n_samples) * np.dot(X.T, (y_pred - y))
db = (1 / n_samples) * np.sum(y_pred - y)

# update weights and bias
self.weights -= self.learning_rate * dw
self.bias -= self.learning_rate * db

def predict(self, X):
# calculate predicted probabilities
z = np.dot(X, self.weights) + self.bias
y_pred = self._sigmoid(z)
# convert probabilities to binary predictions
return np.round(y_pred).astype(int)

def _sigmoid(self, z):
return 1 / (1 + np.exp(-z))


#python
#машинное_обучение
💻🔍💼 Кризис IT-рынка: как джуны и кадровый голод меняют правила игры

В условиях нехватки опытных специалистов и наплыва джунов, IT-компании вынуждены искать нестандартные подходы к найму. Рассмотрим основные тренды и стратегии адаптации рынка.

Читать статью

#почитать
2024/09/29 00:45:15
Back to Top
HTML Embed Code: