Используйте Octave для изучения машинного обучения (1)

машинное обучение искусственный интеллект MATLAB

Публичный аккаунт Сяочжи:WeaponZhi

предисловие

Если вы изучаете видео Эндрю Нг по машинному обучению на Coursera, вы, должно быть, слышали название Octave. Нг настоятельно рекомендует вам использовать Octave для изучения машинного обучения и использовать полную главу «Учебное пособие по Octave и Matlab», чтобы описать основные операции. Октавы. Он очень практичен и прост и рекомендуется для студентов, которые хотят использовать Octave для его изучения.

В процессе использования Octave самым удобным местом является то, что его поддержка матричных операций очень обширна, и он очень прост в использовании.Некоторая, казалось бы, сложная логика может быть легко решена в одну или две строки с помощью Octave. Я познакомлю вас и начну с Октава.

Эта статья разделена на две части.

Что такое Октава

Octave — интерпретируемый язык программирования высокого уровня. Предназначен для решения линейных и нелинейных численных вычислительных задач. Octave — это программное обеспечение с открытым исходным кодом в рамках проекта GNU.Синтаксис Octave очень близок к синтаксису Matlab, и программы Matlab легко портировать в Octave.

Вышеупомянутое утверждение не очень популярно.Короче говоря, Octave - это программное обеспечение для научных вычислений. Оно хорошо справляется с некоторыми матрицами и некоторыми сложными инженерными операциями, а другое программное обеспечение с аналогичными функциями - это знаменитый Matlab. Так почему же мы должны выбирать Octave вместо более известного Matlab. Причин несколько:

  • Octave относительно легкий, и его установка занимает около десятков мегабайт, в то время как установщик Matlab должен иметь от 10 до 10 гигабайт.В основном вам нужно установить только базовую версию с наименьшим количеством функций, и она также должна занимать от нескольких сотен мегабайт до 1 гигабайта.

  • Синтаксис Octave изначально был разработан, чтобы имитировать Matlab, и синтаксис в основном похож. 95% кода Matlab можно использовать непосредственно в Octave, но поскольку Octave использует такие строки, как """ и комментарии в стиле Unix "#", код Octave может не работать в Matlab.

  • Фон для рисования Octave — это мощный Gnuplot со многими форматами вывода, намного больше, чем у Matlab, а отображение формул также сильнее, чем у Matlab.

  • На самом деле то, что я сказал выше, это ерунда, я использую Octave в основном потому, что она с открытым исходным кодом и бесплатна.

Установить Октаву

Итак, давайте быстро установим Octave.

Под виндой и говорить нечего, зайти на официальный сайт скачать установочный пакет, один шаг. Для Mac (10.9 и выше) для установки рекомендуется использовать Homebrew.Homebrew — это инструмент управления пакетами для Mac. Кратко опишите следующие шаги:

1. Установите Xcode и инструмент командной строки

Загрузите Xcode из App Store.

Введите «xcode-select --install» в терминале, чтобы установить инструмент командной строки.

2. Установите Xquatz и установите программную ссылку как X11.

терминальный вход

sudo ln -sf /Applications/Utilities/XQuartz.app/ /Applications/Utilities/X11.app

X11 очень важен. Предыдущие версии MacOS могут поставляться с X11, но теперь вам нужно загрузить его специально с помощью вышеуказанного метода. Это связано с графическим интерфейсом. Можно понять, что использование X11 может сделать Mac совместимым с некоторыми ранее недоступно программное обеспечение Mac OS Unix. Мы будем использовать его снова в следующей статье.

3. Устанавливаем Homebrew, здесь переходим на официальный сайт для скачивания:

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

4. Установите Octave с Homebrew

brew update && brew upgrade
brew install gcc
brew install octave

Я не буду рассказывать о способе установки системы Linux, студенты, использующие Linux, могут проверить его самостоятельно. Обратите внимание, не скачивайте версию 4.0.0, в этой версии есть серьезные ошибки.

После установки Octave мы видим, что есть два способа открыть Octave: один называется Octave-cli, который открывает Octave в форме командной строки, а другой называется Octave-gui, который представляет собой графическую форму. , я по-прежнему рекомендуется использовать командную строку для написания кода. Взгляните на стили этих двух форматов:

основная операция

Откройте Octave-cli, и вы увидите экран, отображаемый в терминале выше.Мы обнаружили, что метка строки его командной строки — октава: 1> Когда вы вводите код октавы, число после двоеточия увеличивается на 1, давайте попробуем пытаться

octave:1> 1+1
ans = 2
octave:2>

ans представляет ответ, а ans также присваивается переменной 2. Кстати, эта черта линии действительно уродлива, мы можем пройтиPS1(str)Чтобы изменить этот стиль, замените str на нужный стиль строки, например этот

octave:2> PS1('小之牛逼 >> ')
小之牛逼 >>  (光标位置)
小之牛逼  >>  (光标位置)

Это позволит вам использовать собственные метки линий.

Кроме того, Octave также должен поддерживать некоторые вычисления, обычно используемые в языках программирования:

小之牛逼 >> 4+5
ans = 9
小之牛逼 >> 5-4
ans = 1
小之牛逼 >> 4*5
ans = 20
小之牛逼 >> 8/4
ans = 2
小之牛逼 >> 2^6
ans = 64
小之牛逼 >> 1 == 2 % false
ans = 0
小之牛逼 >> 1 ~= 2
ans = 1
小之牛逼 >> 1 && 0 % 与运算
ans = 0
小之牛逼 >> 1 || 0 % 或运算
ans = 1
小之牛逼 >> xor(1,0) % 异或运算
ans = 1

Приведенный выше код прост, но все же есть несколько вещей, на которые стоит обратить внимание. За знаком "%" следует комментарий, который не будет компилироваться в него во время выполнения. Истина и Ложь в Октаве представлены 1 и 0. При этом 1 не равно 2 представляется как 1 ~= 2, а не 1 != 2, а в остальном аналогичны большинству языков программирования.

Переменные в командной строке Octave используются аналогично Python, например, мы присваиваем значение 3.

小之牛逼 >> a = 3
a = 3
小之牛逼 >> a = 3;

Обратите внимание, что когда за оператором следует;, команда ничего не напечатает после возврата каретки.

Суммировать

Эта статья поможет вам познакомиться с Octave и ознакомит с этапами установки и некоторыми основными операциями. Сила Octave заключается в его матричных операциях и рендеринге графики, о которых я подробно расскажу в следующей статье.

Так что некоторые читатели могут быть сбиты с толку: вы раньше не говорили на Python, почему вдруг перешли на новый язык? Я думаю, что необходимо сказать кое-что об этом вопросе заранее.

Прежде всего, какое последнее направление, на изучение которого мы сейчас тратим время, это машинное обучение, и будь то Python или Octave, это лишь вспомогательный инструмент для обучения и реализации по сравнению с самим машинным обучением. Машинное обучение требует большого количества вычислений, таких как матрицы и некоторые алгоритмы инженерных расчетов. Использование Octave может быстро реализовать эти алгоритмы, что эквивалентно процессу моделирования. Когда требуется конкретное распределение ресурсов, Python, Java или C++ прекрасно реализуют это.

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

Python широко используется в области машинного обучения. Для нас нет ничего плохого в том, чтобы изучить его, и удовольствие от самого Python также стоит изучить. Конечно, это не влияет на то, чтобы мы использовали и изучали Octave, потому что, возможно, у вас есть закончил читать Мои две вводные статьи могут удовлетворить большинство ваших потребностей в процессе машинного обучения.


Добро пожаловать, чтобы обратить внимание на мой общедоступный номер