2016-08-12 6 views
-2

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

  1. Есть две категории А и В, если я хочу, чтобы выбрать столько, сколько А из их смеси, какого рода алгоритм я не должен использовать (нет необходимости учитывать количество образцов). Сначала я думал, что это должен быть алгоритм классификации. И я использую, например, повышение дерева решений в пакете TMVA, но кто-то сказал мне, что BDT действительно является алгоритмом регрессии.

  2. Я нахожу, когда у меня грубые данные. Если я проанализирую его (сделайте несколько комбинаций ...), прежде чем бросать его в BDT, результат лучше, чем я бросаю грубые данные в BDT. Поскольку грубые данные содержат всю информацию, зачем мне сам ее анализировать?

Вы не поняли, просто добавьте комментарий. И надеюсь, что вы можете дать мне совет.

+0

для вопроса 2 можете ли вы приложить пример ваших «грубых данных» вместе с вашими «проанализированными данными»? а также параметры, которые вы использовали с вашим классификатором (например, n_classifier, max_depth и т. д.) – maxymoo

+0

Мои данные - это некоторые частицы. Мы знаем, что частица имеет импульс, который равен px, py, pz и e, означает импульс направления x, направление y ... и энергию. Это грубые данные. Для разных категорий A и B масса A и B различна. Поэтому мы можем объединить эту массу = sqrt (e^2-px^2-py^2-pz^2). Кроме того, мы можем использовать четыре импульса (грубые данные) для объединения другой значащей переменной, такой как cos = pz/sqrt (px^2 + py^2 + pz^2). Как вы можете видеть, все «проанализированные данные» представляют собой комбинации «грубых данных», но «анализируемые данные» - лучший вход для BDT. – insomnia

+0

Параметры: «! H:! V: NTrees = 850: MinNodeSize = 2.5%: MaxDepth = 5: BoostType = AdaBoost: AdaBoostBeta = 0.5: UseBaggedBoost: BaggedSampleFraction = 0.5: SeparationType = GiniIndex: nCuts = 20" Для BDT. – insomnia

ответ

-1

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

+0

Я думаю, что ML должен быть способом. Но для дерева решений алгоритма классификации он просто разделил выборки на несколько категорий. Если номер выборки в каждой категории отличается, даже не в том же порядке, это разделение будет значительно уклоняться от категории с большим количеством выборок. (Например, если критерием является энтропия). Поэтому я сказал «выбрать» категорию из их смеси. Я думаю, что это немного по-другому. – insomnia

+0

И я никогда не использую других, позвольте мне попробовать их в первую очередь. – insomnia

1

Для 2 вы должны выполнить некоторые манипуляции с данными и подавать их, чтобы лучше работать, потому что из него не встроен алгоритм в analyze. Он просматривает только данные и classifies. Проблема анализа, как вы выразились, называется feature selection или feature engineering, и это должно быть сделано вручную (конечно, если вы не используете какую-либо технику, которая изучает функции, например, глубокое обучение). В машинном обучении много раз видели, что управляемые/спроектированные функции работают лучше, чем исходные.

Для 1, я думаю, BDT может использоваться как для регрессии, так и для классификации. Это похоже на проблему классификации (выбирать или не выбирать). Следовательно, вы должны использовать алгоритм классификации

+0

Большое спасибо, это то, что я хочу знать. Но я все еще не понимаю, после выбора функции мы фактически теряем какую-то информацию, почему мы можем получить лучший результат. На мой взгляд, если алгоритм ML совершенен, он должен анализировать автоматически. Другая проблема заключается в том, что, когда я добавляю больше переменных (комбинаций), результат получается лучше. Кажется, это немного глупо, потому что кажется, что мне нужно поставить все комбинации. Последний вопрос, в scikit-learn, критерий деления алгоритма дерева решений - это gini и энтропия.Могу ли я написать новый критерий себе как: номер категории A/все число – insomnia

+0

@insomnia После выбора функции мы теряем некоторую информацию, но эта информация не имеет значения. Я вижу, что это не потеряет информацию, а скорее сосредоточивается на более важных частях информации (например, дает больше веса). Например: вы хотели бы знать вес человека, пытаясь угадать его пол, но не то, что он ел прошлой ночью. –

+0

Кроме того, вы бы прочитали о «Нет бесплатной обеденной теоремы». ML не является магии, все должно быть точно настроено, и алгоритмы ML не могут автоматически анализироваться (большинство из них). Различные комбинации функций могут быть автоматически учтены с помощью таких алгоритмов, как SVM (гауссовское ядро) или нейронных сетей, но даже они требуют корректировки. –

Смежные вопросы