k кластеризации -medoids
выполняет k-медоиды Кластеризации, чтобы разбить наблюдения матрицы n -by p idx
= kmedoids(X
,k
)X
в k
кластеры и возвраты вектор n -by-1 idx
содержит кластерные индексы каждого наблюдения. Строки X
соответствуют точкам, а столбцы - переменным. По умолчанию, kmedoids
использует квадратную метрику Евклидова расстояния и алгоритм k -means + + для выбора начальных медоидных положений кластера.
использует дополнительные опции, заданные одним или несколькими idx
= kmedoids(X
,k
,Name,Value
)Name,Value
аргументы в виде пар.
Случайным образом сгенерируйте данные.
rng('default'); % For reproducibility X = [randn(100,2)*0.75+ones(100,2); randn(100,2)*0.55-ones(100,2)]; figure; plot(X(:,1),X(:,2),'.'); title('Randomly Generated Data');
Группируйте данные в два кластера с помощью kmedoids
. Используйте cityblock
метрика расстояния.
opts = statset('Display','iter'); [idx,C,sumd,d,midx,info] = kmedoids(X,2,'Distance','cityblock','Options',opts);
rep iter sum 1 1 209.856 1 2 209.856 Best total sum of distances = 209.856
info
- struct, которая содержит информацию о том, как был выполнен алгоритм. Для примера, bestReplicate
поле указывает репликацию, которая использовалась для получения конечного решения. В этом примере использовалось повторяющееся число 1, так как количество повторений по умолчанию является 1 для алгоритма по умолчанию, который является pam
в этом случае.
info
info = struct with fields:
algorithm: 'pam'
start: 'plus'
distance: 'cityblock'
iterations: 2
bestReplicate: 1
Постройте график кластеров и медоидов кластера.
figure; plot(X(idx==1,1),X(idx==1,2),'r.','MarkerSize',7) hold on plot(X(idx==2,1),X(idx==2,2),'b.','MarkerSize',7) plot(C(:,1),C(:,2),'co',... 'MarkerSize',7,'LineWidth',1.5) legend('Cluster 1','Cluster 2','Medoids',... 'Location','NW'); title('Cluster Assignments and Medoids'); hold off
Этот пример использует набор данных «Mushroom» [3][4][5] [6][7] из архива машинного обучения UCI [7], описанного в http://archive.ics.uci.edu/ml/datasets/Mushroom. Набор данных включает 22 предиктора для 8124 наблюдений за различными грибами. Предикторы являются категориальными типами данных. Для примера прописной буквы форма классифицируется по функциям из 'b'
для колоколообразной прописной буквы и 'c'
для конических. Цвет грибов также классифицируется с функциями 'n'
для коричневого и 'p'
для розового. Набор данных также включает классификацию для каждого гриба съедобного или ядовитого.
Поскольку характеристики набора грибных данных категоричны, невозможно задать среднее значение нескольких точек данных, и поэтому широко используемый алгоритм кластеризации k-means не может быть значимо применен к этому набору данных. k-medoids является связанным алгоритмом, который разделяет данные на k отдельных кластеров, путем нахождения медоидов, которые минимизируют сумму различий между точками в данных и их ближайшим медоидом.
Медоид множества является представителем того множества, чья средняя неоднородность с другими представителями множества является наименьшей. Подобие может быть определено для многих типов данных, которые не позволяют вычислить среднее значение, позволяя использовать k -медоиды для более широкой области значений задач, чем k -месы.
Используя k -медоиды, этот пример группирует грибы в две группы на основе предоставленных предикторов. Затем исследуются отношения между этими кластерами и классификациями грибов как съедобных или ядовитых.
Этот пример предполагает, что вы загрузили набор данных «Mushroom» [3][4][5] [6][7] из базы данных UCI (http://archive.ics.uci.edu/ml/machine-learning-databases/mushroom/) и сохранили его в текущей директории как текстовый файл с именем agaricus-lepiota.txt. Заголовков столбцов в данных нет, поэтому readtable
использует имена переменных по умолчанию.
clear all data = readtable('agaricus-lepiota.txt','ReadVariableNames',false);
Отобразите первые 5 грибов с их первыми несколькими функциями.
data(1:5,1:10)
ans = Var1 Var2 Var3 Var4 Var5 Var6 Var7 Var8 Var9 Var10 ____ ____ ____ ____ ____ ____ ____ ____ ____ _____ 'p' 'x' 's' 'n' 't' 'p' 'f' 'c' 'n' 'k' 'e' 'x' 's' 'y' 't' 'a' 'f' 'c' 'b' 'k' 'e' 'b' 's' 'w' 't' 'l' 'f' 'c' 'b' 'n' 'p' 'x' 'y' 'w' 't' 'p' 'f' 'c' 'n' 'n' 'e' 'x' 's' 'g' 'f' 'n' 'f' 'w' 'b' 'k'
Извлеките первый столбец, маркированные данные для съедобных и ядовитых групп. Затем удалите столбец.
labels = data(:,1); labels = categorical(labels{:,:}); data(:,1) = [];
Сохраните имена предикторов ( функций), которые описаны в http://archive.ics.uci.edu/ml/machine-learning-databases/mushroom/agaricus-lepiota.names.
VarNames = {'cap_shape' 'cap_surface' 'cap_color' 'bruises' 'odor' ... 'gill_attachment' 'gill_spacing' 'gill_size' 'gill_color' ... 'stalk_shape' 'stalk_root' 'stalk_surface_above_ring' ... 'stalk_surface_below_ring' 'stalk_color_above_ring' ... 'stalk_color_below_ring' 'veil_type' 'veil_color' 'ring_number' .... 'ring_type' 'spore_print_color' 'population' 'habitat'};
Установите имена переменных.
data.Properties.VariableNames = VarNames;
Существует в общей сложности 2480 отсутствующих значений, обозначенных как '?'
.
sum(char(data{:,:}) == '?')
ans = 2480
На основе проверки набора данных и его описания отсутствующие значения относятся только к 11-й переменной (stalk_root
). Удалите столбец из таблицы.
data(:,11) = [];
kmedoids
принимает только числовые данные. Вы должны привести категории, которые у вас есть в числовой тип. Функция расстояния, которую вы будете использовать, чтобы задать неоднородность данных, будет основана на двойном представлении категориальных данных.
cats = categorical(data{:,:}); data = double(cats);
kmedoids
может использовать любую метрику расстояния, поддерживаемую pdist2, для кластера. В этом примере вы будете группировать данные, используя Расстояние Хемминга, потому что это подходящая метрика расстояния для категориальных данных, как показано ниже. Расстояние Хемминга между двумя векторами является процентом от векторных компонентов, которые различаются. Для образца рассмотрим эти два вектора.
v1 = [1 0 2 1]
;
v2 = [1 1 2 1]
;
Они равны в 1-й, 3-й и 4-й координатах. Поскольку 1 из 4 координат различаются, расстояние Хемминга между этими двумя векторами составляет 25.
Вы можете использовать функцию pdist2
для измерения расстояния Хемминга между первой и второй строками данных, численного представления категориальных грибных данных. Значение .2857 означает, что 6 из 21 функций гриба отличаются.
pdist2(data(1,:),data(2,:),'hamming')
ans = 0.2857
В этом примере вы кластеризуете данные о грибах в два кластера на основе функций, чтобы увидеть, соответствует ли кластеризация съедобности. kmedoids
функция гарантированно сходится к локальным минимумам критерия кластеризации; однако это может быть не глобальный минимум для задачи. Рекомендуется несколько раз кластеризировать проблему с помощью 'replicates'
параметр. Когда 'replicates'
задано значение, n, больше 1, алгоритм k-medoids запускается n раз, и возвращается лучший результат.
Бежать kmedoids
чтобы объединить данные в 2 кластера на основе расстояния Хемминга и вернуть лучший результат из 3 повторений, запустите следующее.
rng('default'); % For reproducibility [IDX, C, SUMD, D, MIDX, INFO] = kmedoids(data,2,'distance','hamming','replicates',3);
Предположим, что грибы в предсказанной группе 1 ядовиты, а группа 2 съедобны. Чтобы определить эффективность результатов кластеризации, вычислите, сколько грибов в группе 1 действительно ядовиты, а группа 2 съедобна на основе известных меток. Другими словами, вычислите количество ложных положительных сторон, ложных отрицательных сторон, а также истинных положительных сторон и истинных отрицательных сторон.
Создайте матрицу неточностей (или совпадающую матрицу), где диагональные элементы представляют количество истинных срабатываний и истинных срабатываний, соответственно. Off-диагональные элементы представляют ложные срабатывания и ложные срабатывания, соответственно. Для удобства используйте confusionmat
функция, которая вычисляет матрицу неточностей, заданную известные метки и предсказанные метки. Получите информацию о предсказанной метке от IDX
переменная. IDX
содержит значения 1 и 2 для каждой точки данных, представляющие ядовитые и съедобные группы, соответственно.
predLabels = labels; % Initialize a vector for predicted labels. predLabels(IDX==1) = categorical({'p'}); % Assign group 1 to be poisonous. predLabels(IDX==2) = categorical({'e'}); % Assign group 2 to be edible. confMatrix = confusionmat(labels,predLabels)
confMatrix = 4176 32 816 3100
Из 4208 съедобных грибов было правильно предсказано, что 4176 находятся в группе 2 (съедобная группа), а 32 - в группе 1 (ядовитая группа). Точно так же из 3916 ядовитых грибов 3100 правильно предсказали в группе 1 (ядовитая группа) и 816 неправильно предсказали в группе 2 (съедобная группа).
Учитывая эту матрицу неточностей, вычислите точность, которая является долей истинных результатов (как истинных срабатываний, так и истинных срабатываний) против общих данных и точность, которая является долей истинных срабатываний против всех положительных результатов (истинных срабатываний и ложных срабатываний).
accuracy = (confMatrix(1,1)+confMatrix(2,2))/(sum(sum(confMatrix)))
accuracy = 0.8956
precision = confMatrix(1,1) / (confMatrix(1,1)+confMatrix(2,1))
precision = 0.8365
Результаты показали, что применение алгоритма k-medoids к категориальным функциям грибов привело к кластерам, которые были связаны с съедобностью.
X
- ДанныеДанные, заданные как числовая матрица. Строки X
соответствуют наблюдениям, а столбцы соответствуют переменным.
k
- Количество медоидовКоличество медоидов в данных, заданное как положительное целое число.
Задайте необязательные разделенные разделенными запятой парами Name,Value
аргументы. Name
- имя аргумента и Value
- соответствующее значение. Name
должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN
.
'Distance','euclidean','Replicates',3,'Options',statset('UseParallel',1)
задает Евклидово расстояние, три повторных медоида с различными начальными значениями и использовать параллельные вычисления.'Algorithm'
- Алгоритм для поиска медоидов'pam'
| 'small'
| 'clara'
| 'large'
Алгоритм для поиска медоидов, заданный как разделенная запятыми пара, состоящая из 'Algorithm'
и 'pam'
, 'small'
, 'clara'
, или 'large'
. Алгоритм по умолчанию зависит от количества строк X
.
Если количество строк X
меньше 3000, 'pam'
является алгоритмом по умолчанию.
Если количество строк находится в диапазоне от 3000 до 10000, 'small'
является алгоритмом по умолчанию.
Для всех других случаев 'large'
является алгоритмом по умолчанию.
Можно переопределить выбор по умолчанию, явно указав алгоритм. В этой таблице представлены доступные алгоритмы.
Алгоритм | Описание |
---|---|
'pam' |
Разбиение вокруг медоидов (PAM) является классическим алгоритмом для решения задачи k -medoids, описанной в [1]. После применения функции инициализации для выбора начальных медоидных позиций программа выполняет переключение алгоритма PAM, то есть ищет все возможные переключения между медоидами и немедоидами, чтобы увидеть, уменьшается ли сумма расстояний между медоидами и представителями кластера. Можно задать, какую функцию инициализации использовать через Алгоритм выполняется следующим образом.
Алгоритм итерирует шаги build и swap до тех пор, пока медоиды не не изменятся, или не будут достигнуты другие критерии завершения. Алгоритм может привести к лучшим решениям, чем другие алгоритмы в некоторых ситуациях, но он может быть непомерно длительным. |
'small' |
Используйте алгоритм, подобный алгоритму k-means, чтобы найти Алгоритм выполняется следующим образом.
Алгоритм повторяет эти шаги до тех пор, пока не произойдет дальнейших обновлений или не будут достигнуты другие критерии завершения. Алгоритм имеет опциональную фазу онлайн-обновления, подобную PAM (заданную |
'clara' |
Кластеризация LARge Applications (CLARA) [1] неоднократно выполняет алгоритм PAM на случайных подмножествах данных. Он направлен на преодоление проблем масштабирования, связанных с алгоритмом PAM, посредством выборки. Алгоритм выполняется следующим образом.
Алгоритм повторяет эти шаги до тех пор, пока медоиды не изменятся, или не будут достигнуты другие критерии завершения. Для оптимальной эффективности рекомендуется выполнить несколько репликаций. По умолчанию программа выполняет пять повторений. Каждые реплицированные выборки |
'large' |
Это похоже на |
Пример: 'Algorithm','pam'
'OnlinePhase'
- Флаг для выполнения фазы онлайн-обновления, подобной PAM'on'
(по умолчанию) | 'off'
Флаг для выполнения фазы онлайн-обновления, подобной PAM, заданный как разделенная разделенными запятой парами, состоящая из 'OnlinePhase'
и 'on'
или 'off'
.
Если это on
, затем kmedoids
выполняет PAM-подобное обновление медоидов после итераций Ллойда в small
и large
алгоритмы. Во время этой фазы онлайн-обновления алгоритм выбирает небольшое подмножество точек данных в каждом кластере, которые являются самыми дальними от и ближайшими к медоидам. Для каждой выбранной точки он переопределяет кластеризацию всего набора данных и проверяет, создает ли это меньшую сумму расстояний, чем наиболее известно.
Другими словами, факторы свопа ограничены точками около медоидов и вдали от медоидов. Ближние точки рассматриваются с целью уточнения кластеризации. Дальние точки рассматриваются в порядок, чтобы избежать локальных минимумов. Включение этой функции имеет тенденцию улучшать качество решений, генерируемых обоими алгоритмами. Общее время запуска также имеет тенденцию к увеличению, но увеличение обычно меньше одной итерации PAM.
Пример: OnlinePhase,'off'
'Distance'
- Метрика расстояния'sqEuclidean'
(по умолчанию) | 'euclidean'
| вектор символов | строковый скаляр | указатель на функцию |...Метрика расстояния, заданная как имя метрики расстояния, описанной в следующей таблице, или указателя на функцию. kmedoids
минимизирует сумму расстояний между медоидами и представителями кластера.
Значение | Описание |
---|---|
'sqEuclidean' | Квадратное Евклидово расстояние (по умолчанию) |
'euclidean' | Евклидово расстояние |
'seuclidean' | Стандартизированное евклидово расстояние. Каждое различие координат между наблюдениями масштабируется путем деления на соответствующий элемент стандартного отклонения, |
'cityblock' | Расстояние между блоками |
'minkowski' | Расстояние Минковского. Экспонента равна 2. |
'chebychev' | Расстояние Чебычева (максимальное различие координат) |
'mahalanobis' | Расстояние Махаланобиса с помощью выборочной ковариации |
'cosine' | Один минус косинус включенного угла между точками (рассматривается как векторы) |
'correlation' | Один минус корреляция выборки между точками (рассматривается как последовательности значений) |
'spearman' | Один минус выборки корреляции ранга Спирмена между наблюдениями (рассматриваются как последовательности значений) |
'hamming' | Расстояние Хемминга, которое является процентом координат, которые различаются |
'jaccard' | Один минус коэффициент Жаккарда, который является процентом ненулевых координат, которые различаются |
| Пользовательский указатель на функцию расстояния. Функция расстояния имеет вид function D2 = distfun(ZI,ZJ) % calculation of distance ...
Если ваши данные не разрежены, вы обычно можете вычислить расстояние быстрее, используя встроенное расстояние вместо указателя на функцию. |
Для определения каждой метрики расстояния смотрите Метрики расстояния.
Пример: 'Distance','hamming'
'Options'
- Опции для управления итерационным алгоритмом, чтобы минимизировать критерии подгонки[]
(по умолчанию) | массив структур, возвращенный statset
Опции для управления итеративным алгоритмом, чтобы минимизировать критерии аппроксимации, заданные как разделенная разделенными запятой парами, состоящая из 'Options'
и массив структур, возвращенный statset
. Поддерживаемые поля массива структур задают опции для управления итеративным алгоритмом. В этой таблице представлены поддерживаемые поля.
Область | Описание |
---|---|
Display | Level of display. Варианты 'off' (по умолчанию) и 'iter' . |
MaxIter | Максимально допустимое количество итераций. Значение по умолчанию является 100 . |
UseParallel | Если true , вычислите параллельно. Если Parallel Computing Toolbox™ не доступна, то расчет происходит в последовательном режиме. Значение по умолчанию является false , что означает последовательные расчеты. |
UseSubstreams | Установите значение true для параллельного вычисления воспроизводимым способом. Значение по умолчанию является false . Чтобы вычислить воспроизводимо, вы также должны задать Streams к типу, разрешающему субпотоки: 'mlfg6331_64' или 'mrg32k3a' . |
Streams | A RandStream объект или массив ячеек таких объектов. Для получения дополнительной информации об этих опциях и параллельных вычислениях в Statistics and Machine Learning Toolbox™, смотрите Ускорение Статистических расчетов или введите help parallelstats в командной строке. |
Пример: 'Options',statset('Display','off')
'Replicates'
- Количество раз, чтобы повторить кластеризацию с использованием новых начальных медоидных позиций кластераКоличество раз, чтобы повторить кластеризацию с использованием новых начальных медоидных положений кластера, заданных как положительное целое число. Значение по умолчанию зависит от выбора алгоритма. Для pam
и small
, значение по умолчанию является 1. Для clara
, значение по умолчанию является 5. Для large
, значение по умолчанию является 3.
Пример: 'Replicates',4
'NumSamples'
- Количество выборок, которые берутся из данных при выполнении clara
алгоритм40+2*k
(по умолчанию) | положительное целое числоКоличество выборок, которые нужно взять из данных при выполнении clara
алгоритм, заданный как положительное целое число. Количество выборок по умолчанию вычисляется как 40+2*k
.
Пример: 'NumSamples',160
'PercentNeighbors'
- Процент набора данных для исследования с использованием большого алгоритмаПроцент набора данных для исследования с использованием large
алгоритм, заданный в виде положительного числа.
Программа исследует percentneighbors*size(X,1)
количество соседей для медоидов. Если нет улучшения в внутри-кластерной сумме расстояний, то алгоритм прекращает работать.
Значение этого параметра между 0 и 1, где значение ближе к 1, как правило, дает решения более высокого качества, но алгоритм запускается дольше, и значение ближе к 0, как правило, дает решения более низкого качества, но заканчивается быстрее.
Пример: 'PercentNeighbors',0.01
'Start'
- Метод выбора начальных кластерных медоидных положений'plus'
(по умолчанию) | 'sample'
| 'cluster'
| матрицаМетод выбора начальных медоидных позиций кластера, заданный как разделенная разделенными запятой парами, состоящая из 'Start'
и 'plus'
, 'sample'
, 'cluster'
, или матрица. В этой таблице представлены доступные методы.
Метод | Описание |
---|---|
'plus' (по умолчанию) | Выберите k наблюдения от X согласно k -меанс + + алгоритм для инициализации центра кластеров. |
'sample' | Выберите k наблюдения от X наугад. |
'cluster' | Выполните предварительную фазу кластеризации на случайной подвыборке (10%) X . Эта предварительная фаза сама инициализируется с помощью sample , то есть наблюдения выбираются случайным образом. |
матрица | Пользовательский k -by - p матрица начальных местоположений. В этом случае можно пройти [] для k входной параметр, и kmedoids выводит k от первой размерности матрицы. Можно также задать трехмерный массив, подразумевающий значение для 'Replicates' из третьей размерности массива. |
Пример: 'Start','sample'
Типы данных: char
| string
| single
| double
idx
- Медоидные индексыМедоидные индексы, возвращенные как числовой вектор-столбец. idx
имеет столько строк, сколько X
, и каждая строка указывает медоидное назначение соответствующего наблюдения.
C
- Кластерные медоидные местоположенияМедоидные местоположения кластера, возвращенные как числовая матрица. C
является k -by - p матрицей, где j строка является медоидом кластера j
sumd
- Внутри кластера суммы расстояний от точки до медоидаВнутри-кластерные суммы расстояний между точками и медоидами, возвращенные в виде числового вектора-столбца. sumd
является k
Вектор -by1, где j элемента - это сумма расстояний от точки до медоида в пределах j кластера.
D
- Расстояния от каждой точки до каждого медоидаРасстояния от каждой точки до каждого медоида, возвращаемые в виде числовой матрицы. D
является n -by- k
матрица, где элемент (j, m) является расстоянием от j наблюдения до медоидных m.
info
- Информация об алгоритмеИнформация об алгоритме, возвращенная как struct. info
содержит опции, используемые функцией при выполнении, такие как k -medoid алгоритм кластеризации (algorithm
), метод для выбора начальных кластеров медоидных положений (start
), метрика расстояния (distance
), количество проделанных итераций в лучшей репликации (iterations
) и номер репликации возвращенных результатов (bestReplicate
).
k-medoids кластеризация является методом разбиения, обычно используемым в областях, которые требуют робастности для выбросов данных, произвольных метрик расстояния или тех, для которых среднее или медиана не имеют четкого определения.
Он похож на k-меаны, и цель обоих методов состоит в том, чтобы разделить набор измерений или наблюдений на k подмножества или кластеры, чтобы подмножества минимизировали сумму расстояний между измерением и центром кластера измерения. В алгоритме k -means центр подмножества является средним значением измерений в подмножестве, часто называемым центроидом. В алгоритме k -medoids центром подмножества является представитель подмножества, называемый медоидом.
Алгоритм k-medoids возвращает медоиды, которые являются фактическими точками данных в наборе данных. Это позволяет вам использовать алгоритм в ситуациях, когда среднее значение данных не существует в наборе данных. Это основное различие между k -medoids и k -means, где centroids, возвращенные k - means, могут быть не в наборе данных. Следовательно k -медоиды полезны для кластеризации категориальных данных, где среднее значение невозможно определить или интерпретировать.
Функция kmedoids
предоставляет несколько итерационных алгоритмов, которые минимизируют сумму расстояний от каждого объекта до его кластерного медиоида, по всем кластерам. Один из алгоритмов называется разбиением вокруг медоидов (PAM) [1], которое протекает в два этапа.
Build-step: Каждый из k кластеров связан с потенциальным медоидом. Это назначение выполняется с использованием метода, заданного 'Start'
аргумент пары "имя-значение".
Своп-шаг: В каждом кластере каждая точка проверяется как потенциальный медоид, проверяя, становится ли сумма расстояний внутри кластера меньше, используя эту точку в качестве медоида. Если это так, то точка определяется как новый медоид. Каждая точка затем назначается кластеру с ближайшим медоидом.
Алгоритм итерирует шаги build и swap до тех пор, пока медоиды не не изменятся, или не будут достигнуты другие критерии завершения.
Вы можете управлять деталями минимизации, используя несколько необязательных входных параметров, чтобы kmedoids
, включая таковые для начальных значений медоидов кластера и для максимального количества итераций. По умолчанию, kmedoids
использует k -means + + алгоритм для инициализации медоида кластера и квадратную евклидову метрику, чтобы определить расстояния.
[1] Кауфман, Л. и Руссью, П. Дж. (2009). Поиск групп в данных: введение в кластерный анализ. Хобокен, Нью-Джерси: John Wiley & Sons, Inc.
[2] Park, H-S и Jun, C-H. (2009). Простой и быстрый алгоритм кластеризации K-медоидов. Экспертные системы с приложениями. 36, 3336-3341.
[3] Шлиммер, Дж. С. (1987). Приобретение концепции посредством репрезентативной корректировки (Технический отчет 87-19). Докторская диссертация, кафедра информации и компьютерных наук, Калифорнийский университет, Ирвин.
[4] Iba, W., Wogulis, J., and Langley, P. (1988). Продажа простоты и охвата в инкрементном обучении концепции. В трудах V Международной конференции по машинному обучению, 73-79. Энн Арбор, Мичиган: Морган Кауфманн.
[5] Duch W, A.R., and Grabczewski, K. (1996) Извлечение логических правил из обучающих данных с помощью сетей обратного распространения. Proc. 1-го онлайн-семинара по программным вычислениям, 19-30, стр. 25-30.
[6] Duch, W., Adamczak, R., Grabczewski, K., Ishikawa, M., and Ueda, H. (1997). Извлечение четких логических правил с помощью ограниченных сетей обратного распространения - сравнение двух новых подходов. Прок. Европейского симпозиума по искусственным нейронным сетям (ESANN '97), Брюге, Бельгия 16-18.
[7] Bache, K. and Lichman, M. (2013). Репозиторий машинного обучения UCI [http://archive.ics.uci.edu/ml]. Ирвин, Калифорнийский университет, Школа информации и компьютерных наук.
Чтобы выполнять параллельно, задайте 'Options'
аргумент имя-значение в вызове этой функции и установите 'UseParallel'
поле структуры опций для true
использование statset
.
Для примера: 'Options',statset('UseParallel',true)
Для получения дополнительной информации о параллельных вычислениях смотрите Запуск функций MATLAB с автоматической поддержкой параллельных вычислений (Parallel Computing Toolbox).
clusterdata
| evalclusters
| kmeans
| linkage
| linkage
| pdist
| silhouette
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.