• Какие разделы математики актуальны в сфере нейронных сетей и ИИ?

    aideus
    @aideus
    Для ИНС в первую очередь нужны:
    - линейная алгебра (работа с матрицами: большинство ИНС очень компактно записывается в матричной форме)
    - математический анализ (дифференцирование: многие популярные алгоритмы обучения строятся на градиентах; понятие экстремума, сходимости и т.д.)
    - теория вероятностей (многие ИНС имеют вероятностную трактовку, без которой понять их архитектуру проблематично)
    - численные методы (например, когда аналитический вычислить производную или интеграл нельзя, а такие ситуации возникают часто, ничего другого кроме их численной оценки не остается, и нужно знать, как это правильно сделать);
    Для более продвинутого или специфического использования ИНС нужны:
    - теория графов (во-первых, сама ИНС - это граф, хотя на базовом уровне использования этого учитывать не нужно; во-вторых, ряд архитектур ИНС удобно представлять в форме вероятностных генеративных моделей, конкретнее, графических моделей);
    - теория дифференциальных уравнений (рекуррентные ИНС соответствуют системам дифуров);
    - теория динамического хаоса (ряд рекуррентных ИНС, например сети Хопфилда, хорошо описываются в терминах фазового портрета, аттракторов, бифуркаций, но в целом эта область математики нужна не очень часто);
    - исчисление предикатов (традиционно сети с бинарными нейронами рассматривались как способ представления предикатов);
    - теория алгоритмов (конечные автоматы, формальные грамматики, машины Тьюринга и т.д.) (помимо того, что сами ИНС представляют собой некий класс алгоритмов и возникают теоретические вопросы, где этот класс для той или иной архитектуры находится в иерархии Хомского, сейчас еще популярны и нейросимвольные сети, требующие обращения к указанным разделам математики)

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

    Если же говорить про ИИ в целом, то там нужна практически вся математика (хотя это в определенном смысле преувеличение: чистые математики решают свои внутренние задачи очень изощренными методами; в ИИ могут пригодиться результаты любого раздела математики, но крайне редко эти разделы нужны целиком). Гармонический анализ (Фурье, вейвлеты), без которого можно более или менее обойтись в машинном обучении, строго необходим в компьютерном зрении или распознавании речи. Комбинаторика, весьма редко нужная для ИНС, является основой классических методов ИИ (поиска в пространстве состояний). Теория алгоритмов, находящая лишь эпизодические применения в ИНС, является строго необходимой (как частично, так и практически полностью) в других подобластях машинного обучения и ИИ (например, в автоматическом программировании или машинном переводе). Теория множеств строго нужна в области представления знаний, нечеткой логике и т.д. Даже теория категорий может пригодиться (например, в вероятностных языках программирования - подобласти машинного обучения - при использовании функциональных языков типа Haskell ее применение оказывается вполне уместным). Ну, и так далее.

    В общем, в каждой подобласти ИИ есть свой минимально необходимый набор математических знаний, без которого очень сложно начать эту подобласть изучать. Для ИНС это линейка, матан, численные методы, весьма желательно теория вероятностей. В других областях это может быть комбинаторика, графы, теория алгоритмов, мат. логика. Есть разделы математики, которые окажутся неизбежными для изучения/использования, только при выборе конкретной подобласти или даже конкретных методов в ней; а так они или совсем не нужны, или нужны только самые базовые сведения из них.
    Ответ написан
    Комментировать
  • Какие разделы математики актуальны в сфере нейронных сетей и ИИ?

    @kstyle
    по книгам: задачник Кострикина и задачник Кудрявцева трехтомник - и все только начинается)) по теории серия книг Бауманки или Краснова ряд книг
    Ответ написан
    Комментировать
  • Какие разделы математики актуальны в сфере нейронных сетей и ИИ?

    gbg
    @gbg
    Любые ответы на любые вопросы
    • Линейная алгебра - основа основ, без нее никаких численных дел не будет
    • Теория операторов - и без нее тоже. Нужно уметь оценивать операторы.
    • Теория меры и интеграла Лебега - и измерать множества тоже нужно уметь
    • Функциональный анализ - и работать с абстрактными операторами тоже
    • Высшая алгебра - без нее к операторам лезть можно, но лучше выучить
    • Гармонический анализ - без него в машинное зрение лезть смысла нет. Всякие операторы, свертки, ядра - это все туда
    • ТФКП - аналогично
    • Уравнения математической физики - без понимания того, как работает свет в этом мире анализировать что-либо смысла нет.
    • Теория интерполяции - как превратить результаты измерений в формулы
    • Численные методы - основа основ.


    В профессиональной деятельности математика нет деления на разделы. Математика используется вся. Куском.

    Учитесь лучше.
    Ответ написан
    5 комментариев
  • Как задать Placeholder для TextBox в среде VisualStudio 2013 язык C#?

    aush
    @aush
    Т.к. фреймворк не указан, надо полагать, что по дефолту у нас WinForms. Тогда в простейшем виде это выглядит так:

    class TextBoxWithPlaceholder : TextBox
    {
        public string Placeholder { get; set; }
    
        protected override void OnCreateControl()
        {
            base.OnCreateControl();
    
            if (!DesignMode)
            {
                Text = Placeholder;
            }
        }
    
        protected override void OnLostFocus(EventArgs e)
        {
            base.OnLostFocus(e);
    
            if (Text.Equals(string.Empty))
            {
                Text = Placeholder;
            }
        }
    
        protected override void OnGotFocus(EventArgs e)
        {
            base.OnGotFocus(e);
    
            if (Text.Equals(Placeholder))
            {
                Text = string.Empty;
            }
        }
    }
    Ответ написан
    1 комментарий