$$\rightleftharpoonup{xx}$$
$$\longleftharp{xx}$$,
$$\longrightharp{xx}$$,
Метод выбора признаков на основе обёртки с авто-кодировщиками используется в предлагаемой архитектуре обнаружения вредоносного ПО на Android, как показано на рисунке 1. Набор данных разделён на подмножества для обучения и тестирования в формате 70:30. Классификация и выбор признаков — два основных этапа в процессе анализа вредоносного ПО.
Выбор функций (FS): Этот этап заключается в итеративном поиске лучших подмножеств признаков (см. Определение 1) с использованием алгоритмов на основе интеллекта роя, в частности Cuckoo Search Optimization (CSO), Ant Lion Optimization (ALO) и Firefly Optimization (FO). После этого автокодировщики обрабатывают выбранные признаки для создания сжатого представления входящих данных. Индукционный подход затем использует выходные данные авто-энкодеров для оценки того, насколько эти функции различают опасные и безобидные приложения. Для обеспечения точной категоризации последующих случаев алгоритм индукции строит классификатор, сообразяя пространство признаков в набор меток классов.
Классификация: Используя предложенный Искусственный нейронный классификатор и известные методы индукции, на этом этапе оценивается ограниченный набор функций на этапе выбора признаков, чтобы определить, насколько эффективно он может обнаруживать вредоносное ПО Android.
Используя сложные методы классификации и сосредотачиваясь на самых информативных функциях, эта методология стремится повысить точность и эффективность обнаружения вредоносного ПО на Android.
Выбор функций
Ключевым этапом машинного обучения является выбор признаков, который включает в себя определение наиболее надёжных, релевантных и неизбыточных для построения моделей. Методическое сокращение наборов признаков становится всё более важным по мере роста размера и сложности наборов данных. Основная цель выбора признаков — максимизация производительности модели при снижении вычислительных затрат. Удаляются повторяющиеся и ненужные признаки, что позволяет процессу сосредоточиться на наиболее значимых для модели переменных. Вместо того чтобы полагаться на алгоритм машинного обучения для выявления значимых признаков, следующие преимущества выбора признаков перед обучением модели:
Упрощённые модели: Уменьшение количества входных переменных приводит к более простым моделям, которые проще интерпретировать и понимать.
Снижение дисперсии: Сосредотачиваясь на ключевых признаках, выбор признаков помогает снизить дисперсию моделей, тем самым смягчая перенагонку и улучшая обобщение новых данных.
Сокращение времени обучения: Меньший набор функций снижает вычислительную нагрузку, что приводит к более быстрому обучению и оценке моделей.
Смягчение проклятия размерности: Данные с большими размерностями могут создавать такие проблемы, как повышение сложности и перенастройка; Выбор признаков решает эти проблемы, ограничивая пространство признаков самыми информативными переменными.
Определение 1 выбора признаков
Представьте себе индуктор I и набор данных D, который имеет распределение D по помеченному пространству экземпляров и содержит признаки (x 1,x 2,x 3,... ,x n). Подмножество признаков, оптимизирующее точность классификатора C=I(D), называется оптимальным подмножеством признаков Xopt.
В неконтролируемом выборе признаков подходы на основе обёртки направлены на выявление оптимального сочетания признаков, повышающих производительность модели. Систематически добавляя или удаляя признаки, часто с помощью жадных алгоритмов, эти методы оценивают различные модели для выбора наиболее значимых признаков для разработки моделей. Этот процесс показан на рисунке 2.
Для выбора признаков используются алгоритмы интеллекта роя, такие как Firefly Optimization (FO), Cuckoo Search Optimization (CSO) и Ant Lion Optimization (ALO), которые превосходят традиционные жадные тактики. Целевая функция, выбранная на этапе оценки приспособленности, существенно влияет на эффективность этих алгоритмов. В итеративной процедуре выбора признаков на основе обёртки учитываются как количество выбранных признаков, так и ошибка модели в конце каждой итерации для оценки уместности выбранных признаков. Уравнение (1) формализует эту оценку.
(1)
Штраф алгоритма обучения за ошибки, допущенные при оценке приспособленности, представлен τ в этом уравнении, где τ ∈ [0,1]. Длина выбранного подмножества признаков обозначается переменной l, а общее число признаков — переменной u.
Авто-энкодеры
Нейронные сети, специализирующиеся на изучении сжатых представлений входных данных, называются автоэнкодерами. Энкодер и декодер — две основные их часть. Пока декодер пытается восстановить исходный вход из этой сжатой формы, он обрабатывает входные данные и сжимает их в латентное пространственное представление. Обучение моделей машинного обучения облегчается возможностью кодировщика извлекать ценные функции из необработанных данных после их обучения.
Предлагаемая архитектура автоэнкодера (как показано на рисунке 3) включает входный слой с N узлами, за которым следуют два скрытых слоя, содержащих соответственно N*2 и N. Существует второй скрытый слой с N/2 узлами, называемый латентным пространством. С двумя скрытыми слоями узлов [N, N*2] декодер воспроизводит эту структуру, заканчиваясь выходным слоем из N узлов.
За каждым скрытым слоем следует пакетная нормализация для ускорения и стабилизации процесса обучения, и все слои используют функцию активации LeakyReLU для решения возможных проблем с нулевой градиентом. Уравнение (2) даёт математическое определение функции активации LeakyReLU:
(2)
Где hθ(x) получается с помощью уравнения (3)
(3)
Здесь xi=(x1,x 2,...,xn) представляет входные значения для узлов, а wi=(w1,w 2,...,w n) обозначает веса, связанные с этими узлами. В процессе обучения веса корректируются после первоначального случайного распределения в диапазоне [0,1]. Чтобы предотвратить прохождение параметров через начало координат, на каждом слое добавляется смещённый член. Уравнение (4) определяет порог, и если выход, полученный из уравнения (3), его превышает, срабатывает узел.
(4)
Оптимизация выбора признаков на основе обёртки муравьев (ALWFSO)
Моделируя естественное хищническое поведение муравьёвого льва, Муравьиный Лев Оптимизатор (ALO) впервые был представлен Сейедом АлиМирджалили, 34 года. Этот алгоритм оптимизации эффективно определяет оптимальные решения независимо от начальных значений параметров. ALO демонстрирует быструю сходимость и эффективно управляет как целочисленными, так и дискретными ограничениями. Поимка добычи, создание ловушек, ловушка муравьёв, случайное перемещение муравьёв и ремонт ловушек — вот этапы, составляющие охотничий процесс в ALO.
В контексте алгоритма Ant Lion Optimizer (ALO) муравьи представляют собой кандидатные решения, выполняющие случайный поиск в пространстве решений, тогда как муравьи соответствуют ловушкам или направляющим, влияющим на движения муравьёв на основе значений приспособленности. Эта двойная популяция моделирует естественное хищническое поведение муравьёв, ловящих муравьёв. В начале популяции как муравьёв, так и муравьевых львов случайным образом инициализуются. Муравьиные львы выбираются для каждого муравья с помощью механизма выбора колеса рулетки, за которым следует процесс случайной ходьбы (как показано в Алгоритме-1). Уравнение (5) затем описывает, как нормализуется эта прогулка.
(5)
Сначала популяции муравьёв и муравьёв формируются случайно. Для каждого муравья выбирается муравьёвый лев с помощью механизма рулетки, что позволяет случайно ходить, нормализуемый с помощью заранее заданных формул. Этот процесс гарантирует, что движения муравьёв зависят от их положения, эффективно имитируя естественный охотничий процесс. Положение каждого муравья затем обновляется на основе этого взаимодействия, направляя поиск оптимальных решений.
Благодаря своей архитектуре, алгоритм ALO эффективно перемещается через сложные поисковые пространства, что делает его мощным инструментом для решения различных задач оптимизации. Приспособленность каждого муравья оценивается в конце каждого повторения. Как показано в Алгоритме 1, муравьевой лев заменяется муравьем, если муравей более приспособлен, чем его аналог. В этом случае
, указывает на расположениеi ant на итерации t; I — это отношение;
указывает расположениеJ-го муравьёна на итерации T;
— элита для случайного шага на итерации t, который выбирается колесом рулетки; и
— случайная ходьба муравьёна на итерации t, которая также определяется рулеткой. После завершения каждого цикла возвращается глобально оптимальное решение, подтверждённое интегрированным классификатором обёртки.
Алгоритм 1: ALWFSO
Определим целевую функцию: f(x):x=(x1,x 2,...,x d)
Инициализация колонии муравьёв и муравьевых львов случайным образом
Расчёт приспособленности муравьёв и муравьёв
Выбирайте лучших муравьиных львов и считайте их элитными.
Повторять до выполнения условия завершения или f(x):x=(x1,x 2,...,xd)
Для каждого выбора муравьё-муравьё: Используйте механизм выбора рулетки, чтобы вероятностно выбрать муравьёвого льва, который будет влиять на его движение
X(t) = [0,cum_sum(2r(t1) - 1),cum_sum(2r(t2) - 1),...,cum_sum(2r(tn)-1)]


Конец муравьиного цикла
Оценка приспособленности: пересчитайте значения приспособленности всех муравьёв в зависимости от их новых позиций.
Замените муравьёв на муравьёв, если муравьи демонстрируют превосходную приспособленность
Если муравьёвый лев становится более приспособленным, то

Конец пока
Оптимизация выбора признаков на основе обёртки по поиску Cuckoo (CSWFSO)
Вдохновлённые паразитизмом потомства некоторых видов кукушек, которые откладывают яйца в гнёздах других птиц-хозяев, Синь-Ше Ян иСуса Деб, 35 лет, создали алгоритм поиска кукушки в 2009 году. В этой процедуре каждая кукушка откладывает яйцо в случайным образом выбранное гнездо. Будущие поколения унаследуют гнёзда с лучшими яйцами. Вероятность того, что птица-хозяин заметит инопланетное яйцо, равна нулю, и доступно только определённое количество гнёзд.
Алгоритм 2: CSWFSO
Определим целевую функцию: f(x):x = (x1,x 2,...,xd)
Случайным образом генерируйте начальную популяцию из n гнёзд хозяев, каждое из которых соответствует кандидатному решению xi (i=1,2,3,...,n)
Повторять, пока условие остановки не будет выполнено или (tДля случайно выбранной кукушки i получите новое кандидатное решение с использованием полёта Леви

Вычислим приспособленность новогенерированного решения Fi [Для максимизации Fi α f(xi)]
Случайным образом выберите гнездо-хозяина j из популяции n
если (Fi >F j), то j заменяется новым решением
конец, если
Откажитесь от части худших сеток на долю (pa)
Новые гнёзда строятся в заброшенной дроби (pa) с помощью 
Отложите лучшие решения или гнёзда.
Оценивая их, выберите лучшее гнездо или решение, доступное прямо сейчас.
Следующее поколение унаследовало лучшее решение, доступное сейчас.
Конец пока
В начале все гнёзда инициализируются случайным образом. По мере прохождения итераций каждая кукушка изменяет своё положение в пространстве решений через полёты Леви, как описано в Алгоритме 2. Размер шага корректируется на ∝, а сигмоидная операция преобразует непрерывные значения, генерируемые оптимизацией поиска кукушки (CSO), в бинарный формат, как показано в уравнениях (6) и (7).
(6)
(7)
Как показано в алгоритме 2, где
и
— случайно выбранные внёзды, а δ ∈ [0,1], в конце каждой итерации некоторые гнёзда оставляются и обновляются новыми кандидатами решений.
Вдохновлённый паразитизмом выводка кукушки, алгоритм Cuckoo Search Optimization (CSO) оказался полезным инструментом для задач выборапризнаков 35. Техника начинается с инициализации популяции вложений, каждое из которых представляет собой возможное решение в контексте выбора признаков CSO на основе обертки. Для оценки приспособленности этих гнёзд используется заранее установленная целевая функция. Используя оценки приспособленности, алгоритм определяет оптимальное решение — называемое глобальным лучшим — на каждой итерации. Для лучшего изучения пространства решений часть гнезда, представленная горохом, убирается и заменяется новыми в соответствии с протоколом CSO. Встраиваемый классификатор оболочки подтверждает, что алгоритм даёт глобально оптимальный ответ после завершения всех итераций.
Оптимизация выбора признаков на основе оболочки Firefly (FWFSO)
Алгоритм 3: FWFSO
Определим целевую функцию: f(x):x = (x1,x 2,...,x d)
Создайте начальный рой из n светлячков, каждая из которых представляет решение xi (i = 1,2,3,...,n)
Определите интенсивность света I каждого светлячка на основе значения функции цели.
Определите коэффициент поглощения света γ
Повторяйте, пока не будет выполнено условие остановки или (t < MaxGeneration).
для каждого светлячка i (∀ i=1,2,3,... ,n)
для каждого светлячка j (∀ j=1,2,3,... ,i)
Получайте лёгкую интенсивностьI i иi j
еслия < яj , то


Другое
Случайным образом переместите светлячка i, чтобы исследовать пространство поиска
конец, если
Привлекательность уменьшается с расстоянием по мере 
Оцените обновлённый раствор и соответственно скорректируйте интенсивность светлячка
конец для
конец для
Ранжуйте светлячков по интенсивности света и определите того, с наибольшей яркостью, как текущее лучшее решение
Алгоритм оптимизации светлячков, введённый Джорджем Линдфилдом иДжоном Пенни 36, имитирует естественное поведение светлячков, чтобы привлечь других. В этом алгоритме привлекательность светлячка прямо пропорциональна его яркости, а расстояние между двумя светлячками обратно пропорционально их привлекательности. Если рядом нет ярких светлячков, светлячок будет двигаться случайным образом.
Два светлячка притягиваются друг к другу благодаря своей яркости; менее яркий светлячок тянется к более яркому. Случайное движение используется, когда нет ярчего светлячка. Поскольку β0 означает красоту, расстояние r=0 между двумя светлячками используется для расчёта их привлекательности. Разделение rjk между светлячками j и k вычисляется следующим образом:
здесь rji и rki отмечуют пространственные компонентыi-го измерения для светлячков jth и kth соответственно, а n — количество измерений. Движение светлячка к другому зависит от степени притяжения между ними:
. В этом уравнении rj — текущее положение светлячка j, γ — светлое число Ранара — случайное число между 0 и 1, α — скорость мутации и коэффициент поглощения. Если ярких светлячков больше не останется, светлячок будет двигаться случайным образом по αα. После каждой итерации встраиваемый классификатор обёртки подтверждает глобальное минимальное решение, которое затем возвращается.
Классификатор
Как структурированные, так и неструктурированные наборы данных можно классифицировать, разбивая их на дискретные группы или классы. Цель — использовать атрибуты новых точек данных для прогнозирования их класса или метки. Эта процедура определяет категорию, к которой относятся свежие данные, приближая функцию отображения от входных переменных к дискретным выходным переменным.
Случайные леса, деревья решений, K-ближайшие соседи, логистическая регрессия и машины поддерживающего вектора — это среди алгоритмов индукции или классификации, используемых для оценки рекомендуемого решения для обнаружения вредоносного ПО на Android37. Кроме того, в этой работе представлен искусственный нейронный классификатор — революционный гибридный классификатор, который объединяет традиционные индукционные алгоритмы с искусственными нейронными сетями.
Искусственный нейронный классификатор
Предлагаемая конструкция искусственного нейронного классификатора (ANC) сочетает индукционный классификатор и искусственные нейронные сети (АНС), как показано на рисунке 4. Согласно этой архитектуре, ANN обучается выявлять закономерности и корреляции между входными признаками. Индукционный классификатор использует информацию, полученную ANN, для повышения точности выявления вредоносного ПО от безопасного ПО.
После тщательного тестирования ANN внутри ANC был настроен с тремя полностью связанными скрытыми слоями, каждый из которых содержал M узлов, следуя за входным слоем с N узлами. Существует выходной слой, который соединяется с индукционным классификатором после дополнительного полностью связанного скрытого слоя с узлами M/2. Уравнение (8) определяет количество узлов в скрытых слоях:
(8)
где M обозначает количество узлов в скрытом слое, N — количество входных признаков, а α — параметр от 2 до 10. Функция активации (как показано в уравнении (9)) играет ключевую роль в определении активации нейрона в зависимости от превышения определённого порога выхода.
(9)
Здесь hθ(x) вычисляется по уравнению (3). ANC использует оптимизатор Adam для регулировки весов сети и скоростей обучения. В Adam скорости затухания для оценки
первого момента и второй момента
для каждого весаω ij обозначаются соответственноβ 1 и β2. Пусть N представляет скорость обучения. Правила обновления для Адама приведены в уравнениях (10) и (11):
(10)
(11)
Скорректированные по смещению оценки
первого и второго моментов, и
, вычисляются с помощью уравнений (12) и (13):
(12)
(13)
Эти вычисления обеспечивают поддержание оптимальных скоростей обучения для каждого веса, что способствует эффективной и результативной тренировке ANC.
Правило обновления веса для каждого соединения в нейронной сети определяется уравнением (14):
(14)
После обновления весов нейронных сетей производительность оценивается с помощью функции потерь, измеряющей несоответствие между прогнозируемыми и фактическими результатами. В этой модели для этой цели используется средняя абсолютная ошибка (MAE), определенная в уравнении (15):
(15)
В этом контексте yi представляет фактический выход,
обозначает предсказанный выход, а n — общее количество экземпляров выхода. После обучения нейронной сети за определённое количество эпох изученные представления из пространства признаков передаются в индукционный классификатор для различия вредоносного ПО от безобидного ПО.
Предлагаемый Искусственный нейронный классификатор (ANC) функционирует как гибридная структура, сочетающая возможности обучения признакам искусственной нейронной сети (АНК) с сильными сторонами принятия решений традиционных индукционных классификаторов, таких как Random Forest и Decision Tree. В этой конструкции ANN сначала обрабатывает выбранные функции, полученные от автоэнкодера, чтобы изучить сложные закономерности и корреляции между входными атрибутами. Полученные представления затем передаются индукционному классификатору, который выполняет окончательную классификацию Android-приложений как доброкачественных или вредоносных. Таким образом, ANC выступает в роли обёртки, улучшая традиционные классификаторы глубокими вложениями признаков и сохраняя их интерпретируемость. Этот гибридный механизм позволяет ANC использовать как высокоуровневую абстракцию признаков из ANN, так и надёжное принятие решений из устоявшихся классификаторов машинного обучения, что приводит к повышенной точности обнаружения и обобщения.
Экспериментальная установка
В экспериментальной конфигурации использовалась 64-битная операционная система Windows 10 с процессором i5 — 2,30 ГГц, 8 ГБ оперативной памяти и жестким диском на 2 ТБ. Python 3.7 использовался в качестве языка программирования, а платформа Jupyter была настроена для поддержки пакетов машинного обучения и глубокого обучения.
IEEE Dataport предоставил данные последовательности вызовов API эксперимента, которые включали 43 876 последовательностей — 42 797 из которых были классифицированы как вредоносное ПО и 1 079 — как качественное ПО. Для верификации использовался Virus Total, а среду песочницы Cuckoo — для сбора данных. Таблица 1 даёт полное объяснение последовательностей вызовов API.