Как обучить модель квантового МО, используя данные из CSV? |
||
МЕНЮ Главная страница Поиск Регистрация на сайте Помощь проекту Архив новостей ТЕМЫ Новости ИИ Голосовой помощник Разработка ИИГородские сумасшедшие ИИ в медицине ИИ проекты Искусственные нейросети Искусственный интеллект Слежка за людьми Угроза ИИ ИИ теория Внедрение ИИКомпьютерные науки Машинное обуч. (Ошибки) Машинное обучение Машинный перевод Нейронные сети начинающим Психология ИИ Реализация ИИ Реализация нейросетей Создание беспилотных авто Трезво про ИИ Философия ИИ Big data Работа разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика
Генетические алгоритмы Капсульные нейросети Основы нейронных сетей Распознавание лиц Распознавание образов Распознавание речи Творчество ИИ Техническое зрение Чат-боты Авторизация |
2022-04-27 16:45 Начиная работать с c и погружаясь в изучение приложений машинного обучения в квантовой области, вы наверняка быстро зайдете в тупик. Стараясь выбраться из него в попытке что-то сделать со своими данными, вы, вероятно, будете знакомиться с примерами учебника по Qiskit, заглядывать в соответствующие репозитории на GitHub, обращаться к другим источникам, таким как Kaggle, руководства на YouTube или сайт вопросов и ответов Quantum Computing Stack Exchange. После анализа начальных демонстраций QSVM, VQC и/или QSVC вам станет ясно, что почти все они используют специфические “демонстрационные” массивы, встроенные фреймы данных или специально подготовленные фиктивные “квантово-представленные” переменные. Типичным примером может служить набор данных “вино”. В коде будет нечто подобное: from qiskit.ml.datasets import wine Такая запись может быть полезна только для начальных тестов и ознакомления с кодом. Однако в ней отсутствует важнейшая информация: полная схема кодирования данных, их технологическая подготовка (EDA), уменьшение размерности и некоторые другие шаги, необходимые для использования реальных данных в квантовых цепочках. Другой проблемой является использование более значительного числа размерностей и точек данных. Почти все официальные и неофициальные публичные фрагменты кода Qiskit используют минимальное количество размерностей и образцов для обучения и тестирования. Например: n = 2 # размерность каждой точки данных Проблема здесь заключается в быстром переходе к карте признаков, бэкенду, экземпляру и определению модели без какой-либо глубокой “работы с данными”, а также в примитивном подходе с использованием набора данных, который уже был подготовлен как “хороший пример”. Остается только восхищаться подобным результатом: testing_accuracy : 1.0 К сожаленью, это не реальный результат, о чем вы наверняка догадались. Что же предпринять, чтобы продолжить исследования с использованием данных? Ниже приведены несколько шагов и предложений. Можете использовать наборы данных Kaggle, связанные с финансами, розничной торговлей, здравоохранением или любой другой темой, которая вам кажется интересной. Предположим, у вас есть закодированный фрейм данных с базовым EDA и с целочисленной целевой переменной. В этом случае можно приступить к следующим простым, но важным шагам: стандартизации (StandardScaler), удалению среднего значения, масштабированию до единичной дисперсии и уменьшению размерности (PCA). scaler = StandardScaler() n_dim = 3 Количество измерений, используемых в PCA, должно быть равно количеству кубитов, необходимых для последующего запуска квантовой модели. Наконец, можно разделить набор данных и создать обучающий и тестовый вход для квантовой или гибридной квантовой модели, а также настроить конфигурацию для алгоритма, карты признаков, бэкенда и некоторых других переменных, которые вам понадобятся. В этом примере представлен VQC (вариационный квантовый классификатор): feature_map = ZZFeatureMap(feature_dimension=feature_dim, reps=2) optimizer = SPSA(maxiter=40, c0=4.0, skip_calibration=True) var_form = TwoLocal(feature_dim, ['ry', 'rz'], 'cz', reps=3) vqc = VQC(optimizer, feature_map, var_form, training_input, test_input, datapoints[0]) backend = BasicAer.get_backend('qasm_simulator') quantum_instance = QuantumInstance(backend, shots=1024, seed_simulator=seed, seed_transpiler=seed) result = vqc.run(quantum_instance) Осталось обсудить еще много вопросов относительно результатов ваших исследований и времени, необходимого для их получения при увеличении количества используемых кубитов/размерностей, а также более значительного количества точек данных с применением как симуляторов, так и реальных квантовых машин. Кроме того, вам придется пройти через множество различных установок и провести несколько тестов. Для этого у вас есть несколько альтернатив:
Читайте также:
Источник: m.vk.com Комментарии: |
|