2015-08-12 3 views
1

Задача: Скажем, у меня следующие весовые и количественные параметры: w_1..w_n, p_1..p_n. 0 < = w < = 1. У меня также есть выбор случаев параметров и связанных значений.Алгоритм поиска оптимальных весов для прогнозирования

Какие существуют алгоритмы для нахождения оптимальных весов для минимизации ошибок прогнозирования значения, заданного параметрами? И какие алгоритмы обычно достигали лучших результатов?

Пример попытке прогнозировать качество яблока на основе параметров P_1 = транспортной _time, p_2 = days_since_picking. Качество измеряется с использованием субъективной шкалы. 50 человек оценили яблоки с оценками от 1 до 5, и я знаю p_1 и p_2 для всех этих яблок. Как я могу предсказать и найти веса для p_1 и p_2, которые минимизируют общие ошибки в случаях?

+1

Думаю, вам нужно указать функцию потерь для точного ответа на этот вопрос. Но для небольших * n * и не большого количества данных вы можете просто использовать нелинейную оптимизацию и иметь любую функцию потерь, которую вы хотите. Увеличьте * n *, и вы можете легко перетащить проблему этого формата в SVM (см. Libsvm), но я уверен, что это подразумевает определенную функцию потерь. –

+1

Разве это не просто линейная регрессия? – IVlad

+0

Jay: Я не отношусь к этой терминологии, но может ли функция потерь для конкретного случая быть: abs (значение, вычисленное по алгоритму - рейтинг, предоставленный для яблок)? – MortenGR

ответ

1

Я согласен с комментарием, что вы должны запустить веб-поиск по «линейной регрессии». По крайней мере три других источников для списков алгоритмов приходят на ум:

  1. NLopt: http://ab-initio.mit.edu/wiki/index.php/NLopt_Algorithms (и мой C# обертка для него: https://github.com/BrannonKing/NLoptNet)

  2. книга С. Бойда: http://stanford.edu/~boyd/cvxbook/

  3. You вероятно, мог бы использовать контролируемый алгоритм ИИ. Нейронные сети, как правило, состоит из «весов»: https://en.wikipedia.org/wiki/Supervised_learning

Вы также можете использовать генетический алгоритм в сочетании с серой код веса кодированием.

+0

Я знаю о линейных алгоритмах и широко использовал их, но мне также интересно узнать о других подходах. Большое спасибо за ваш вклад :-) – MortenGR

+0

@ MortenGR нейронные сети и SVM являются (или могут быть) нелинейными и, следовательно, разными подходами. – IVlad