Я должен сделать один проект для моей диссертации, включая искусственный интеллект, совместную фильтрацию и методы машинного обучения.
Я знаю только PHP / mysq / JS, и в PHP мало примеров материала AI.
В Интернете есть несколько книг по ИИ, но они используют Java, Python.
Теперь я должен применять методы ИИ в веб-приложении.
На каком языке я должен выбрать java или python.
Я искал в Интернете, что я могу вызывать классы java внутри своего php, чтобы это могло помочь, поскольку я очень хорошо разбираюсь в php
Я также видел, что python также можно использовать с php
Итак, в каком направлении я должен идти и грубо, сколько мне потребуется, чтобы изучить java
Я сделал основы java, но это было 6 лет назад
Из упомянутых вами языков вы, вероятно, найдете наиболее полезные инструменты, доступные на Java, особенно для ресурсов машинного обучения. Хорошим примером этого является WEKA , который является популярным инструментом интеллектуального анализа данных, написанным на Java.
Алгоритмы машинного обучения – это, как правило, то, что вы не хотите кодировать с нуля, если вам это не нужно. Хотя вы, конечно, многому научились от этого, они могут потратить значительное количество времени на отладку, поскольку часто бывает сложно определить разницу между рабочим и нерабочим поведением, например, иногда они могут не учиться ни с помощью, ни с без ошибок, и они также могут изучать шаблоны с ошибками или без них.
Сначала я бы поискал инструменты, а затем решал язык с учетом параметров инструмента.
Действительно ли имеет значение, на каком языке используются ваши книги? Я имею в виду, вы не собираетесь копировать эти примеры. И вы научитесь довольно быстро распознавать базовые конструкции (функции, циклы и т. Д.). Это не значит, что вы учитесь читать по-китайски.
Говоря о времени обучения, наверняка нет определенного ответа на этот вопрос. Я думаю, что лучше всего посмотреть на примеры кода как в java, так и на python и посмотреть, что кажется «лучше», проще и более знакомым вам.
Удачи!
Вы можете использовать Java или Python. Для обоих языков доступно множество ресурсов.
Я думаю, что следующие книги могут подойти для вашей цели.
Программирование коллективного интеллекта: создание smart web 2.0
коллективный интеллект в действии
Вы можете использовать любой язык, который вам нравится, если сервер, на котором он размещен, поддерживает его. Вы можете использовать HTML / JS в качестве пользовательского интерфейса и запрашивать результаты с сервера с запросами AJAX.
Ответы на эти запросы будут вашим AI-кодом, и это может быть все, что вы хотите. PHP очень упрощает ответы на запросы AJAX. Поскольку вы уже знакомы с этим, я бы рекомендовал, хотя, если ваш ИИ очень изощрен, вы можете пойти с чем-то более эффективным, например C / C ++.
На каком языке я должен выбрать java или python.
Вот несколько вещей, которые следует учитывать:
java более широко используется (предположительно более зрелый код «там», чтобы посмотреть, но я не проверял это)
python более продуктивен (вы пишете быстрее в python, чем в java), и от изучения языка до написания кода, который вы хотите, меньше занимает на python, чем в java
python – это мультипарадигма, java (почти) строго OOP
java скомпилирован (тогда как python написан по сценарию); это означает, что java находит ваши ошибки при компиляции; python при исполнении – это может иметь большое значение, в зависимости от вашего стиля / практики разработки
java более строго определен и гораздо более подробный, чем python. Где в java вам нужно формализовать свои контракты, в python вы используете утиную печать.
В конце концов, лучшее, что вы могли бы сделать, это создать небольшой проект, записать его на обоих языках и посмотреть, что вы предпочитаете. Вы также можете найти некоторые ограничения, которые невозможно обойти для одного из языков.
В конце концов, это зависит от вас 🙂
Edit : это не исчерпывающий список, и я старался быть настолько беспристрастным, насколько мог (но это заканчивается здесь : я бы пошел с python: D)
Практически любой язык может быть использован для кодирования почти всего – с учетом усилий и воли. Но у Python есть более функциональные конструкции программирования, которые могут быть более полезными, когда вы кодируете AI.
Я считаю, что Python хорош для таких задач из-за его гибкости. Использование библиотек numpy / scipy вместе с красивой графикой lib (chaco или matplotlib, например) упрощает работу с данными и алгоритмами, и вы можете анализировать их с помощью кода в реальном интерпретаторе почти в соответствии с Matlab. Измените строку кода здесь, очистите данные там и посмотрите, как все это будет жить в окне графика, без необходимости перекомпиляции и т. Д.
После того, как вы остановились на алгоритмах, довольно легко профилировать код и переместить горячие точки в C / C ++ или Fortran, например, если вы беспокоитесь о производительности.
(вы даже можете записать материал в Jython и спуститься в java для тяжелых бит кода, если вам действительно нравится быть на платформе JVM)
AI не является языком или конкретной проблемой, например суммированием или усреднением некоторых чисел. Это интеллект, который будет развиваться искусственно. И чтобы сделать систему интеллектуальной, особенно компьютер, вы можете использовать любой язык, который компьютер может понять, и вам комфортно (C, Java, Python, C ++). Очень простой пример ИИ может быть tic-tac-toe. Эта игра может быть сделана с использованием любого языка, который вы хотели бы. Важным является алгоритм, который необходимо разработать. AI – обширная область, и она включает в себя множество вещей, таких как обработка изображений, NLP, машинное обучение, психология и многое другое. И самое главное, нужно быть очень сильным в математике, которая является самой важной и неотъемлемой частью softcomputing. Таким образом, ИИ не является языком довольно интеллектуальным алгоритмом, основанным на чистой математике.
Никогда не используйте PHP для AI. Java или C / C ++ – лучший, но Python для быстрой разработки.