Итак, что такое искусственный интеллект? Во-первых, это не так сложно, как кажется

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

Искусственный интеллект (ИИ). Кажется, что в каждой статье о технологиях есть упоминание об ИИ. Хотя бы раз или два. Это связано с беспилотными автомобилями, Alexa от Amazon и, конечно же, украдет вашу работу. Хорошо это или плохо, но искусственный интеллект стал модным словом. Хотя кажется, что многие люди не совсем понимают, что это значит, позвольте мне рассказать вам об этом. Термин «искусственный интеллект» (ИИ) основан на идее, что компьютеры или системы могут учиться на данных, выявлять закономерности и принимать решения с минимальным вмешательством человека. Метод обучения на основе анализа данных определяется как машинное обучение (ML). Он автоматизирует построение аналитических моделей и является частью концепции искусственного интеллекта.

Эта статья призвана дать лучшее понимание того, что на самом деле представляет собой ИИ. Сегодня он играет важную роль во многих отраслях. Он используется для того, чтобы человеческий персонал мог добиваться большего, тратя меньше. Для большинства из нас термин «искусственный интеллект» ассоциируется со сложной технологией. Слово интеллект относится к чему-то или кому-то, кто умён и способен работать лучше. И никто не хочет быть менее умным, не так ли? Итак, как именно ИИ способствует развитию человеческих ресурсов? Например, различные журналы используют ИИ для написания и распространения новостей. Неудивительно, что Bloomberg - один из них. Только в прошлом году их программа Cyborg напечатала тысячи статей, которые использовали финансовые отчеты и превратили их в новости, как деловой репортер. Система образования использует ИИ для подготовки специализированных учебных программ. Несколько компаний, таких как Content Technologies и Carnegie Learning, в настоящее время разрабатывают интеллектуальный дизайн инструкций и цифровые платформы, которые используют ИИ для обучения, тестирования и обратной связи с учащимися от дошкольного до высшего образования, что дает им задачи, к которым они готовы, выявляет пробелы. в знаниях и при необходимости перенаправляет на новые темы. Ожидается, что количество искусственного интеллекта в образовании США вырастет на 47,5% в период с 2017 по 2021 год, согласно отчету «Рынок искусственного интеллекта в секторе образования США». Несколько упомянутых областей - это только начало пути ИИ к человеческим ресурсам. В ближайшие годы ИИ будет появляться во все большем количестве отраслей, полностью меняя наш подход к работе.

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

Представьте себе компанию, которая занимается продажами и состоит из 50 торговых представителей, которые упорно трудятся, чтобы способствовать росту доходов компании. Они определенно хотят, чтобы с ними обращались справедливо и получали зарплату, соответствующую их результатам. Менеджер по продажам этой компании прилагает все усилия, чтобы справедливо относиться ко всем сотрудникам. Многолетний опыт работы в отрасли помог ему разработать общий ключевой показатель эффективности для отделов продаж. Менеджер считает, что этот индикатор не только помогает в принятии лучших решений, но и дает представление о том, какие сотрудники более опытны и, следовательно, могут направлять коллег с меньшим опытом. Кроме того, он ввел выручку в качестве ключевого показателя эффективности (KPI), который является одним из наиболее важных аспектов, определяющих успех всей компании и может быть напрямую связан с заработной платой сотрудников. Новые клиенты на борту, их оценка удовлетворенности и сделки, заключенные торговыми представителями, - это другие важные факторы, которые необходимо учитывать при определении успешной работы торговых представителей.

Подводя итог, это были пять ключевых показателей эффективности, которые определил менеджер по продажам:

  • Годы опыта
  • Доход
  • Новые клиенты (новые бренды)
  • Оценка удовлетворенности клиентов
  • Сделки совершены

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

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

Шаг 1. Загрузите и установите инструменты

Скачайте Анаконду

Самая популярная в мире платформа для обработки данных Python / R

Шаг 2 - Импортируйте библиотеки

import numpy as np # fundamental package for scientific computing with Python
import matplotlib.pyplot as plt # Python 2D plotting library
import pandas as pd # High-performance, easy-to-use data structures and data analysis tools for the Python
import requests as r # Requests is a Python HTTP library
import io # Python's main facilities for dealing with various types of input and output

Шаг 3. Получите данные о зарплате из Интернета

RAW, Data Sheet

# these lines of code get the data from web url and fill the dataset 
content = r.get('https://raw.githubusercontent.com/liumedz/simple-ai/master/50_Salaries.csv').content
dataset = pd.read_csv(io.StringIO(content.decode('utf-8')))

Шаг 4 - Выбор подмножества данных для обучения алгоритма

Это очень похоже на Excel или другие программы для работы с электронными таблицами, где можно выбирать данные из столбцов и строк. Для этого в Python мы используем функцию iloc [‹rows›, ‹columns›]. В скобках указываем количество строк и столбцов через запятую.

X = dataset.iloc[:, 2].values
y = dataset.iloc[:, 6].values

Во-первых, давайте используем доход для ввода алгоритма как X. Для этого нам нужно выбрать третий столбец, установив 2 в скобках iloc [:, 2] и назначив его к переменной X.

Во-вторых, мы используем полученную зарплату, присвоив ее переменной Y.

Результаты переменных X и Y представлены в таблице.

Шаг 5 - Разделение набора данных на обучающий набор и тестовый набор

Чтобы научить компьютер определять, какие тенденции используются при создании алгоритма, у нас есть набор из 50 записей о зарплатах отделов продаж. Мы также хотим проверить, способен ли компьютер предсказывать так же хорошо, как и большинство людей. Чтобы проверить, насколько хорошо работает алгоритм, мы случайным образом берем 10 процентов записей данных. Мы будем использовать их для подтверждения или игнорирования наших предположений о производительности алгоритмов в будущем. Остальные 90% записей мы будем использовать для обучения алгоритма.

from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.2, random_state = 0)

Шаг 5. Подгоните линейную регрессию к обучающей выборке

Чтобы подогнать линейную регрессию к обучающему набору, мы будем использовать linear_model из библиотеки sklearn. Метод подгонки используется для обучения модели с использованием обучающих наборов.

from sklearn.linear_model import LinearRegression
regressor = LinearRegression()
regressor.fit(X_train, y_train)

Шаг 6 - Прогнозирование результатов набора тестов

Чтобы предсказать результаты набора тестов, мы будем использовать метод прогнозирования из библиотеки LinearRegression, установив данные X_test для прогнозирования результатов Y_test.

y_pred = regressor.predict(X_test)

Шаг 7. Визуализация результатов обучающей выборки

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

plt.scatter(X_train, y_train, color = 'red')
plt.plot(X_train, regressor.predict(X_train), color = 'blue')
plt.title('Salary vs Revenue (Training set)')
plt.xlabel('Revenue')
plt.ylabel('Salary')
plt.show()

Шаг 8 - Визуализация результатов набора тестов

plt.scatter(X_test, y_test, color = 'red')
plt.plot(X_train, regressor.predict(X_train), color = 'blue')
plt.title('Salary vs Revenue (Training set)')
plt.xlabel('Revenue')
plt.ylabel('Salary')
plt.show()

Набор тестов помогает проверить, насколько хорошо работает алгоритм. Мы используем образец записей данных из набора тестов менеджера по продажам, чтобы сравнить точность прогнозирования алгоритмов. Синяя линия показывает, какая зарплата будет прогнозироваться при указанном доходе. Красные точки обозначают реальную t зарплату, установленную менеджером по продажам. Кратчайшее расстояние от красной точки и синей линии доказывает способность алгоритма предсказывать зарплату с удовлетворительной точностью. Чем больше расстояние между линией и точкой, тем менее точным будет прогноз.

Код

# Importing the libraries
import numpy as np 
import matplotlib.pyplot as plt
import pandas as pd
import requests as r
import io

# Importing the dataset
content = r.get('https://raw.githubusercontent.com/liumedz/simple-ai/master/50_Salaries.csv').content
dataset = pd.read_csv(io.StringIO(content.decode('utf-8')))
X = dataset.iloc[:, 2:3].values
y = dataset.iloc[:, 6].values

# Splitting the dataset into the Training set and Test set
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.2, random_state = 0)

# Fitting Multiple Linear Regression to the Training set
from sklearn.linear_model import LinearRegression
regressor = LinearRegression()
regressor.fit(X_train, y_train)
# Predicting the Test set results
y_pred = regressor.predict(X_test)
# Visualising the Trianing set results
plt.scatter(X_train, y_train, color = 'red')
plt.plot(X_train, regressor.predict(X_train), color = 'blue')
plt.title('Salary vs Revenue (Training set)')
plt.xlabel('Revenue')
plt.ylabel('Salary')
plt.show()

# Visualising the Test set results
plt.scatter(X_test, y_test, color = 'red')
plt.plot(X_train, regressor.predict(X_train), color = 'blue')
plt.title('Salary vs Revenue (Training set)')
plt.xlabel('Revenue')
plt.ylabel('Salary')
plt.show()

Шаг 9 - Позволяет нам несколько параметров

На шаге 4 в качестве входных параметров мы использовали Revenue X, а в качестве выходного параметра - Salary y. Давайте расширим количество показателей эффективности и воспользуемся всеми параметрами, которые использует менеджер по продажам.

Чтобы начать использовать все эти параметры, нам нужно скорректировать код.

X = dataset.iloc[:, 1:5].values
y = dataset.iloc[:, 6].values

Теперь мы присваиваем данные KPI переменной X из столбцов с номерами от 2 до 6, а данные прогнозируемой заработной платы из столбца 6 - переменной y.

В основном из результатов таблицы мы видим, что значения y_pred 28902, 29287, 14927, 8770, 64167, 80742, 50027, 53469, 27705, 53827 соответствуют 10% случайно выбранным зарплатам из таблицы данных менеджера по продажам 28485, 30112, 9275 , 8216, 63365, 83383, 47949, 50149, 29659, 51282. Мы видим, что алгоритм предсказал зарплаты с высоким процентом точности. Цифры: 1, 3, 38, 6, 1, 3, 4, 6, 7, 5. Из тренда выпадает только зарплата 9275 с точностью до 38 процентов. В этом случае можно сделать вывод, что зарплата в 9275 евро не так хорошо установлена ​​и не укладывается в линию тренда множественной линейной регрессии.

Код

# Multiple Linear Regression
# Importing the libraries
import numpy as np 
import matplotlib.pyplot as plt
import pandas as pd
import requests as r
import io

# Importing the dataset
content = r.get('https://raw.githubusercontent.com/liumedz/simple-ai/master/50_Salaries.csv').content
dataset = pd.read_csv(io.StringIO(content.decode('utf-8')))
X = dataset.iloc[:, 1:6].values
y = dataset.iloc[:, 6].values

# Splitting the dataset into the Training set and Test set
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size = 0.2, random_state = 0)

# Fitting Multiple Linear Regression to the Training set
from sklearn.linear_model import LinearRegression
regressor = LinearRegression()
regressor.fit(X_train, y_train)
# Predicting the Test set results
y_pred = regressor.predict(X_test)

Заключение

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

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