Обсуждение:K-means
Материал из MachineLearning.
(Новая: {| style="background-color: #f9faec; border: 1px solid #e0e0e0; width: 100%; margin-top: 10px;" |- | style="width: 60px; vertical-align: top; padding: 15px 10px; text-align: center;" | <...) |
|||
| Строка 14: | Строка 14: | ||
Пиши только в MediaWiki-разметке, без Markdown. Математические формулы оформляй через <tex>...</tex>, код — через блок: <source lang="python"> ... </source> | Пиши только в MediaWiki-разметке, без Markdown. Математические формулы оформляй через <tex>...</tex>, код — через блок: <source lang="python"> ... </source> | ||
| - | Используй внутренние ссылки MachineLearning.ru на связанные термины: [[Кластеризация]], [[Обучение без учителя]], [[DBSCAN]], [[Иерархическая кластеризация]], [[ | + | Используй внутренние ссылки MachineLearning.ru на связанные термины, которые встречаются в статье: [[Кластеризация]], [[Обучение без учителя]], [[DBSCAN]], [[Иерархическая кластеризация]], [[EM-алгоритм]], [[Метрика]], [[Выброс]]. |
| + | |||
| + | Обязательно раскрой содержание статьи, а не только формально опиши алгоритм: | ||
| + | |||
| + | введи k-means как алгоритм центроидной кластеризации и метод обучения без учителя; | ||
| + | |||
| + | объясни, что алгоритм разбивает множество объектов на заранее заданное число <tex>k</tex> кластеров; | ||
| + | |||
| + | укажи, что в классической постановке объекты представлены векторами в евклидовом пространстве; | ||
| + | |||
| + | объясни, что каждый кластер описывается центром — средним вектором объектов, отнесённых к этому кластеру; | ||
| + | |||
| + | сравни k-means с [[DBSCAN]] и [[Иерархическая кластеризация|иерархической кластеризацией]]; | ||
| + | |||
| + | дай строгую постановку задачи через множество объектов <tex>X={x_1,\ldots,x_n}</tex>, разбиение на кластеры <tex>S_1,\ldots,S_k</tex>, центры <tex>\mu_j</tex> и метки кластеров <tex>c_i</tex>; | ||
| + | |||
| + | определи центроид кластера как среднее арифметическое объектов; | ||
| + | |||
| + | запиши целевую функцию k-means как сумму квадратов расстояний от объектов до центров соответствующих кластеров; | ||
| + | |||
| + | подробно опиши алгоритм Ллойда: выбор начальных центров, назначение объектов ближайшим центрам, пересчёт центров и критерий остановки; | ||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
объясни, почему значение целевой функции не возрастает на итерациях; | объясни, почему значение целевой функции не возрастает на итерациях; | ||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | Структура статьи: | + | укажи, что алгоритм сходится к стационарному разбиению, но не гарантирует глобальный минимум; |
| + | |||
| + | отдельно опиши проблему начальной инициализации центров; | ||
| + | |||
| + | раскрой метод k-means++ и формулу вероятности выбора следующего центра через квадрат расстояния до ближайшего уже выбранного центра; | ||
| + | |||
| + | объясни выбор числа кластеров <tex>k</tex>; | ||
| + | |||
| + | опиши метод локтя через внутрикластерную сумму квадратов <tex>W_k</tex>; | ||
| + | |||
| + | опиши коэффициент силуэта и его формулу; | ||
| + | |||
| + | укажи необходимость нормировки признаков и чувствительность алгоритма к масштабу координат; | ||
| + | |||
| + | перечисли достоинства и ограничения k-means; | ||
| + | |||
| + | укажи вычислительную сложность одной итерации <tex>O(nkd)</tex> и общую сложность <tex>O(Tnkd)</tex>; | ||
| + | |||
| + | укажи объём памяти <tex>O(nd+kd+n)</tex>; | ||
| + | |||
| + | объясни связь k-means со смесями гауссовских распределений и [[EM-алгоритм|EM]]; | ||
| + | |||
| + | добавь пример применения k-means на Python через scikit-learn; | ||
| + | |||
| + | добавь простую учебную реализацию алгоритма Ллойда на Python; | ||
| + | |||
| + | опиши варианты и обобщения: Mini-batch k-means, K-medoids, Kernel k-means, Fuzzy c-means. | ||
| + | |||
| + | Структура статьи должна быть такой: | ||
| + | |||
== Основные понятия и определения == | == Основные понятия и определения == | ||
== Алгоритм == | == Алгоритм == | ||
| Строка 44: | Строка 82: | ||
В разделе «Литература» используй только вики-шаблоны {{статья | ...}} и {{книга | ...}}, не оформляй источники обычным текстом. | В разделе «Литература» используй только вики-шаблоны {{статья | ...}} и {{книга | ...}}, не оформляй источники обычным текстом. | ||
| + | |||
| + | В список литературы включи источники, соответствующие статье: MacQueen, Lloyd, Forgy, Arthur и Vassilvitskii, Hastie–Tibshirani–Friedman, Bishop. | ||
В конце добавь категории: | В конце добавь категории: | ||
| Строка 50: | Строка 90: | ||
[[Категория:Алгоритмы машинного обучения]] | [[Категория:Алгоритмы машинного обучения]] | ||
| - | Выведи только готовый MediaWiki-код статьи, без пояснений вне статьи.</nowiki> | + | Выведи только готовый MediaWiki-код статьи, без пояснений вне статьи. |
| + | </nowiki> | ||
Текущая версия
| ✓ |
Напиши статью для MachineLearning.ru на русском языке на тему «Алгоритм кластеризации k-means». Целевая аудитория: студенты профильных вузов, математики и практикующие ML-инженеры. Стиль — энциклопедическая вики-статья: строго, содержательно, без рекламного, разговорного и водянистого текста. Статья должна выглядеть как законченная страница MachineLearning.ru, а не как сырой текст, сгенерированный LLM. В начале статьи обязательно добавь код в точности: {{well|Статья написана с использованием LLM ''GPT-5.5 Thinking'' и проверена участником ~~~~ Промпт приводится полностью в [[Обсуждение:Алгоритм кластеризации k-means]]}} {{TOCright}} Пиши только в MediaWiki-разметке, без Markdown. Математические формулы оформляй через <tex>...</tex>, код — через блок: <source lang="python"> ... </source> Используй внутренние ссылки MachineLearning.ru на связанные термины, которые встречаются в статье: [[Кластеризация]], [[Обучение без учителя]], [[DBSCAN]], [[Иерархическая кластеризация]], [[EM-алгоритм]], [[Метрика]], [[Выброс]]. Обязательно раскрой содержание статьи, а не только формально опиши алгоритм: введи k-means как алгоритм центроидной кластеризации и метод обучения без учителя; объясни, что алгоритм разбивает множество объектов на заранее заданное число <tex>k</tex> кластеров; укажи, что в классической постановке объекты представлены векторами в евклидовом пространстве; объясни, что каждый кластер описывается центром — средним вектором объектов, отнесённых к этому кластеру; сравни k-means с [[DBSCAN]] и [[Иерархическая кластеризация|иерархической кластеризацией]]; дай строгую постановку задачи через множество объектов <tex>X={x_1,\ldots,x_n}</tex>, разбиение на кластеры <tex>S_1,\ldots,S_k</tex>, центры <tex>\mu_j</tex> и метки кластеров <tex>c_i</tex>; определи центроид кластера как среднее арифметическое объектов; запиши целевую функцию k-means как сумму квадратов расстояний от объектов до центров соответствующих кластеров; подробно опиши алгоритм Ллойда: выбор начальных центров, назначение объектов ближайшим центрам, пересчёт центров и критерий остановки; объясни, почему значение целевой функции не возрастает на итерациях; укажи, что алгоритм сходится к стационарному разбиению, но не гарантирует глобальный минимум; отдельно опиши проблему начальной инициализации центров; раскрой метод k-means++ и формулу вероятности выбора следующего центра через квадрат расстояния до ближайшего уже выбранного центра; объясни выбор числа кластеров <tex>k</tex>; опиши метод локтя через внутрикластерную сумму квадратов <tex>W_k</tex>; опиши коэффициент силуэта и его формулу; укажи необходимость нормировки признаков и чувствительность алгоритма к масштабу координат; перечисли достоинства и ограничения k-means; укажи вычислительную сложность одной итерации <tex>O(nkd)</tex> и общую сложность <tex>O(Tnkd)</tex>; укажи объём памяти <tex>O(nd+kd+n)</tex>; объясни связь k-means со смесями гауссовских распределений и [[EM-алгоритм|EM]]; добавь пример применения k-means на Python через scikit-learn; добавь простую учебную реализацию алгоритма Ллойда на Python; опиши варианты и обобщения: Mini-batch k-means, K-medoids, Kernel k-means, Fuzzy c-means. Структура статьи должна быть такой: == Основные понятия и определения == == Алгоритм == == Инициализация центров == == Выбор числа кластеров == == Свойства == == Связь с вероятностными моделями == == Реализация == == Варианты и обобщения == == См. также == == Литература == В разделе «См. также» используй список через символ *. В разделе «Литература» используй только вики-шаблоны {{статья | ...}} и {{книга | ...}}, не оформляй источники обычным текстом. В список литературы включи источники, соответствующие статье: MacQueen, Lloyd, Forgy, Arthur и Vassilvitskii, Hastie–Tibshirani–Friedman, Bishop. В конце добавь категории: [[Категория:Кластеризация]] [[Категория:Обучение без учителя]] [[Категория:Алгоритмы машинного обучения]] Выведи только готовый MediaWiki-код статьи, без пояснений вне статьи. |

