Я энтузиаст программирования и машинного обучения. Всего несколько месяцев назад я начал изучать программирование машинного обучения. Как и многие люди, у которых нет количественного научного опыта, я также начал изучать ML, работая с алгоритмами и наборами данных в широко используемом пакете ML (Caret R).
Некоторое время назад я прочитал блог, в котором автор рассказывает об использовании линейной регрессии в ML. Если я правильно помню, он говорил о том, что в конце концов все машинное обучение использует своего рода «линейную регрессию» (не уверен, использовал ли он этот точный термин) даже для линейных или нелинейных задач. Тогда я не поняла, что он имел в виду.
Мое понимание использования машинного обучения для нелинейных данных заключается в использовании нелинейного алгоритма для разделения данных.
Это было мое мышление
Скажем, для классификации линейных данных мы использовали линейное уравнение а для нелинейных данных мы используем нелинейное уравнение, скажем, y = s i n ( x )
Это изображение взято с сайта sikit learn машины опорных векторов. В SVM мы использовали разные ядра для целей ML. Таким образом, я изначально думал, что линейное ядро разделяет данные, используя линейную функцию, а ядро RBF использует нелинейную функцию для разделения данных.
Но потом я увидел этот блог, где автор рассказывает о нейронных сетях.
Чтобы классифицировать нелинейную задачу в левом подпункте, нейронная сеть преобразует данные таким образом, что в конце мы можем использовать простое линейное разделение для преобразованных данных в правом подпункте
Мой вопрос заключается в том, все ли алгоритмы машинного обучения в конечном итоге используют линейное разделение для классификации (линейный / нелинейный набор данных)?




