|
|
Публикувано в 27.04.2019 г. 9:53:15 ч.
|
|
|

Копаенето на големи данни е процес на откриване на ценна и потенциално полезна информация и знания, скрити в масивни, непълни, шумни, неясни и случайни големи бази данни, и също така е процес за подкрепа на вземането на решения. Основно се базира на изкуствен интелект, машинно обучение, обучение на модели, статистика и др. Копаенето на големи данни е процес на откриване на ценна и потенциално полезна информация и знания, скрити в масивни, непълни, шумни, неясни и случайни големи бази данни, и също така е процес за подкрепа на вземането на решения. Основно се базира на изкуствен интелект, машинно обучение, обучение на модели, статистика и др.
(1) Класификация. Класификацията е да се открият общите характеристики на набор от данни в базата данни и да се разделят на различни класове според модела на класификация, чиято цел е да се съпоставят елементите от данните в базата данни към дадена категория чрез класификационния модел. Може да се приложи за класификация на приложения и прогнозиране на тенденции, като например Taobao магазините разделят покупките на потребителите в различни категории за определен период от време и препоръчват свързани продукти според ситуацията, като по този начин увеличават обема на продажбите на магазина. Много алгоритми могат да се използват за класификация, като дървета на решения, knn, байесов и др
(2) Регресионен анализ. Регресионният анализ отразява характеристиките на стойностите на атрибутите в данните в базата данни и открива зависимостите между стойностите на атрибутите, като изразява връзката между картографирането на данни чрез функции. Може да се приложи за прогнозиране и корелация на серии от данни. В маркетинга регресионният анализ може да се прилага в различни аспекти. Например, чрез регресионния анализ на продажбите през текущото тримесечие се прогнозира тенденцията на продажбите за следващото тримесечие и се правят целенасочени маркетингови промени. Често използвани алгоритми за регресия включват обикновена най-малка квадратна регресия, логистична регресия, стъпкова регресия, многомерни адаптивни регресионни сплайни и локално оценени Изглаждане на диаграмата на разпръснатото изображение)
(3) Групиране. Клъстерирането е подобно на класификацията, но за разлика от класификацията, то разделя набор от данни на категории въз основа на прилики и разлики в данните. Сходството между данните, принадлежащи към една и съща категория, е много голямо, но сходството между данните между различните категории е много малко, а корелацията между данните между категориите е много ниска. Често използвани алгоритми за клъстериране включват алгоритъм на k-Средни и максимизация на очакванията (EM).
(4) Правила на асоциацията. Правилата на асоциацията са асоциации или връзки между скрити елементи от данни, тоест появата на други елементи може да се изведе въз основа на външния вид на един елемент от данни. Процесът на добив на асоциационни правила включва основно два етапа: първият етап е да се намерят всички високочестотни проектни групи от масивни сурови данни; Вторият край е да се генерират правила за асоциации от тези високочестотни проектни групи. Технологията за добив на асоциационни правила е широко използвана във финансовите предприятия за прогнозиране на нуждите на клиентите, а банките подобряват маркетинга си, като събират информация, която клиентите може да се интересуват, за да могат потребителите да разберат и получат съответната информация на своите банкомати. Често използвани алгоритми включват алгоритъм Априори и алгоритъм Еклат.
(5) Метод на невронната мрежа. Като напреднала технология за изкуствен интелект, невронната мрежа е много подходяща за справяне с нелинейни и обработващи проблеми, характеризиращи се с неясни, непълни и неточни знания или данни, а нейните характеристики са много подходящи за решаване на проблеми с добива на данни. Типичните модели на невронни мрежи са основно разделени на три категории: първата е моделът на невронна мрежа за прогнозиране на класификация и разпознаване на модели, който е представен главно от функционални мрежи и перцептрони; Втората категория е моделът на обратна връзка за невронна мрежа за асоциативна памет и алгоритми за оптимизация, представен чрез дискретния и непрекъснатия модел на Хопфийлд. Третата категория е самоорганизиращият се метод на картографиране за клъстериране, представен от модела ART. Въпреки че има много модели и алгоритми за невронни мрежи, няма единно правило кои модели и алгоритми да се използват в конкретни области на добива на данни, и е трудно за хората да разберат процеса на учене и вземане на решения в мрежите.
(6) Уеб добив на данни. Добивът на уеб данни е цялостна технология, която се отнася до уеб структурата от структурата на документа и множеството C, използвано за откриване на имплицитния модел P; ако C се разглежда като вход, P се разглежда като изход, тогава процесът на уеб добив може да се разглежда като процес на картографиране от вход към изход. В момента все повече уеб данни се появяват под формата на потоци от данни, което е от голямо значение за добива на уеб поток от данни. В момента често използваните алгоритми за уеб анализ на данни са: алгоритъм PageRank, алгоритъм HITS и алгоритъм LOGSOM. Потребителите, споменати в тези три алгоритъма, са общи потребители и не правят разлика между отделни потребители. В момента добиването на уеб данни се сблъсква с някои проблеми, включително: класификация на потребителите, навременност на съдържанието на уебсайта, време за престоене на страницата, входящи и изходящи номера на страниците и др. В днешното бързо развитие на уеб технологиите тези проблеми все още си заслужават изучаване и решаване.
(7) Дълбоко обучение Алгоритмите за дълбоко обучение са разработването на изкуствени невронни мрежи. Наскоро той привлече много внимание, особено след като Baidu започна да развива дълбоко обучение, което привлече голямо внимание в Китай. В днешния свят, където изчислителната мощност става по-евтина, дълбокото обучение се опитва да изгради невронни мрежи, които са много по-големи и по-сложни. Много алгоритми за дълбоко обучение са полу-супервизорирани алгоритми за обучение, използвани за обработка на големи набори от данни с малко количество неидентифицирани данни. Често срещани алгоритми за дълбоко обучение включват: Ограничена машина на Болцман (RBN), Дълбоки вярващи мрежи (DBN), Сгъваеми мрежи и Stacked Auto-encoders.
(8) Алгоритъм за интеграция Ансамбъловият алгоритъм използва някои сравнително слаби модели за обучение, за да тренира независимо върху една и съща извадка, след което интегрира резултатите за цялостно предсказване. Основната трудност на ансамбъл алгоритъма е кои независими по-слаби модели на учене са интегрирани и как да се интегрират резултатите от обучението. Това е много мощен клас алгоритми и в същото време много популярен. Често използвани алгоритми включват: Boosting, Bootstrapped Aggregation (Bagging), AdaBoost, Stacked Generalization (Blending), Gradient Boosting Machine (GBM) и Random Forest.
Освен това, намаляването на размерността е много важно и в инженерството за анализ на данни, както алгоритмите за клъстериране, алгоритмите за намаляване на размерността се опитват да анализират вътрешната структура на данните, но алгоритмите за намаляване на размерността се стремят да използват по-малко информация за обобщаване или интерпретиране на данни по неконтролирано обучение. Тези алгоритми могат да се използват за визуализиране на високоизмерни данни или за опростяване на данни за контролирано обучение. Често използвани алгоритми включват: Анализ на принципни компоненти (PCA), Частична регресия на най-малките квадрати (PLS), Самоново картографиране, Многомерно мащабиране (MDS), Проекционно преследване и др.
За подробен анализ на предимствата и недостатъците на някои алгоритми и референции за избор на алгоритъм, можете да разгледате сценариите за адаптация на няколко често използвани алгоритъма и техните предимства и недостатъци в следващия блог (много добре).
Следното е от параграф от горния блог: Референция за избор на алгоритъм:
Преди съм превеждал някои чуждестранни статии, а една от тях дава проста техника за избор на алгоритъм:
Ако ефектът не е добър, резултатите могат да се използват като референция и да се сравняват с други алгоритми на базата.
След това пробвай дървото на решенията (случайна гора), за да видиш дали може значително да подобри представянето на модела ти. Дори и да не го използвате като краен модел накрая, можете да използвате случайна гора, за да премахнете шумови променливи и да изберете характеристики;
Ако броят на характеристиките и наблюдателните проби е особено голям, тогава използването на SVM е възможно, когато ресурсите и времето са достатъчни (тази предпоставка е важна).
Обикновено: [XGBOOST>=GBDT>=SVM>=RF>=Adaboost>=Друго...], сега дълбокото обучение е много популярно, използва се в много области, базирано е на невронни мрежи, в момента се уча сам, но теоретичните знания не са много обширни, разбирането не е достатъчно дълбоко, няма да го въвеждам тук.
Алгоритмите са важни, но добрите данни са по-добри от добрите алгоритми, а проектирането на добри характеристики носи голяма полза. Ако имате много голям набор от данни, независимо кой алгоритъм използвате, това може да не повлияе много на представянето на класификацията (можете да избирате според скоростта и лесната употреба).
|
Предишен:Конвертиране на резултатите от заявката в споделяне на скрипт във формат JsonСледващ:C# е Windows услуга, която изпълнява задачи редовно
|