Что подать на вход нейросети? Ваши идеи... - страница 66

 
Forester #:

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

2. БД, леса и и модели кластеризации записывают = запоминают сразу. Без итераций и повторений.

1. Абсолютно и безусловно я ничего нового не сказал, поскольку это базовые, элементарные вещи. Вы отрицали необходимость поитерационного процесса запоминания с контролем оценкой, поэтому пришлось всё известное уже давным давно подробно повторить.

В частности, вызывают удивление часто встречающиеся заблуждения на счет этих базовых вещей. Разделение понятия запоминания на машинное и "людское" не имеет смысла, посколько процесс принципиально идентичен.

2. Если у вас где-то что-то записывается сразу, без итераций, значит там нет запоминания. Повторюсь - запоминание не может быть выполнено за одну итерацию, поскольку заранее результат запоминания неизвестен ввиду "связной" природе запоминания.

 
Andrey Dik #:

1. Абсолютно и безусловно я ничего нового не сказал, поскольку это базовые, элементарные вещи. Вы отрицали необходимость поитерационного процесса запоминания с контролем оценкой, поэтому пришлось всё известное уже давным давно подробно повторить.

В частности, вызывают удивление часто встречающиеся заблуждения на счет этих базовых вещей. Разделение понятия запоминания на машинное и "людское" не имеет смысла, посколько процесс принципиально идентичен.

2. Если у вас где-то что-то записывается сразу, без итераций, значит там нет запоминания. Повторюсь - запоминание не может быть выполнено за одну итерацию, поскольку заранее результат запоминания неизвестен ввиду "связной" природе запоминания.

Повторяйтесь/итерируйте сколько хотите. Существующих и успешно работающих алгоритмов это не изменит.
Деревья за один проход раскидывают данные по листьям.
 
Forester #:
Повторяйтесь/итерируйте сколько хотите. Существующих и успешно работающих алгоритмов это не изменит.
Деревья за один проход раскидывают данные по листьям.

Задам вопросы. 
Деревья всегда и за один проход раскидывают данные одинаково?
Какие алгоритмы используются в деревьях. Какая цель у этих алгоритмов? 
Если ответите на эти вопросы, тогда мне не придётся выкладывать снова базу и смогу двигаться дальше по намеченному плану.
 
Andrey Dik #:

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

1) Всегда за 1 проход.
Можно задать настройки, чтобы всегда одинаково.
Но обычно применяют рандомизацию: подавая случайные строки и/или столбцы на обучение.
Я для своих экспериментов всегда отключаю все что вносит рандомизацию: для воспроизводимости между запусками

2) Жадные алгоритмы. Потому и за 1 проход. Статей про алгритмы деревьев полно.
Вот можете сами повторить в коде дерево и разобраться как там все работает.
https://habr.com/ru/companies/vk/articles/438560/ Программист вы опытный - разберетесь легко.

И 2-я часть https://habr.com/ru/companies/vk/articles/438562/

Пишем XGBoost с нуля — часть 1: деревья решений
Пишем XGBoost с нуля — часть 1: деревья решений
  • 2019.02.06
  • habr.com
Привет, Хабр! После многочисленных поисков качественных руководств о решающих деревьях и ансамблевых алгоритмах (бустинг, решающий лес и пр.) с их непосредственной реализацией на языках программирования, и так ничего не найдя (кто найдёт — напишите в комментах, может, что-то новое почерпну), я решил сделать своё собственное руководство, каким...
 
Forester #:

1) Всегда за 1 проход.
Можно задать настройки, чтобы всегда одинаково.
Но обычно применяют рандомизацию: подавая случайные строки и/или столбцы на обучение.

2) Жадные алгоритмы. Потому и за 1 проход. Статей про алгритмы деревьев полно.
Вот можете сами повторить в коде дерево и разобраться как там все работает.
https://habr.com/ru/companies/vk/articles/438560/


Отсылать читать статьи - дурной тон. Можете ответить на мои вопросы? В чем смысл отрицания?))
Дополнительные вопросы. Что формирует правила ветвления в дереве?
Вы по прежнему путаете запись и запоминание.
 
Andrey Dik #:

Отсылать читать статьи - дурной тон. Можете ответить на мои вопросы? В чем смысл отрицания?))

1-й отвечен, 2-й в статье. Разберетесь с алгоритмом и все поймете. Код яснее тысячи слов.

 
Forester #:

1-й отвечен, 2-й в статье. Разберетесь с алгоритмом и все поймете. Код яснее тысячи слов.


Вы не ответили ни на один мой вопрос, к сожалению, полностью. Всё время уклоняетесь.))
Нужно разобраться вам а не мне, судя по всему.

Скиньте мои вопросы чату, если лень самому набирать ответ))

ЗЫ. Кстати, можете прочитать статью по своей ссылке, чтобы ответить на мои вопросы. И на mql5.com огромное количество обучающего материала в статьях по теме, при этом на родном MQL5.

ЗЗЫ. Обратите внимание при прочтении обучающего материала, что деревья ветвятся не абы как, а преследуя вполне конкретные цели. Какие цели? На каком этапе происходит итерационный процесс при обучении деревьев и почему он итерационный и какую цель, опять же, преследует этот итерационный процесс?

 

Как работают деревья в машинном обучении?

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

### 1. Структура дерева
- **Вершины**: Каждая вершина дерева представляет собой узел, где происходит разделение данных.
- **Корень**: Это верхний узел дерева, откуда начинается процесс разделения.
- **Листовые узлы**: Узлы, которые не имеют дочерних узлов, представляют собой конечные результаты (классификация или предсказание).

### 2. Процесс построения дерева
- **Выбор признака**: На каждом узле выбирается признак, по которому будет происходить разделение. Выбор признака осуществляется на основе критерия, который позволяет максимизировать однородность подмножеств (например, критерий Джини или энтропия для классификации).
- **Разделение данных**: Данные делятся на две или более группы в зависимости от значения выбранного признака.
- **Рекурсия**: Процесс повторяется для каждой полученной группы, пока не будет достигнуто определенное условие остановки (например, максимальная глубина дерева или минимальное количество образцов в узле).

### 3. Оценка качества
- **Критерии**: Для оценки качества разделения используются различные метрики, такие как:
  - **Джини**: Мера, которая вычисляет вероятность неправильной классификации случайно выбранного элемента.
  - **Энтропия**: Мера неопределенности, которая показывает, насколько данные в узле разнородны.


### 4. Устойчивость к переобучению
- **Переобучение**: Деревья могут легко переобучаться, особенно если они слишком глубокие. Для борьбы с этим применяются методы, такие как обрезка (pruning), которая удаляет менее значимые узлы.
- **Регуляризация**: Установка ограничений на максимальную глубину дерева или минимальное количество образцов в узле также помогает избежать переобучения.

### 5. Применение
- **Классификация**: Деревья могут использоваться для классификации объектов на основе их признаков.
- **Регрессия**: Деревья могут предсказывать непрерывные значения, разбивая данные на подмножества и вычисляя среднее значение в каждом листовом узле.

### 6. Ансамблевые методы
- **Случайные леса**: Это метод, который объединяет множество деревьев для улучшения точности и устойчивости модели.
- **Градиентный бустинг**: Метод, который строит деревья последовательно, где каждое новое дерево исправляет ошибки предыдущих.

Деревья являются мощным инструментом в машинном обучении благодаря своей интерпретируемости и способности обрабатывать как числовые, так и категориальные данные.

Выше синее - итарационность процесса, зелёным - оценка процесса.

Ниже ещё про итерационнсоть и оценку, цветом выделять лень.

Разбиение на листья итерационный процесс или нет?

Да, разбиение на листья в решающих деревьях — это итерационный процесс. Давайте подробнее рассмотрим, как это происходит:

### Процесс разбиения

1. **Выбор узла для разбиения**:
   - Начинается с корня дерева, где находятся все данные.
   - На каждом узле выбирается признак и значение, по которому будет происходить разделение. Это делается с использованием критериев, таких как уменьшение энтропии или критерия Джини.

2. **Разделение данных**:
   - Данные делятся на две или более группы в зависимости от выбранного признака и его значения.
   - Каждая группа становится новым узлом (или поддеревом) для дальнейшего разбиения.

3. **Рекурсивное разбиение**:
   - Процесс повторяется для каждого нового узла. На каждом этапе выбирается новый признак, и данные снова разделяются.
   - Это продолжается до тех пор, пока не будет достигнуто условие остановки, например:
     - Максимальная глубина дерева.
     - Минимальное количество образцов в узле.
     - Отсутствие значимого улучшения в качестве разбиения.

### Итеративный характер

- **Итерация**: Каждый шаг разбиения — это итерация, которая приводит к созданию новых узлов и подмножеств данных.
- **Рекурсия**: Процесс разбиения можно рассматривать как рекурсивный, где каждый узел обрабатывается отдельно, и для каждого узла повторяется тот же процесс.

### Завершение процесса

- Когда достигается одно из условий остановки, узел становится листовым, и для него определяется конечное значение (например, класс для классификации или среднее значение для регрессии).

Таким образом, разбиение на листья в решающих деревьях действительно является итерационным и рекурсивным процессом, который позволяет последовательно уточнять и улучшать модель.

Что является критерием оценки во время построения дерева и какие алгоритмы оптимизации используются при этом?

При построении решающих деревьев используются несколько критериев оценки, которые помогают определить, как лучше всего разделить данные на каждом узле. Основные критерии включают:

### Критерии оценки

1. **Энтропия**:
   - Используется в алгоритме ID3.
   - Измеряет неопределенность или случайность в данных. Чем ниже энтропия, тем более однородными являются данные.
   - Формула:
     \[
     H(S) = -\sum_{i=1}^{C} p_i \log_2(p_i)
     \]
     где \( p_i \) — вероятность класса \( i \), а \( C \) — количество классов.

2. **Критерий Джини**:
   - Используется в CART (Classification and Regression Trees).
   - Измеряет вероятность неправильной классификации случайно выбранного элемента.
   - Формула:
     \[
     Gini(S) = 1 - \sum_{i=1}^{C} p_i^2
     \]

3. **Кросс-энтропия (логарифмическая потеря)**:
   - Используется в некоторых вариациях решающих деревьев, особенно для задач классификации.
   - Оценивает разницу между предсказанными вероятностями и фактическими метками классов.

4. **Среднеквадратичная ошибка (MSE)**:
   - Используется для регрессионных задач.
   - Оценивает среднее значение квадратов ошибок между предсказанными и фактическими значениями.

### Алгоритмы оптимизации

При построении решающих деревьев также применяются различные алгоритмы и методы оптимизации:

1. **Жадный алгоритм**:
   - На каждом узле выбирается лучший признак и значение для разбиения, основываясь на выбранном критерии оценки.
   - Этот процесс продолжается до тех пор, пока не будут достигнуты условия остановки.

2. **Построение дерева с использованием случайных подмножеств**:
   - В алгоритме Random Forest используется метод «бэггинга», где строятся несколько деревьев на случайных подмножествах данных и признаков.
   - Это помогает уменьшить переобучение и повысить обобщающую способность модели.

3. **Обрезка дерева**:
   - После построения дерева может быть выполнена процедура обрезки, чтобы уменьшить его сложность и предотвратить переобучение.
   - Обрезка может быть сделана на основе кросс-валидации или использования критерия, такого как ошибка на валидационном наборе.

4. **Гиперпараметрическая оптимизация**:
   - Используются методы, такие как поиск по сетке (Grid Search) или случайный поиск (Random Search), для нахождения оптимальных значений гиперпараметров, таких как глубина дерева, минимальное количество образцов в узле и т.д.

Эти критерии и методы оптимизации помогают построить эффективные и надежные модели на основе решающих деревьев.

Всё, что отрицалось (оценка, итерационность, наличие алгоритма оптимизации) - присутствует при построении деревьев.


ЗЫ. Статьи по теме #деревья.

 

ЧатГПТ оставит мир без людей пытающихся разобраться в вопросах самостоятельно.
Разберитесь с кодом из статьи. И таких вопросов не будет возникать. Вы же программист и можете это сделать. Или уже всё? Чат ГПТ занял место источника истинных знаний?

В рекурсии вы увидели итерационность. Нет - там не снова и снова все данные повторно обрабатываются (как у людей повторение или у НС пересчет всех весов на каждой эпохе обучения). А каждый раз набор данных делится например пополам, каждая половина делится еще пополам и так далее, пока разделить уже будет невозможно (остался 1 пример или все примеры одинаковые). Это и есть раскидывание данных по листьям за 1 проход. Очень быстро работает.

Это выбор лучшего сплита, но не оценка самих данных. Об этом я писал ранее. Вы же хотите оценить данные, чтобы запись назвать запоминанием.

 
Forester #:

ЧатГПТ оставит мир без людей пытающихся разобраться в вопросах самостоятельно.
Разберитесь с кодом из статьи. И таких вопросов не будет возникать. Вы же программист и можете это сделать. Или уже всё? Чат ГПТ занял место источника истинных знаний?

В рекурсии вы увидели итерационность. Нет - там не снова и снова все данные повторно обрабатываются (как у людей повторение или у НС пересчет всех весов на каждой эпохе обучения). А каждый раз набор данных делится например пополам, каждая половина делится еще пополам и так далее, пока разделить уже будет невозможно (остался 1 пример или все примеры одинаковые). Это и есть раскидывание данных по листьям за 1 проход. Очень быстро работает.

Это выбор лучшего сплита, но не оценка самих данных. Об этом я писал ранее. Вы же хотите оценить данные, чтобы запись назвать запоминанием.

Набирать большой пост вручную нет времени, для этого гпт вполне годится.

Посмотрите внимательно, пожалуйста хотя бы тот код, что предлагаете мне посмотреть. Разберитесь, где в нём итерации, где оценка, а где алгоритм оптимизации. Ваше отрицание ни к чему не приведёт.

Рекурсия - это итерации.