Смартфоны могут распознавать фонетическую семантику, а AlphaGo может победить Ли Седоля. Является ли этот искусственный интеллект более мощным? По сути, суть у них одна, все они используют этот алгоритм, чтобы сделать свои предсказания более точными. Итак, у вас есть общее представление о том, что такое искусственный интеллект. Это просто статистическая модель.

Привет, я Ланс. В прошлый раз я говорил о своем предпринимательстве, сегодня я расскажу о коде. На прошлой неделе я посетил несколько конференций Интернета, искусственного интеллекта и разработчиков. На конференции большинство людей задавало мне вопрос, что публичная сеть МАИ звучит как отличный и креативный проект, но как совместить блокчейн с искусственным интеллектом? В MAI искусственный интеллект пишет сложный код. Но сегодня я хочу немного рассказать вам о том, как реализовать мини-программу искусственного интеллекта с помощью простого кода.

  1. Теория искусственного интеллекта

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

2. Машинное обучение

Математик назвал этот способ обучения статистической моделью, а компьютерщики назвали его машинным обучением (сокращенно ML), что звучит более ценно, а иногда репортеры называют это большими данными. По сути, это искусственный интеллект, заявленный технологическими гигантами на конференции. Сегодня мы на примере расскажем, что такое машинное обучение. Давайте составим мини-программу, чтобы определить, какие пассажиры Титаника могут выжить, а какие погибнуть. Вы также можете найти аналогичные руководства и код на некоторых веб-сайтах.

3. Язык Python

Сначала я расскажу вам о языке Python. Прежде всего, вам необходимо установить на свой компьютер пакет базы данных и пакет функций языка Python. Затем вы можете написать весь проект, написав десятки строк кода. Но если вы хотите понять весь проект, вам придется потратить на изучение целый день.

Если вы знаете, как программировать, вы обнаружите, что это очень просто. Если вы не разбираетесь в программировании, я также могу помочь вам найти способ думать об этом. Машинное обучение в настоящее время является самым ценным навыком в Соединенных Штатах. Специалисты по машинному обучению могут зарабатывать около $500 000 в год. Пример, о котором я сегодня говорю, заставит вас подумать, что машинное обучение — это очень увлекательно. В то же время вы можете понять, как MAI использует искусственный интеллект в качестве основной функции для работы нашего проекта.

Некоторые люди задаются вопросом, как они могут сразу же написать программу машинного обучения без какой-либо технологии? Ответ в том, что вы стоите на плечах MAI, Google и некоторых великих. Алгоритм машинного обучения сейчас очень зрелый. Google открыл ресурс алгоритма AlphaGO. В интернете есть готовые алгоритмы. Даже профессионалам не нужно писать алгоритм от начала до конца. Дюжина часто используемых алгоритмов машинного обучения реализована в библиотечных функциях Python, которые мы можем вызывать напрямую.

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

Прежде чем мы начнем, нам нужен список всех пассажиров Титаника и их статистика. Эти данные доступны в Интернете, и мы можем позвонить им напрямую.

4. Этапы работы

Мы будем использовать язык программирования Python, который является самым интуитивно понятным, самым красивым и самым простым языком.

Вы можете загрузить данные о пассажирах Титаника со следующего веб-сайта.

Данные были разделены на два файла: train и test. Мы будем использовать данные в поезде для обучения статистической модели, а затем использовать тестовый файл для проверки достоверности модели.

Все следующие операции относятся к файлу поезда. Если вы не можете понять код, вы можете проигнорировать его и просто прочитать текст. Откройте обучающие данные, и вы обнаружите, что это 12-битный массив, содержащий следующие элементы для каждого пассажира:

Номер пассажира,

жив ли пассажир,

имя пассажира,

класс пассажира (первый класс, второй класс или третий класс),

пол пассажира,

возраст пассажира,

есть ли у пассажира брат, сестра или супруг на Титанике,

есть ли у пассажира родитель или ребенок на Титанике,

номер билета пассажира,

стоимость билета, купленного пассажиром,

номер каюты пассажира на лодке,

порт, в который пассажир прибыл в Великобритании.

База данных обучения содержит в общей сложности 891 человека, но только 714 из них имеют возрастную запись. Мы можем выполнять различные операции с данными с помощью нескольких простых команд в Python. Например, если мы хотим узнать, сколько пассажиров в каждом классе, мы можем сделать это следующими способами.

Мы можем найти, что есть 216 пассажиров в первом классе, 184 во втором классе и 491 в третьем классе.

И тогда мы можем использовать следующий код,

Мы можем знать, что среди 819 пассажиров 549 пассажиров погибли и 342 выжили, а уровень смертности составил 61,6%. Если я небрежно обозначу пассажира и позволю вам предсказать, жив он или мертв, вы должны предсказать, что он мертв, и точность аварии достигает 61,6%.

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

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

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

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

Здесь мы выбираем четыре индикатора:

1. Класс — говорят, что первый класс имеет приоритет на спасательной шлюпке.

2. Пол — приоритет женского пола.

3. Возраст — приоритет для ребенка.

4. Стоимость билета.

Вам не нужно думать о конкретной роли каждого фактора, пока вы можете догадаться, что эти факторы полезны. Затем все передается алгоритму. Теперь проблема заключается в том, что алгоритм требует, чтобы все данные имели значение, но элемент возраста содержит данные только о 714 людях. Таким образом, мы должны добавить данные о возрасте оставшихся 100 человек. Эти возрастные данные заполнены средним значением всех возрастов пассажиров, что очень часто встречается на практике. Пока следующие несколько строк кода, мы можем сформировать модель, которая также является основной частью всего машинного обучения.

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

Результаты показывают, что статистическая значимость четырех показателей составляет 33,7% для стоимости билета, 31,3% для пола, 23% для возраста и 12,3% для класса обслуживания. Обратите внимание, что это всего лишь комплексный статистический результат. Модель очень сложная внутри, и это не просто средневзвешенное значение этих данных. В любом случае, мы знаем, что стоимость билета является более важным фактором выживания, чем секс.

Посмотрите на точность предсказания этой модели. -

Мы видим, что точность предсказания этой модели достигает 97%, что является очень хорошим результатом. Но это хорошо понятно, потому что эта модель обучается на этом наборе данных. Настоящей проверкой модели являются только что упомянутые «тестовые» данные. В тестовых данных всего 11 показателей, которые не содержат информации о выживаемости.

Затем мы напрямую предсказываем эти тестовые данные, используя только что обученную модель. О выживании пассажиров мы никогда не знали. Поскольку времени не так много, я не буду писать конкретные шаги. В результате точность нашей модели для тестовых данных по-прежнему достигает 97%. Итак, представьте, что если мы знаем информацию о выживании только половины пассажиров «Титаника», мы создаем модель прогнозирования на основе этой информации, а затем можем использовать эту модель для прогнозирования выживания другой половины пассажиров с точностью 97%. .

Теперь давайте рассмотрим это снова, все шаги следующие.

1) Разделите все данные на две группы, одну для обучения и одну для тестирования.

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

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

4) Выберите алгоритм машинного обучения (дерево решений).

5) Цель и информация, которая может повлиять на цель, вводятся в алгоритм как переменная массива и обучают модель прогнозирования.

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

До сих пор вы реализовали программирование искусственного интеллекта.

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

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

1) Во-первых, каждая модель приведет к дискриминации.

Самая важная переменная в модели выживания и смерти «Титаника» — это стоимость билета. Чем дороже билет, тем больше у вас шансов выжить. Предположим, что человек, продающий страховку, знает, что люди, покупающие дорогие билеты, имеют высокий коэффициент выживаемости и вряд ли будут предъявлять претензии в будущем. Тогда, чтобы продать больше страховки, будет ли он брать немного меньше за их страховую премию? Он не презирает бедных и не заискивает перед богатыми, а просто хочет заработать больше денег. Чтобы заработать больше денег, вполне разумно завышать страховые взносы бедных и занижать страховые взносы богатых. Но этично ли это?

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

Сколько возможных факторов важны для жизни людей на Титанике, мы всегда плохо учитываем. Например, приказ капитана состоит в том, что мужчина и ребенок первыми отправляются в спасательную шлюпку. Но у людей может быть разное понимание порядка. Кто-то понимает, что ПРИОРИТЕТ отдается женским и детским спасательным шлюпкам. Если окружающие женщины и дети находятся в спасательной шлюпке и там еще есть место, то они позволяют мужчине сесть на шлюпку. Но другой человек понимает, что ТОЛЬКО женщинам и детям разрешено садиться в спасательные шлюпки, даже если еще есть свободные места. Если да, то может ли самец выжить, также зависит от спасательной шлюпки, вдали от которой он находится. Но у нас нет данных вообще, чтобы доказать это.

Кроме того, когда корабль вот-вот пойдет ко дну, если встать на нос и прыгнуть, вероятность выжить высока. Если не прыгать, шансов выжить нет. Но искусственный интеллект и машинное обучение не могут предсказать, прыгнут люди или нет, потому что эта информация не включена в эту модель. Модель ничего не знает о том, что произошло на «Титанике». Не понимает, что собирается делать. Все предсказания по сути являются догадками. Машинное обучение — это всего лишь вопрос увеличения вероятности угадывания.

5. Заключение

На самом деле, многие исследователи искусственного интеллекта не могут поверить, что эта модель может достичь 97-процентной точности. Точность слишком высока, чтобы быть разумной.

Смартфоны могут распознавать фонетическую семантику, а AlphaGo может победить Ли Седоля. Является ли этот искусственный интеллект более мощным? По сути, суть у них одна, все они используют этот алгоритм, чтобы сделать свои предсказания более точными. Истина лежит на практике. Текущий искусственный интеллект должен использовать статистические методы, чтобы угадать точность предсказания. Искусственный интеллект — это машинное обучение, а машинное обучение — это традиционная статистическая модель. Прорывное развитие искусственного интеллекта в будущем должно осуществляться на более высоких широтах. Для нас на данный момент это все еще на уровне машинного обучения.

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

Телеграмма МАИ (англ.): https://t.me/MaiEN8888

Телеграмма МАИ (китайский): https://t.me/MAI888888

МАИ Твиттер: https://twitter.com/MaiPublicChain

МАИ Reddit: https://new.reddit.com/user/MAI_AI

МАИ Facebook: https://www.facebook.com/MaiPublicChain/