С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
Matlab
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
dolkons
0 / 0 / 0
Регистрация: 31.12.2013
Сообщений: 4
1

Дискриминантный анализ и генетический алгоритм

31.12.2013, 10:57. Просмотров 1029. Ответов 1
Метки нет (Все метки)

Здравствуйте, моя проблема такова.
Пишу алгоритм по разделению двух множеств прямой линией.
Для этого использую метод дискриминантного анализа и генетический алгоритм
Алгоритм следующий:
1)Считаю сумму всех расстояний от каждой точки 1 множества до разделяющей прямой
2)Считаю сумму всех расстояний от каждой точки 2 множества до разделяющей прямой
3)Генетическим алгоритмом пытаюсь найти максимум разницы между двумя этими суммами
Вроде подход простой, но при этом генетический алгоритм дает какие-то совсем плохие результаты.
Исходный код целевой функции:
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
function sum_of_difference = sumdif(data,lineparams)
numpoints = numel(data(:,1));
dists1=[];dists2=[];
%Ax+By+C = 0 - уравнение прямой
A = lineparams(1,1);B = lineparams(1,2);C = lineparams(1,3);
count1=1;count2=1;
for i = 1:numpoints
    dist(i,:) = (A*data(i,1)+B*data(i,2)+C)/(sqrt(A^2+B^2));
    if dist(i,:) > 0
        class1(count1,:) = data(i,:);
        dists1(count1,:) = dist(i,:);
        count1 = count1 + 1;
    elseif dist(i,:) == 0
        continue
    else
        class2(count2,:) = data(i,:);
        dists2(count2,:) = dist(i,:);
        count2 = count2 + 1;
    end
end
sumdist1 = sum(dists1);
sumdist2 = sum(dists2);
sum_of_difference = -(sumdist1 - sumdist2);
end
Может кто занимался подобными вещами, что не так у меня?
Заранее очень благодарен
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.12.2013, 10:57
Ответы с готовыми решениями:

Генетический алгоритм
Добрый день! Помогите пожалуйста с ген алгоритмами. Делаю через GATOOL, создал М-файл с функцией:...

Оптимизация функции (Генетический алгоритм)
Задание вот такое: Дана следующая функция: 1. Провести оптимизацию заданной функции в Matlab (с...

Как работает генетический алгоритм
Здравствуйте, интересуют следующие вопросы: Как работает генетический алгоритм в Matlab? Как он...

Реализовать генетический алгоритм для прогнозирования
Реализация генетического алгоритма для прогнозирования в matlab

Генетический алгоритм - реализовать это в матлабе
Помогите реализовать это в матлабе пожалуйста. Срочно надо решить. Там есть документ это начало. В...

1
dolkons
0 / 0 / 0
Регистрация: 31.12.2013
Сообщений: 4
03.01.2014, 14:07  [ТС] 2
Что, ни у кого нет никаких мыслей?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.01.2014, 14:07

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

Возможно ли применять генетический алгоритм для массивов?
Добрый день уважаемые коллеги! Я совсем недавно познакомился с Matlab, и у меня возник очень...

Анализ сетевого трафика используя регрессионный анализ
Не знал, куда написать, MatLAb очень близок этому инструменту (Weka) Многие в курсе, что из...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru