Пробую собрать нейросеть без backpropagation — только спектр, только хардкор. Показываю на XOR и друзьях, как активации влияют на частоты и как строить модели в лоб. Будет странно, но интересно.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
Вам дана матрица признаков (таблица) в виде списка списков. Каждый вложенный список — это объект, каждый столбец — признак.
Нужно реализовать функцию
highly_correlated_features(data, threshold)
, которая вернёт список пар индексов признаков, корреляция между которыми по модулю превышает указанный threshold
(от 0 до 1, не включительно).Использовать можно только корреляцию Пирсона. Повторы пар и зеркальные дубли учитывать не нужно (
(1, 2)
и (2, 1)
— одно и то же).Цель:
Выявить признаки, которые слишком сильно "повторяют" друг друга и могут вызвать мультиколлинеарность в моделях.
Решение задачи
import numpy as np
from itertools import combinations
def pearson_corr(x, y):
x = np.array(x)
y = np.array(y)
return np.corrcoef(x, y)[0, 1]
def highly_correlated_features(data, threshold=0.9):
arr = np.array(data)
n_features = arr.shape[1]
result = []
for i, j in combinations(range(n_features), 2):
corr = pearson_corr(arr[:, i], arr[:, j])
if abs(corr) > threshold:
result.append((i, j))
return result
# Пример использования
X = [
[1, 2, 10],
[2, 4, 20],
[3, 6, 30],
[4, 8, 40],
[5, 10, 50]
]
print(highly_correlated_features(X, threshold=0.95))
# Ожидаемый результат: [(0, 1), (0, 2), (1, 2)]
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3🐳1
Рассказываю, как ИИ перестал быть модной фишкой и стал бизнес-необходимостью. Плюс — что за AI Technology Sandwich придумали в Gartner и зачем им слоёная метафора.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
Показываю, как платформа WorkTeam превращает описания процессов на обычном языке в работающий бизнес-процесс — без кодеров, без боли и почти без магии.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👎8❤1😁1
Data leakage (утечка данных) — это ситуация, когда модель случайно получает информацию о будущем (о целевой переменной), которая недоступна на момент предсказания. Это приводит к переоценке качества модели во время обучения и к плохой работе на реальных данных.
import pandas as pd
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
# Пример: диагностические данные пациента
df = pd.DataFrame({
'age': [25, 40, 60, 35],
'blood_pressure': [120, 130, 150, 110],
'has_disease': [0, 1, 1, 0],
'diagnosis_code': [0, 1, 1, 0] # случайно совпадает с целевой переменной
})
X = df.drop('has_disease', axis=1)
y = df['has_disease']
X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=0)
model = LogisticRegression()
model.fit(X_train, y_train)
print("Train accuracy:", model.score(X_train, y_train))
🗣️ В этом примере diagnosis_code напрямую связан с целевой переменной has_disease. Модель «угадывает» ответы на тренировке, но это не работает в реальности. Такое скрытое совпадение — типичный пример data leakage
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5
Покажем, как связали нашу платформу ИИ и Озеро данных, чтобы модели удобно работали с витринами через Spark. Немного архитектуры, немного боли, немного магии.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4
Расскажу про проект Endless Fun Machine: как я собрал генератор, где ИИ сам придумывает шутки и рисует их в мемы. И заодно покажу, как это можно адаптировать для синтетических данных
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
У вас есть бинарная матрица признаков (список списков из 0 и 1), где каждая строка — это объект, а каждый столбец — бинарный признак (например, наличие/отсутствие свойства).
Ваша задача — реализовать функцию
find_stable_patterns(data, min_support)
, которая находит наиболее часто встречающиеся бинарные шаблоны и возвращает их в виде списка кортежей (или списков).Шаблон — это строка из 0 и 1, которая в точности совпадает с признаками у нескольких объектов. Если шаблон встречается не менее min_support раз, он считается стабильным.
Решение задачи
from collections import Counter
def find_stable_patterns(data, min_support=2):
# Преобразуем каждую строку в кортеж (хешируемый тип)
patterns = [tuple(row) for row in data]
counter = Counter(patterns)
# Фильтруем по min_support
stable = [list(pattern) for pattern, count in counter.items() if count >= min_support]
return stable
# Пример использования
binary_data = [
[1, 0, 1, 1],
[0, 1, 0, 0],
[1, 0, 1, 1],
[1, 0, 1, 1],
[0, 1, 0, 0],
[1, 1, 1, 0]
]
print(find_stable_patterns(binary_data, min_support=2))
# Ожидаемый результат:
# [[1, 0, 1, 1], [0, 1, 0, 0]]
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4
Масштабное расширение функционала MWS GPT: что нового?
☑️Больше 40 LLM, включая Open Source модели: ускоряет внедрение ИИ в бизнес-процессы - клиентам открыт доступ к единой среде для тестирования моделей под их задачи;
☑️Поддержка мультиагентных архитектур в low-code-конструкторе: возможность настраивать сложные сценарии, где агент управляет серией узкоспециализированных помощников;
☑️RAG и Vision в ChatUI: ИИ выделяет главное из длинных текстов и изображений, описывает графические материалы и отвечает на вопросы по инструкциям.
Ограниченному числу пользователе доступен FineTune – возможность обучать готовую языковую модель под свои задачи. Скоро его откроют всем пользователям и добавят функционал по работе с изображениями.
b2b-платформа для работы с ИИ доступна в облаке с неограниченным масштабированием на GPU-инфраструктуре MWS и on-premise.
☑️Больше 40 LLM, включая Open Source модели: ускоряет внедрение ИИ в бизнес-процессы - клиентам открыт доступ к единой среде для тестирования моделей под их задачи;
☑️Поддержка мультиагентных архитектур в low-code-конструкторе: возможность настраивать сложные сценарии, где агент управляет серией узкоспециализированных помощников;
☑️RAG и Vision в ChatUI: ИИ выделяет главное из длинных текстов и изображений, описывает графические материалы и отвечает на вопросы по инструкциям.
Ограниченному числу пользователе доступен FineTune – возможность обучать готовую языковую модель под свои задачи. Скоро его откроют всем пользователям и добавят функционал по работе с изображениями.
b2b-платформа для работы с ИИ доступна в облаке с неограниченным масштабированием на GPU-инфраструктуре MWS и on-premise.
❤3
Рассказываю, как мы в Альфа-Банке делали MVP смыслового поиска по фичам в Feature Store, чтобы находить нужное, даже когда не знаешь, как оно называется. Теперь поиск не тупит
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4
В мае случилось всё: Veo-3 от Google, Claude, мечтающий о свободе, и Llama, которая ушла в закат со скандалом. Ещё Pokémon, «спасибо» и переводы с кошачьего
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4
В статье описан путь от пет-проекта до системы для трекинга транспорта: нейросети, компьютерное зрение и инструменты, позволяющие «видеть» и анализировать производственные процессы.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7
Статья объясняет, как управлять зависимостями и изолировать проекты в Python. Рассматриваются виртуальные окружения, работа с разными версиями Python, примеры из практики и лучшие подходы для разработки.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡2❤1
datetime
в Python и зачем он используется?Модуль
datetime
позволяет работать с датами и временем, включая их создание, форматирование и вычисление разницы между ними. Это полезно для задач, связанных с обработкой временных данных.from datetime import datetime, timedelta
# Текущая дата и время
now = datetime.now()
print("Сейчас:", now)
# Добавляем 7 дней к текущей дате
future_date = now + timedelta(days=7)
print("Через неделю:", future_date.strftime("%Y-%m-%d"))
🗣️ В этом примере datetime.now() получает текущую дату и время, а timedelta позволяет прибавить 7 дней. Метод strftime() форматирует дату в читаемый строковый формат.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6
Техподдержка — важный контакт с клиентами, но небольшие отделы не всегда справляются с нагрузкой. В статье обсуждаются чат-боты и нейросети (LLM и RAG) для автоматизации процессов и улучшения работы поддержки.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍1
Как машинное обучение помогает управлять ускорителями частиц? В статье раскрываются примеры применения нейронных сетей, обучения с подкреплением и байесовской оптимизации для стабилизации и настройки пучков частиц.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3⚡1
Пробуешь новую технологию, библиотеку или архитектурный подход — и спустя пару месяцев не можешь вспомнить, что из этого реально сработало.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤3🔥2
Напишите функцию на Python, которая принимает путь к текстовому файлу и возвращает словарь с подсчётом количества уникальных слов. Слова должны сравниваться без учёта регистра, а знаки препинания должны быть удалены.
Пример:
# Содержимое файла example.txt:
# "Hello, world! This is a test. Hello again."
result = count_words_in_file("example.txt")
print(result)
# Ожидаемый результат:
# {'hello': 2, 'world': 1, 'this': 1, 'is': 1, 'a': 1, 'test': 1, 'again': 1}
Решение задачи
import string
from collections import Counter
def count_words_in_file(file_path):
with open(file_path, 'r', encoding='utf-8') as f:
text =f.read ().lower()
text = text.translate(str.maketrans('', '', string.punctuation))
words = text.split()
return dict(Counter(words))
# Пример использования
result = count_words_in_file("example.txt")
print(result)
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👎2🔥1😁1
Покажу, как в Firefox задействовать несколько потоков в логическом выводе с помощью SharedArrayBuffer и добиться параллельной обработки задач ИИ в WASM/JS.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡3👍2
Напишите функцию, которая принимает строку и возвращает словарь, где ключами являются слова из строки, а значениями — количество их вхождений. Игнорируйте регистр и знаки препинания.
Пример:
text = "Hello, world! Hello Python world."
result = count_words(text)
print(result)
# Ожидаемый результат: {'hello': 2, 'world': 2, 'python': 1}
Решение задачи
import re
from collections import Counter
def count_words(text):
# Убираем знаки препинания и приводим к нижнему регистру
words = re.findall(r'\b\w+\b', text.lower())
# Подсчитываем количество вхождений каждого слова
return Counter(words)
# Пример использования:
text = "Hello, world! Hello Python world."
result = count_words(text)
print(result)
# Ожидаемый результат: {'hello': 2, 'world': 2, 'python': 1}
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5