Машинное обучение и нейронные сети - страница 43

 

Как реализовать логистическую регрессию с нуля с помощью Python

Код: https://github.com/AssemblyAI-Examples/Machine-Learning-From-Scratch/tree/main/03%20Logistic%20Regression


Как реализовать логистическую регрессию с нуля с помощью Python

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

  • 00:00:00 В этом разделе видео обсуждается логистическая регрессия и то, как она включает создание вероятностей вместо конкретных значений с помощью сигмовидной функции. Вместо использования среднеквадратичной ошибки логистическая регрессия использует перекрестную энтропию для своей функции ошибки. Чтобы использовать градиентный спуск, необходимо рассчитать градиент функции ошибок с точки зрения веса и смещения. Скорость обучения используется для определения скорости приближения к направлению, заданному градиентом. При тестировании вычисляется вероятность, и метка выбирается исходя из наибольшей вероятности. Реализация логистической регрессии аналогична линейной регрессии, но с инициализацией весов и смещений равными нулю.

  • 00:05:00 В этом разделе видео инструктор объясняет, как реализовать логистическую регрессию с помощью Python, используя сигмовидную функцию для прогнозирования результатов. Процесс включает в себя вычисление прогнозов на основе произведения весов и значений x плюс смещение, помещение их в сигмовидную функцию для получения результатов и вычисление градиентов. Преподаватель демонстрирует, как рассчитать градиент смещения и обновления с помощью итераций. В этом разделе также описано, как выполнять вывод с помощью логистической регрессии, получая вероятность и выбирая метку на основе значений прогнозов.

  • 00:10:00 В этом разделе инструктор демонстрирует, как реализовать логистическую регрессию с нуля с помощью Python. Они шаг за шагом объясняют процесс, показывая, как вычислять вероятности и метки классов с помощью сигмовидной функции, а также как регулировать скорость обучения для получения лучших результатов. Преподаватель также загружает набор данных о раке молочной железы из Scikit-learn и обучает классификатор логистической регрессии прогнозировать, является ли опухоль злокачественной или доброкачественной, на основе характеристик набора данных. Наконец, они оценивают точность алгоритма и демонстрируют, как его вычислить с помощью пользовательской функции. В целом реализация прошла успешно и показывает, что самодельный алгоритм работает достаточно хорошо.
How to implement Logistic Regression from scratch with Python
How to implement Logistic Regression from scratch with Python
  • 2022.09.14
  • www.youtube.com
In the third lesson of the Machine Learning from Scratch course, we will learn how to implement the Logistic Regression algorithm. It is quite similar to the...
 

Как реализовать деревья решений с нуля с помощью Python



Как реализовать деревья решений с нуля с помощью Python

Видео содержит пошаговое руководство по построению дерева решений с нуля с помощью Python. Докладчик объясняет концепцию деревьев решений, как они работают и как строятся. Они обсуждают критерии остановки, функцию роста дерева, вспомогательные функции «наиболее распространенная метка», «прирост информации», «энтропия» и «разделение», а также функцию прогнозирования. Докладчик также демонстрирует, как рассчитать прирост информации, взвешенную энтропию и точность. Кроме того, они тестируют модель дерева решений и предоставляют зрителям ссылку на свой репозиторий GitHub, где доступен код.

  • 00:00:00 В этом разделе мы узнаем о деревьях решений, о том, как они работают и как строятся. Деревья решений строятся для представления набора данных, при этом каждая точка данных делится на конечные узлы, которые представляют либо «да», либо «нет». Узлы между конечными узлами называются ветвями, и они делятся на основе функций, таких как функции, которые показывают, находится ли точка данных в восточном или западном районе. Прирост информации рассчитывается как энтропия родителя и средневзвешенное значение энтропии дочерних элементов, а модель дерева решений обучается на основе наиболее значимого прироста информации. Наконец, мы обсудим критерии остановки, которые используются для принятия решения о прекращении построения дерева решений.

  • 00:05:00 В этом разделе спикер обсуждает способы остановки дерева решений перед анализом всех возможных листовых узлов, включая установку максимальной глубины или минимального количества выборок для узла. Затем докладчик представляет два класса, которые будут использоваться для реализации дерева решений: класс Node и класс DecisionTree. Класс Node включает в себя информацию о признаке, которым был разделен узел, и значение узла. Класс DecisionTree включает методы для подбора дерева по значениям x и y, прогнозирования новых данных и установки критериев остановки, таких как минимальное количество выборок и максимальная глубина. В целом, спикер использует пошаговый подход к описанию реализации дерева решений с нуля в Python.

  • 00:10:00 В этом разделе спикер обсуждает реализацию функции роста дерева, которая является основной функцией, которая рекурсивно строит дерево решений. Функция принимает значения x и y и проверяет, не превышает ли количество объектов фактическое количество объектов. Функция сначала проверяет критерии остановки, а затем переходит к поиску наилучшего разделения, создает дочерние узлы и снова вызывает функцию роста дерева. Если критерии остановки соблюдены, функция создает новый конечный узел и возвращает его с параметром value. Докладчик также обсуждает вспомогательную функцию под названием «наиболее распространенная метка», которая использует структуру данных счетчика и возвращает наиболее распространенную метку в наборе данных.

  • 00:15:00 В этом разделе видео обсуждается, как реализовать деревья решений с нуля с помощью Python. Инструктор демонстрирует, как создать вспомогательную функцию, чтобы найти лучший порог и функцию для создания нового разделения. Эта функция использует numpy для случайного выбора группы функций, чтобы рассмотреть возможность создания нового разделения. Как только вспомогательная функция находит пороговое значение среди всех возможных разбиений, она вычисляет прирост информации, чтобы определить, лучше ли он, чем наилучший рассчитанный до сих пор прирост. Наконец, возвращаются лучший индекс разделения и пороговое значение.

  • 00:20:00 В этом разделе видео спикер создает вспомогательную функцию под названием «прирост информации» для расчета прироста информации и определяет другую вспомогательную функцию под названием «энтропия» для вычисления энтропии родителя на основе значений, переданных в , Они объясняют, что энтропия родителя рассчитывается как сумма px, умноженная на log 2 px, и они используют трюк numpy для подсчета вхождений каждого значения и деления его на общее количество значений, чтобы получить p x . Затем спикер создает еще одну вспомогательную функцию под названием «split», чтобы помочь найти, какие индексы идут влево, а какие вправо, и демонстрирует, как работает numpy argwhere.

  • 00:25:00 В этом разделе видео ведущий объясняет, как вычислить взвешенную энтропию дочерних элементов дерева решений с помощью Python. После получения длины значений y и левого и правого индексов можно рассчитать энтропию дочерних элементов по формуле средневзвешенного значения. Это включает в себя нахождение количества выборок в каждом дочернем узле, деленное на общее количество выборок, умножение его на энтропию каждого узла, а затем сложение результатов вместе для получения энтропии дочерних элементов. С помощью этой информации прирост информации можно затем рассчитать, взяв родительскую энтропию за вычетом дочерней энтропии, которая затем передается обратно всему дереву решений.

  • 00:30:00 В этом разделе видео ведущий объясняет, как реализовать функцию прогнозирования для классификатора дерева решений. Вспомогательная функция traverse_tree используется здесь для рекурсивного обхода дерева и возврата значения конечного узла, если он достигнут. Если значение признака меньше или равно порогу, для обхода передается левая сторона дерева, а в противном случае — правая сторона дерева. Значения возвращаются, а затем перед выводом превращаются в массив numpy. Затем классификатор дерева решений тестируется с набором данных о раке молочной железы, и функция прогнозирования используется для создания прогнозов, которые передаются в метрику точности.

  • 00:35:00 В этом разделе ведущий тестирует модель дерева решений, которую они построили с нуля с помощью Python. Сначала они вычисляют точность модели, используя прогнозы и тестовые данные. Они также находят две ошибки в коде — одну в инициализации узла и другую в функции обхода дерева. После исправления ошибок снова запускают тестовые данные и получают точность 0,91. Затем они передают модели разные аргументы и получают немного большую точность. Наконец, докладчик предлагает зрителям задавать вопросы и предоставляет ссылку на их репозиторий GitHub, где доступен код.
How to implement Decision Trees from scratch with Python
How to implement Decision Trees from scratch with Python
  • 2022.09.15
  • www.youtube.com
In the fourth lesson of the Machine Learning from Scratch course, we will learn how to implement Decision Trees. This one is a bit longer due to all the deta...
 

Как реализовать Random Forest с нуля с помощью Python



Как реализовать Random Forest с нуля с помощью Python

В этом видеоуроке рассказывается, как реализовать Random Forests с нуля с помощью Python. Во время обучения выбирается случайное подмножество набора данных, и с этим подмножеством создается дерево решений. Этот процесс повторяется для количества деревьев, определенного перед запуском алгоритма. Во время вывода прогноз получается из каждого дерева, и если это классификация, берется большинство голосов метки класса. Докладчик демонстрирует, как это реализовать, создавая список, распределяя в нем деревья решений и добавляя его в массив Numpy. Точность можно рассчитать, разделив количество правильно предсказанных истинных значений на общее количество истинных значений. Спикер также говорит о количестве деревьев, максимальной глубине и минимальном разделении выборки, которые можно изменить для достижения более высокой точности.

  • 00:00:00 В этом разделе мы узнаем о случайных лесах, которые состоят из множества разных деревьев решений. Процесс включает в себя введение некоторой случайности в уравнение при создании этих деревьев. Во время обучения выбирается случайное подмножество набора данных, и с этим подмножеством создается дерево решений. Этот процесс повторяется для количества деревьев, определенного перед запуском алгоритма. Во время вывода прогноз получается из каждого дерева, и, если это классификация, берется большинство голосов метки класса. Если это регрессия, вычисляется среднее значение всех прогнозов. Реализация использует класс деревьев решений, созданный на предыдущем уроке, и инициализируется путем указания количества деревьев, максимальной глубины, минимального количества выборок для разделения, количества признаков и пустого массива для хранения всех деревьев. функция подгонки и прогнозирования, и что необходимо, так это передать требуемые параметры, как указано выше.

  • 00:05:00 В этом разделе инструктор объясняет, как подобрать дерево решений на основе подмножества выборок и добавить его к списку деревьев в модели случайного леса. Вспомогательная функция "bootstrap_samples" создана для случайного выбора заданного количества семплов с заменой из заданного набора данных. Затем инструктор переходит к объяснению того, как прогнозировать с использованием случайного леса для входных данных X, что включает в себя итерацию по всем деревьям в случайном лесу и возврат списка прогнозов, где каждый внутренний список содержит прогнозы для одной и той же выборки из разных деревьев. Наконец, инструктор представляет функцию «перестановки оси» из numpy для изменения порядка списков и вспомогательную функцию «most_common», которая использует структуру данных счетчика из библиотеки коллекций для возврата наиболее распространенной метки классификации.

  • 00:10:00 В этом разделе спикер объясняет процесс реализации случайного леса с нуля с помощью Python. Они упоминают вспомогательную функцию, которая будет использоваться для прогнозирования, и создают список, распространяя в нем деревья решений, а затем добавляя их в массив NumPy, который будет возвращен для прогнозов. Точность рассчитывается путем деления количества правильно предсказанных истинных значений на общее количество истинных значений. Докладчик также упоминает, что для достижения более высокой точности можно манипулировать количеством деревьев, максимальной глубиной и минимальным разделением выборки. Спикер направляет зрителей к коду в их репозитории GitHub и приветствует вопросы в разделе комментариев. Наконец, спикер передает Патрику оставшуюся часть урока.
How to implement Random Forest from scratch with Python
How to implement Random Forest from scratch with Python
  • 2022.09.16
  • www.youtube.com
In the fifth lesson of the Machine Learning from Scratch course, we will learn how to implement Random Forests. Thanks to all the code we developed for Decis...
 

Как реализовать наивный байесовский подход с нуля с помощью Python



Как реализовать наивный байесовский подход с нуля с помощью Python

В этом видеоруководстве основное внимание уделяется реализации Наивного Байеса с нуля с использованием Python. Преподаватель дает обзор теоремы Байеса и предположения о независимости. Они объясняют, как вычислить априорную вероятность и условную вероятность класса, необходимые для обучения алгоритма. Докладчик также представляет распределение Гаусса как способ моделирования вероятностей. Видео демонстрирует этапы обучения и прогнозирования для алгоритма с кодом. Преподаватель тестирует алгоритм на игрушечном наборе данных с двумя классами, достигая точности 96,5%. В целом, это руководство является полезным ресурсом для тех, кто заинтересован в изучении Наивного Байеса и его реализации в Python.

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

  • 00:05:00 В этом разделе видео инструктор объясняет, как реализовать наивный байесовский метод с нуля с помощью Python. Код предполагает, что x и y уже находятся в формате массива numpy и d. Преподаватель покажет, как извлечь x с помощью x.shape и как получить количество уникальных классов с помощью numpy.unique(). Следующим шагом является вычисление среднего значения, дисперсии и априорного значения для каждого класса. Этого можно добиться, инициализировав эти значения нулями, а затем вычислив их с помощью функций numpy. Затем инструктор объясняет, как рассчитать апостериорную вероятность для каждого класса с помощью вспомогательной функции и понимания списка. Наконец, инструктор показывает, как вернуть прогноз в виде пустого массива.

  • 00:10:00 В этом разделе спикер обсуждает реализацию наивного байесовского алгоритма в Python. Они проходят этапы вычисления априорных значений, затем вычисляют апостериорные значения с использованием распределения Гаусса и создают вспомогательную функцию для плотности вероятности, а затем прогнозируют класс с наивысшим апостериорным значением. Наконец, они тестируют алгоритм на игрушечном наборе данных из 1000 образцов и 10 признаков с двумя классами, достигая точности 96,5%. Спикер призывает к дальнейшему изучению кода и с нетерпением ждет следующего урока.
How to implement Naive Bayes from scratch with Python
How to implement Naive Bayes from scratch with Python
  • 2022.09.17
  • www.youtube.com
In the 6th lesson of the Machine Learning from Scratch course, we will learn how to implement the Naive Bayes algorithm.You can find the code here: https://g...
 

Как реализовать PCA (анализ главных компонент) с нуля с помощью Python

Код: https://github.com/AssemblyAI-Examples/Machine-Learning-From-Scratch/tree/main/07%20PCA



Как реализовать PCA (анализ главных компонент) с нуля с помощью Python

Видео объясняет процесс внедрения анализа главных компонент (PCA) с нуля с использованием Python и Numpy. PCA — это метод, который уменьшает размерность набора данных, сохраняя при этом большую часть информации. Преподаватель проведет этапы создания класса Python с методами подгонки и преобразования для выполнения PCA в наборе данных. Метод подгонки сначала вычисляет среднее значение и ковариацию данных и извлекает собственные векторы и собственные значения. Затем метод преобразования проецирует данные на основные компоненты. Докладчик подчеркивает важность вычитания средних значений и сортировки собственных векторов в процессе. Наконец, реализация тестируется на наборе данных Iris, что приводит к успешному уменьшению размерности с четырех до двух измерений.

  • 00:00:00 В этом разделе инструктор обсуждает анализ главных компонент (PCA) — метод обучения без учителя, который уменьшает размерность набора данных путем преобразования его в набор меньшего размера, который по-прежнему содержит большую часть информации большего набора. Преподаватель объясняет, как PCA находит такое преобразование, при котором преобразованные объекты становятся линейно независимыми, а размерность уменьшается за счет выбора только наиболее важных измерений. Вновь найденные измерения должны минимизировать ошибку проекции, а проецируемые точки должны иметь максимальный разброс, а значит, максимальную дисперсию. Инструктор рассказывает о шагах по внедрению PCA с нуля с использованием Python и Numpy. Эти шаги включают вычитание среднего значения из x, вычисление ковариации x и x и сортировку собственных векторов в соответствии с их собственными значениями в порядке убывания.

  • 00:05:00 В этом разделе спикер объясняет реализацию анализа главных компонент (PCA) с использованием Python. Это включает в себя создание функции «инициализации», которая принимает количество компонент в качестве входных данных, метода «подгонки», который вычитает среднее значение, вычисляет ковариацию, сортирует собственные векторы и сохраняет главные компоненты. Затем метод «преобразования» применяет это преобразование к новым данным. Докладчик проходит через каждый шаг кода, подчеркивая важность вычитания средних и сортировки собственных векторов и, в конечном итоге, вывода основных компонентов для уменьшения размерности.

  • 00:10:00 В этом разделе спикер демонстрирует, как реализовать PCA (анализ главных компонент) с нуля в Python. Они начинают с создания класса с методом подгонки и преобразования. Метод подгонки сначала вычисляет среднее значение данных и центрирует его вокруг среднего значения. Затем он вычисляет ковариации данных и извлекает собственные векторы и собственные значения. Затем метод преобразования проецирует данные на основные компоненты с помощью скалярного произведения. Наконец, спикер тестирует реализацию с набором данных Iris и успешно уменьшает размерность данных с четырех до двух измерений.
How to implement PCA (Principal Component Analysis) from scratch with Python
How to implement PCA (Principal Component Analysis) from scratch with Python
  • 2022.09.18
  • www.youtube.com
In the 7th lesson of the Machine Learning from Scratch course, we will learn how to implement the PCA (Principal Component Analysis) algorithm.You can find t...
 

Как реализовать Perceptron с нуля с помощью Python

Код: https://github.com/AssemblyAI-Examples/Machine-Learning-From-Scratch/tree/main/08%20Perceptron



Как реализовать Perceptron с нуля с помощью Python

В видеоруководстве объясняется теория алгоритма Perceptron, который может изучать только линейно разделимые шаблоны для бинарной классификации с использованием функции активации, весов и входных данных. Затем докладчик описывает необходимые шаги для реализации модели Perceptron с нуля в Python, выбирая скорость обучения и количество итераций для алгоритма оптимизации и определяя функцию активации как функцию единичного шага. После инициализации весов и смещений модель учится на обучающих данных, обновляя веса и смещения в соответствии с правилом обновления Perceptron. Наконец, ведущий оценивает точность модели, предсказывая метки классов для тестовых данных, и точность оказывается равной 100%, что указывает на успешное изучение границы решения.

  • 00:00:00 В этом разделе ведущий объясняет основную теорию, лежащую в основе алгоритма персептрона, и то, как это алгоритм для контролируемого обучения бинарных классификаторов. Персептрон — это упрощенная модель биологического нейрона, также известная как прототип нейронных сетей. Алгоритм Perceptron может изучать только линейно разделимые паттерны, и его можно рассматривать как единое целое искусственной нейронной сети. Затем ведущий объясняет математическое представление персептрона, которое включает в себя веса, входные данные и функцию активации, а также метки классов бинарного классификатора. Затем в видео объясняется правило обновления Perceptron, которое позволяет алгоритму обновлять веса и смещения, чтобы подтолкнуть их к положительному или отрицательному целевому классу в случае неправильной классификации.

  • 00:05:00 В этом разделе спикер описывает шаги по реализации модели персептрона с нуля в Python. Они начинают с выбора скорости обучения и количества итераций для алгоритма оптимизации. Затем функция активации сохраняется как функция единичного шага. Веса и смещения вначале инициализируются равными нулю, и код переходит к подгонке и прогнозированию функций. Для функции соответствия количество выборок и количество признаков получают из обучающих данных, а затем инициализируют веса и смещения. Метки классов настраиваются на 1 или 0. Затем выполняется оптимизация, при которой линейный выход рассчитывается для каждого входа. Наконец, реализована функция прогнозирования, в которой линейная модель и функция активации используются для расчета прогнозируемых выходных данных для тестовых данных.

  • 00:10:00 В этом разделе ведущий объясняет реализацию персептрона с нуля с помощью Python. Правило обновления для персептрона таково: дельта w = альфа, умноженная на y, минус у, умноженная на шляпу, умноженная на х, а дельта-смещение равно альфа, умноженная на у, минус у, умноженная на шляпу. Затем докладчик использует это правило для обновления весов и смещения на основе частей обновления. После объяснения метода подгонки ведущий переходит к методу прогнозирования, в котором вычисляется линейный выход, а затем он передается через функцию активации, чтобы получить прогноз y. Наконец, докладчик проверяет эту реализацию с помощью вспомогательной функции на точность, а наборы данных создают BLOB-объекты со 150 выборками и двумя функциями, создавая персептрон со скоростью обучения и количеством итераций, подгоняя его под обучающие данные и прогнозируя с помощью тестовых данных. Точность оказывается 100%, что свидетельствует об успешном изучении границы решения.
 

Как реализовать SVM (машину опорных векторов) с нуля с помощью Python

Код: https://github.com/AssemblyAI-Examples/Machine-Learning-From-Scratch/tree/main/09%20SVM



Как реализовать SVM (машину опорных векторов) с нуля с помощью Python

Машины опорных векторов (SVM) стремятся найти линейную границу решения, которая максимизирует разделение между классами, при этом вес изучается во время обучения. Функция стоимости включает в себя потерю шарнира, определяющую, насколько далеко мы находимся от правильной стороны границы решения, с добавлением члена регуляризации к компромиссу, сводящему к минимуму потери и максимизирующему расстояние. Вычисляются градиенты, выводятся правила обновления и инициализируются веса, а функция прогнозирования является выходом линейной функции. Предоставляется код для реализации SVM с нуля на Python с использованием библиотек NumPy и Scikit-learn, включая импорт тестов поезда и разделение, наборы данных и построение границы решения, а также две гиперплоскости, подтверждающие точную реализацию.

  • 00:00:00 В этом разделе видео обсуждается метод опорных векторов (SVM), целью которого является поиск линейной границы решения или гиперплоскости, обеспечивающей максимальное разделение между классами. Гиперплоскость должна иметь наибольший запас от ближайших точек или опорных векторов, при этом вес (w) должен быть изучен во время обучения. Определена функция потерь, которая включает в себя потерю шарнира, которая определяет, насколько далеко мы находимся от правильной стороны границы решения. Член регуляризации добавляется к функции стоимости для компромисса между минимизацией потерь и максимальным расстоянием до обеих сторон, с параметром лямбда, контролирующим важность указанных частей в функции стоимости.

  • 00:05:00 В этом разделе обсуждается процесс нахождения весов и смещения для SVM. Объясняется вычисление градиентов, и правила обновления выводятся из градиента. Также демонстрируется инициализация весов. Метки классов обновляются, чтобы иметь значения -1 или 1, и правила обновления применяются для указанного количества итераций. Функция предсказания — это просто результат линейной функции, которую мы получаем из изученных весов. Сравнивая результат с нулем, мы можем определить класс данного тестового образца. Код для SVM написан на Python с использованием библиотек NumPy и Scikit-learn.

  • 00:10:00 В этом разделе ведущий объясняет, как написать код на Python для реализации SVM с нуля. Метод состоит из двух частей: методов подгонки и прогнозирования. Метод подгонки — это наше обучение, которое вычисляет веса на основе заданных данных, в то время как метод прогнозирования использует веса для прогнозирования вывода путем аппроксимации заданных данных. Далее докладчик объясняет обновления кода в соответствии с различными градиентами, которые зависят от условия. Условие y, умноженное на W, умноженное на x минус B, должно быть больше или равно единице, что мы используем для проверки с пустой точкой. Код следует за импортом обучающего теста, разделения и наборов данных из sklearn и matplotlib, а также создает пример набора данных с двумя блоками наборов данных с двумя функциями, а затем гарантирует, что классы равны -1 и плюс один, разделенные на наборы для обучения и тестирования, и запустите svm, чтобы предсказать точность. Докладчик также описывает код для построения границы решения и двух гиперплоскостей плюс один и минус один, что подтверждает точную реализацию.
Machine-Learning-From-Scratch/09 SVM at main · AssemblyAI-Examples/Machine-Learning-From-Scratch
Machine-Learning-From-Scratch/09 SVM at main · AssemblyAI-Examples/Machine-Learning-From-Scratch
  • AssemblyAI-Examples
  • github.com
Implementation of popular ML algorithms from scratch - Machine-Learning-From-Scratch/09 SVM at main · AssemblyAI-Examples/Machine-Learning-From-Scratch
 

Как реализовать K-Means с нуля с помощью Python

Код: https://github.com/AssemblyAI-Examples/Machine-Learning-From-Scratch/tree/main/10%20KMeans



Как реализовать K-Means с нуля с помощью Python

В этом видео показано, как с нуля реализовать алгоритм кластеризации K-средних с помощью Python. K-Means — это алгоритм обучения без учителя для кластеризации неразмеченных данных в k разных кластеров путем итеративного обновления средних значений или центроидов до тех пор, пока не прекратятся дальнейшие изменения. В видео рассказывается об инициализации пустых кластеров и настройке параметров количества кластеров и итераций, обновлении меток кластеров и центроидов, а также об остановке цикла оптимизации при отсутствии изменений. Докладчик также объясняет важность измерения евклидова расстояния для расчета ближайших центроидов и предоставляет предварительно написанную функцию построения графиков из Matplotlib для визуализации процесса кластеризации.

  • 00:00:00 В этом разделе спикер объясняет метод неконтролируемого обучения k-средних, который включает кластеризацию набора данных в k разных кластеров и обновление средних значений или центроидов в ходе итеративного процесса оптимизации до тех пор, пока не прекратятся изменения. Процесс обновления меток и центров кластеров повторяется, и формула ближайших центроидов используется для вычисления евклидова расстояния между двумя векторами признаков. Затем спикер демонстрирует пример поиска трех кластеров в неразмеченных данных и показывает, как реализовать k-means с нуля в Python, включая инициализацию пустых кластеров и установку параметров для количества кластеров и итераций. Видео завершается кратким изложением алгоритма k-средних и его реализации в Python.

  • 00:05:00 В этом разделе спикер обсуждает реализацию K-Means с нуля с помощью Python. Они начинают с инициализации необходимых переменных, таких как пустые списки для каждого кластера и центроида, а затем определяют функцию прогнозирования, а не метод подгонки. Они объясняют, что K-Means — это метод обучения без учителя для немаркированных данных. Цикл оптимизации включает в себя назначение выборок центроидам перед вычислением новых центроидов из кластеров. Докладчик отмечает, что вспомогательные функции необходимы для создания и получения центроидов и кластеров. Они заканчиваются упоминанием о том, что остановка цикла до максимального количества итераций возможна, если больше нет изменений.

  • 00:10:00 В этом разделе спикер объясняет реализацию вспомогательных функций для обновления меток кластера и назначения образцов ближайшим центроидам. Функция обновления меток кластера выполняет итерацию по каждому кластеру и присваивает индекс кластера метке каждого демонстрационного индекса. Докладчик также показывает инициализацию пустых списков для каждого кластера, чтобы присвоить индексы, а затем выполнить итерацию по каждому образцу, чтобы назначить его ближайшему центроиду. Наконец, выступление описывает шаги для построения центроидов и кластеров и проверяет, должен ли код предоставлять шаги для построения.

  • 00:15:00 В этом разделе спикер объясняет, как с нуля реализовать алгоритм кластеризации K-Means с помощью Python. Алгоритм принимает набор данных и определенное количество кластеров в качестве входных данных, а затем присваивает каждой точке их ближайший центр тяжести. Докладчик представляет вспомогательные функции для поиска ближайшего центроида и вычисления евклидова расстояния между двумя точками. Другая вспомогательная функция используется для вычисления среднего значения каждого кластера, которое затем присваивается центроиду. Наконец, алгоритм проверяет, равно ли нулю расстояние между старым и новым центроидами для каждого кластера, чтобы определить, сошелся ли алгоритм.

  • 00:20:00 В этом разделе спикер объясняет, как реализовать кластеризацию K-средних с нуля с помощью Python и numpy. Они обсуждают важность измерения евклидова расстояния и способы вычисления новых центроидов и меток кластеров. Они также предоставляют предварительно написанную функцию построения графиков, которая использует библиотеку matplotlib для пошаговой визуализации процесса кластеризации. Наконец, они демонстрируют реализацию на примере набора данных с использованием функции sklearn make_blobs для создания трех кластеров, показывая, как алгоритм K-средних успешно группирует точки данных в отдельные кластеры. Докладчик призывает зрителей ознакомиться с полным кодом на Github и посмотреть остальную часть курса для более подробных объяснений концепций машинного обучения.
Machine-Learning-From-Scratch/10 KMeans at main · AssemblyAI-Examples/Machine-Learning-From-Scratch
Machine-Learning-From-Scratch/10 KMeans at main · AssemblyAI-Examples/Machine-Learning-From-Scratch
  • AssemblyAI-Examples
  • github.com
Implementation of popular ML algorithms from scratch - Machine-Learning-From-Scratch/10 KMeans at main · AssemblyAI-Examples/Machine-Learning-From-Scratch
 

Начало работы с API OpenAI ChatGPT (GPT-3.5) в Python | Учебник для начинающих



Начало работы с API OpenAI ChatGPT (GPT-3.5) в Python | Учебник для начинающих

В видеоруководстве объясняется, как использовать API OpenAI ChatGPT (GPT-3.5) в Python для начинающих. Докладчик представляет модель GPT 3.5 Turbo как более дешевую альтернативу DaVinci, которая представляет собой композиционную модель, которая может генерировать как естественный язык, так и код и не имеет токенов или общего ограничения. Затем в учебнике показано, как зарегистрировать учетную запись OpenAI, получить ключ API и использовать функцию chat_gpt-completion для ведения журнала разговоров с пользовательскими и системными входными данными. В видео также рассказывается, как получать ответы, добавлять дополнительные вопросы и изменять код, чтобы общение продолжалось без остановок.

  • 00:00:00 В этом разделе видео спикер представляет модель GPT 3.5 Turbo от OpenAI, которая является более дешевой альтернативой модели DaVinci. Модель GPT 3.5 Turbo — это композиционная модель, которая может понимать и генерировать как естественный язык, так и код, и стоит 0,002 цента за тысячу токенов. В отличие от моделей GPT 3.0, для модели GPT 3.5 Turbo нет лимита токенов и общего лимита. Затем видео демонстрирует, как начать работу с API OpenAI GPT в Python, в том числе как зарегистрировать учетную запись OpenAI и получить ключ API.

  • 00:05:00 В этом разделе создатель учебника обсуждает, как использовать API OpenAI ChatGPT (GPT-3.5) в Python. Этот API работает иначе, чем обычные модели GPT 3.0, потому что он более диалоговый. API использует функцию chat_gpt-completion, которая ссылается на библиотеку OpenAI и модель завершения чата. Журнал разговоров передается этой функции, чтобы продолжать добавлять записи разговоров. Роли пользователя и системы используются для определения того, поступает ли ввод от пользователя или от самой системы. Вариант ответа распечатывается, и наиболее важной частью ответа является клавиша выбора.

  • 00:10:00 В этом разделе руководства обсуждается, как использовать API OpenAI ChatGPT (GPT-3.5) в Python. В руководстве объясняется, что в отличие от обычных моделей GPT 3.0 модель ChatGPT может возвращать только одно сообщение или один ответ за раз. Затем в учебнике демонстрируется, как получить строку и содержимое из ответа, как составить беседу с помощью ChatGPT API, а также как получить и отобразить историю составления. В учебнике также рассказывается, как добавить дополнительные вопросы к композиции и получить дополнительную информацию из API на основе дополнительного вопроса.

  • 00:15:00 В этом разделе спикер обсуждает модификацию кода, которую можно внести, чтобы композиция ChatGPT работала без остановок. Модификации включают в себя запуск сеанса с системной строкой, включение композиции путем установки содержимого на «чем я могу вам помочь» и вставку цикла while для продолжения разговора. Пользователь вводит вопросы или подсказки в оператор ввода, который сохраняет строку в переменной задачи. Ключ содержимого задается как сообщение, и пользователь запускает функцию компенсации ChatGPT для отправки запросов и добавления сообщения в список композиций. Затем беседу можно продолжить с помощью дополнительных вопросов, и все беседы сохраняются в списке, на который может ссылаться API ChatGPT.
Getting Started With OpenAI ChatGPT (GPT-3.5) API In Python | Tutorial For Beginners
Getting Started With OpenAI ChatGPT (GPT-3.5) API In Python | Tutorial For Beginners
  • 2023.03.02
  • www.youtube.com
OpenAI has finally released the most anticipated ChatGPT model today, called "gpt-3.5-turbo". Unlike the GPT 3.0 models that work like a search engine, Cha...
 

Начало работы с API OpenAI GPT-4 (официальный API ChatGPT) в Python



Начало работы с API OpenAI GPT-4 (официальный API ChatGPT) в Python

В видео рассказывается, как использовать API OpenAI GPT-4 в Python с использованием официального API ChatGPT. После создания ключа API и установки пакета Python OpenAI пользователь может использовать модель GPT-4, создав функцию и вызвав конечную точку OpenAI с идентификатором модели и журналами разговоров. Докладчик демонстрирует, как добавлять журналы бесед к аргументу журнала композиции, создавать инструмент командной строки и использовать API ChatGPT для создания ответов. Зрителям предлагается опробовать API и подписаться на канал для будущих видео.

  • 00:00:00 В этом разделе видео объясняется, как использовать официальный API ChatGPT в Python. API основан на модели GPT-4 и доступен в четырех разных версиях. Обычная модель GPT-4 может принимать до 8192 токенов, а модель GPT-4 32k — до 32768 токенов. Чтобы использовать API, сначала необходимо сгенерировать ключ API, зарегистрировав учетную запись на платформе.openai.com. Затем вам необходимо установить пакет Python OpenAI и прикрепить ключ API к модулю OpenAI. Наконец, вы можете использовать модель GPT-4 в Python, создав функцию и выполнив вызов API к конечной точке OpenAI, передав идентификатор модели и список журналов разговоров в метод.

  • 00:05:00 В этом разделе спикер демонстрирует, как использовать API OpenAI GPT-4 в Python. Они начинают с создания списка диалогов и объясняют, как API может получить доступ к списку для предоставления ответов. Чтобы отправить запрос к API, пользователь должен предоставить идентификатор строки, чтобы определить, принадлежит ли разговор ИИ или пользователю, а также содержание разговора. Докладчик поделился примером блока кода, который добавляет беседу в список и показывает, как вызывать API с помощью функции чата GPT. Они также объясняют формат ответа, включая метку времени и стоимость вызова API, а также то, как получить доступ к ответу GPT-4 в ключе выбора.

  • 00:10:00 В этом разделе докладчик рассказывает, как добавить журнал разговоров к аргументу журнала композиции с помощью Python в API OpenAI GPT-4. Они ссылаются на блокировку композиции, содержащую последние записи, и добавляют запись ответа из ключа выбора к аргументу журнала композиции. Затем выходные данные проверяются путем запуска блока кода и печати списка композиций. Докладчик также демонстрирует, как создать инструмент командной строки, позволяющий пользователям вводить данные, которые затем могут быть добавлены в журнал композиции в зависимости от цели пользователя. В целом, этот раздел представляет собой полезное руководство для разработчиков, желающих использовать API OpenAI GPT-4 в Python.

  • 00:15:00 В этом разделе ведущий показывает, как использовать ChatGPT API для генерации ответов с помощью Python. Он кодирует функцию, которая принимает пользовательский ввод и отправляет его в API, а затем распечатывает ответ. Он демонстрирует это, прося API рассказать ему анекдот и показывая результат, который включает в себя как пользовательский ввод, так и ответ API. В заключение ведущий призывает зрителей опробовать ChatGPT API, поставить лайк и подписаться на его канал.
Getting Started With OpenAI GPT-4 API (ChatGPT Official API) In Python
Getting Started With OpenAI GPT-4 API (ChatGPT Official API) In Python
  • 2023.03.29
  • www.youtube.com
In this video, we will learn 1) how to use OpenAI GPT-4 API, and 2) how to build a simple ChatGPT command line tool in Python.📑 Source Code: https://wp.me/p...