Квантовые байесовские сети, вероятно, то, что вы ищете

Хотите начать работу с квантовым машинным обучением? Взгляните на статью Практическое квантовое машинное обучение с помощью Python.

Если вы хотите начать работу с квантовым машинным обучением, вам понравятся квантовые байесовские сети (QBN). Они интуитивно понятны, поэтому их легко понять. Тем не менее, они используют фундаментальные концепции квантовых вычислений. Таким образом, вы можете изучить концепции на практике.

В своем еженедельном задании по квантовому машинному обучению я задал простой вопрос: «Может ли студент решить проблему?»

Оказывается, решение представляет собой квантовую байесовскую сеть.

«Что ?!» вы думаете, «эта задача практически не содержит никакой информации. Не говоря уже о некоторых ручках, чтобы решить, как ее решить, и, наконец, решить ее! »

Конечно, ты прав. Я предоставил больше информации, когда сформулировал задачу.

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

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

А пока мы можем только догадываться. Чтобы ответить на вопрос, нам нужно выразить свои убеждения. Так что в лучшем случае наш ответ вероятностный. Например, это может быть «Я верю, что ученик может решить проблему» или «у нее есть 50% шанс решить ее».

Байесовские сети и квантовые вычисления разделяют вероятностную перспективу.

Самая простая переменная, которую мы можем придумать, - это Boolean. Это переменная с двумя возможными значениями. Верно или неверно, 1 или 0, либо ученик решает задачу, либо нет. В байесовской сети мы используем распределение Бернулли для описания булевой переменной. Он обозначает вероятности любого значения. На следующем рисунке показано типичное распределение Бернулли.

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

Например, если кубит находится в состоянии суперпозиции, таком как | +⟩, вероятность измерения его как 0 составляет 50%. Итак, кубит напоминает распределение Бернулли, о котором мы только что говорили.

Помимо переменных, байесовская сеть содержит условные зависимости между ними. Например, если студент прочитает мою книгу Практическое квантовое машинное обучение с Python, шанс ее решения увеличивается до 90%. Теперь у нас есть сеть с двумя переменными, как показано на следующем рисунке.

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

Первый кубит (число в правом верхнем углу) показывает, прочитал ли студент книгу. А второй кубит (число в нижнем левом углу) показывает, сможет ли ученик решить задачу. Если мы посмотрим только на случаи, когда первый кубит равен 1 - это означает, что она прочитала книгу, - мы увидим, что она решает проблему в 90% случаев.

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

Ее общий шанс решить проблему составляет 74%. Это сумма всех состояний, в которых второй кубит равен 1.

Заключение

Байесовские сети - простой, но мощный инструмент машинного обучения. И они удобны для начала работы с квантовым машинным обучением, потому что разделяют вероятностную перспективу, которая имеет первостепенное значение в квантовых вычислениях.

Мы узнали, как распределение Бернулли представляет кубит в суперпозиции. И мы увидели, что можем использовать запутанность для моделирования зависимостей между переменными в байесовской сети.

Хотите узнать больше о квантовом машинном обучении и квантовых байесовских сетях? В моей книге Практическое квантовое машинное обучение с помощью Python мы создаем QBN с нуля, обучаем его учитывать пропущенные значения и использовать для вывода.

Первые три главы получите бесплатно здесь.