All streams
Search
Write a publication
Pull to refresh
25
0

Разработчик

Send message
П — Приоритеты. А может со спамом лучше вопрос решите, нет?
Я рассматриваю книжку Хайкина не в качестве «пилюли от всех болезней», а лишь как учебное пособие для построения фундамента знаний по этой теме. Я знаю, что свёрточные сети показывают результаты намного лучше, поэтому я напишу продолжение этой статьи об этом виде сетей.

Если она будет в стиле данной статьи, то не стоит.
Вы пробежались по верхам темы, не очень запарились с реализацией, и как бы качество материалы вышло «тяпь-ляпь».
Лучше убейте пару тройку дней (недель) на более плотное изучение материала, чтобы можно было лаконично и понятно для всех все это изложить и показать качественный код.
А то так ценность статьи дико падает, т.к. статей уже куча на эту тему, и все реализуют персептрон для XOR.
Хорош уже приводить академические примеры, персептрон можно легко и непринужденно использовать для управления и моделирование процессами (именно процессами, а не операциями типа XOR).

Сама по себе статья не очень большая, код занимает ~35%. Так что сколько сути, столько и разговоров о ней) А шуток-прибауток, соответственно, ещё меньше.

Теории в ней очень мало.
Почему структура именно такая а не иная? (потому что так в книжке написано?)
Почему функция активации именно такая и чем она лучше других? (а кстати каких?)
Каково качество обучения и обобщения полученной сети?
Все эти вопросы быстро бы возникли, если бы взяли задачу посложнее XOR.
Как по мне, все быстренько реализуют XOR, считают что карасавчеги и потом пишут в резюме «нейронные сети», а по факту когда встает реальная задача, возникает куча вопросов, на которые они не могут дать ответы и бегут читать книжку Хайкена.
Грустно товарищи, грустно!
Книжка Хайкина, конечно, классная, но порядком подустарела. Не зря свёрточные сети так популярны — они реально работают на больших данных. Персептроном на практике много не насчитаешь.

Сверточные сети разве не для ограниченного круга задач (свертки изображений по средствам фильтра)
Это вопрос, и это не точно)))

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

В код не вдавался, кинул взгляд, но вот как то так, дерзайте :-)
Спасибо, за развернутый ответ.
Ну раз уж на то пошло: а какие минусы возникают?))
Нуууу, большого опыта в разработке больших систем у меня нет, а который есть никуда не годиться, но все же я думаю когда на выполнении одного экшена цепляется 10-20 событий, то отлаживать это достаточно трудоемко.
Не считая того, что события в моделях (бизнес-логике) я считаю вообще не должны быть.
Но это отдельный разговор, и кто я такой чтобы навязывать свое мнение)))
Это ошибка или все таки вы в нужную ветку ответили?
А то как то страшно немного становится.

Видимо такие люди потом создают вакансии «Требуется CoffeeScript-разработчик»

Ну а вообще ничего постыдного в такой вакансии нет.
Ведь если вся команда пишет на Coffie, то они вряд ли будут искать JS разработчика.
Или мол и так выучит, нормально?

или «Electron-разработчик».

А я разве писал что Electron это язык?
По вашей логике .NET язык?

Грустно товарищи, грустно когда не знаешь к чему прицепиться((((
Давайте ко сверим буковки:
А чем эти монстры занимаются?
ExtJS — «JavaScript framework for web application»

Мне кажется или только frontend'ом?

Ваш ответ:
ExtJS это супермашина, которая умеет создавать вообще весь юай, очень сложный, основываясь только на данных с бекенда

WAT?!

Ну да. А теперь это называется фронтенд на джаваскрипте. Отнюдь не «придание динамики веб-страничкам», не так ли?

Ну как бы это и есть придание динамики веб страничке)))
А у вас видимо истерика из-за того что парни из frontend — это недооцененные гении?)))
SPA — это тоже придание динамики веб страничкам.
При ответе только постарайтесь не забрызгать меня слюной.
Ну пожалуйста…
CQRS

Это вообще не про события

Event Sourcing

Ну, а также есть другие способы работы без событий.
Я к тому, что МОЖНО на событиях организовать и бизнес-логику, и весь бэкенд, вот только на сколько это адекватно?
Откуда взялось Native JavaScript когда речь шла о JavaScript?

Но мы уже выяснили это ваше воспаленное сознание считают TypeScript, Dart (так уж и быть) и… «обычным» JS, так что тут уже выяснять нечего.

Да, это очевидная для любой компании крутость JavaScript — это прекрасный инструмент для создания полнофункциональных прототипов. Наверное удивитесь, людям которые такие прототипы создают платят кучу денег. К слову переписать можно(выдыхайте) опять на JavaScript.

Т.е. люди платят за прототип (чего вот только вопрос, frontend, backend, всего вместе?), и потом платят за перепись прототипа.
Интересно у вас дела делаются.

«для придания динамики веб страничкам.» === «чаще, чем во frontend»
Front-end для вас ограничивается приданием динамики веб-страничкам? Мда, с кем я разговариваю?

Таки я допустил ошибку, черт((((

Специально для вас — ПРУФЫ про большую степень. Если вы сайты-визитки клепаете на апворке или фигачите в JSP, это не значит что весь остальной мир занимается тем же самым. Кроме того, более 10 лет существуют настоящие монстры типа Sencha / ExtJS которые написаны на JavaScript.

WAAAAAAAAAAAAAAAAAAT?!
А чем эти монстры занимаются?
ExtJS — «JavaScript framework for web application»
React — «A JavaScript library for building user interfaces»
AngularJS — «Superheroic JavaScript MVW Framework»
Мне кажется или только frontend'ом?

WAAAT?!
Вы уже сами не знаете как оправдать JS.
Небольшой вопрос-пример:
В TS есть такая замечательная вещь как интерфейсы.
И вы хотите сказать что это заслуга-особенность JavaScript?!
WAT?!
Тише-тише.
CoffeeScript это такой же «язык» как и TypeScipt.
А написаны данные IDE на Electrone.
Тут подробнее.
Статическая типизация#Преимущества
Например, это:
Многие ошибки исключаются уже на стадии компиляции.
В интегрированной среде разработки осуществимо более релевантное автодополнение, особенно если типизация — строгая статическая: множество вариантов можно отбросить как не подходящие по типу.
Чем больше и сложнее проект, тем большее преимущество дает статическая типизация, и наоборот.

А теперь, чтобы не быть голословным, приведите пожалуйста пример статической типизации, на native JS, которая так сможет.

Я возможно открою вам глаза, но в реальной жизни, в реальной работе огромное число проектов переписываются заново независимо от языка на котором они были изначально написаны

И это я так понимаю очередная крутость JS?
Давайте быстренько напишем на JS, все равно получится говно и потом придется переписать на другой нормальный язык?

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

Можно писать проект на одном языке, если хорошо подойти к вопросам архитектуры и ограничений.
Но я так понимаю это невозможно с JS, т.к. «язык не ставит никаких рамок и это его основная особенность», нет?

Это не так. Лет эдак пять как. Года эдак три как это не знают только те, кто в коме.

Там для вас специально написано в БОЛЬШЕЙ степени (выделю побольше чтобы наверняка).
Если я не прав, то просвятите меня, где JS используется чаще, чем во frontend?
Конечно же я)))
Но а если вернуться к пруфам, то:
Язык программи́рования — формальный язык, предназначенный для записи компьютерных программ

TypeScript имеет свой синтаксис, поэтому его вполне можно назвать ЯП.
Если не заглядывать под капот (то что TS в итоге компилируется в JS), то можно провести аналогию между C# и C++, или C# и Java.
Синтаксис похожий, все друг у друга заимствуют конструкции и синтаксис.
По вашей логике C# это НАДстройка над C++, или я не прав?
И это одна из проблем, что в нем не так как у всех.

Хочешь пиши в JS на ООП

Но нет многих конструкций interface и trait/mixin, да и классы недавно появились (в их обычном представлении).
В js прототипное наследование, не такое как у всех.

Хочешь пиши в JS в функциональном стиле

Тут вроде ок, но опять таки если сравнивать с TRUE функциональными языками (lisp, prolog, ...) js не чисто функциональный, и отличается от них.

То есть откуда бы не пришел человек, он будет ловить много WATов достаточно продолжительное время, прежде чем начнет делать все как надо.
Являются, в полной мере, TypeScript к примеру надмножество JavaScript. А CoffeeScript — вы серьезно? Хотя бы Dart или Elm привели бы в пример, вот как раз по их объему использования и динамике роста статистика вполне общедоступна.

Как раз НАДмножеством, т.е. расширяет нативные возможности языка.
Как по мне, это вполне можно считать другим языком, т.к. языковые конструкции другие/новые.
Понятия не имею, как и вы о том, что этого не случится.

Но нет и довыдов что это случиться.

Пока не видел тут статей от тех, кто пытался написать на нем биллинг и не получилось. Появится — почитаю.

То что нет статей о том «как мы пытались поднять биллинг и не получилось», может говорить также о том что никто просто этим и не занимается, нет?

Все больше и больше убеждаюсь что JS это какой-то язык Шрединегра))))))
Что из этого нельзя написать на JavaScript? Да нет тут такого. Более того, пишут и успешно. Те же ребята из Wrike и команды Visual Studio Code.

Конечно можно.
Вот только насколько можно будет сравнивать полученные проекты по надежности или скорости и удобству разработки?

Крупные проекты типа Идеи давно уже написаны, и аналогов им нет не только на JavaScript, но и на других языках особо не наблюдается. Потому что не в языке тут дело.

Visual Studio достойный тяжеловес, по моему на Сишке или на одном из отростков.
Но это не точно.
Вы сами выше упомянули про VS Code, он написан на Electron (кстати Atom на нем же, и собственно атомом я пользуюсь и очень доволен).
Но это лишь один пример, другие, достойные вряд ли есть.
Вообщем как раз таки в языке дело, насколько он подходит под определенные задачи.

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

Незнание в большей степени исходит из-за непонимания некоторых вещей, которые в других языках совсем иначе выглядят.

Мне например, как JavaScript разработчику, который столкнулся с Java после, а не до изучения JavaScript, удивительна работа this там

Дело в том, что также как в Java и в других языках (C# как минимум), а JS во многих вопросах единственный в своем роде: стоит в сторонке и ссыт против ветра.
Node.js успешно применяется в энтепрайз веб разработке, как просто для приготовления моделей для фронтенда, так и для сложнейших высоконагруженных систем — пруфы надо

Естественно, да!

JavaScript сам по себе монополист на клиенте, давайте сравним… кстати с чем, с GWT? Кстати, где он? Пруфы надо?

И тут определенно да.
Вот только еще стоит оговориться: JS монополист на клиенте потому что нет альтернатив.
Так что JS будет в любом случае лучшим выбором, как бы лютым дерьмом он не был, лишь только потому, что нет альтернатив.
Ну а вообще есть TypeScript, CoffieScript,… которые, хоть и впоследствии компилируются в JS, но не являются JS в полной мере.
Другой синтаксис, другие конструкции.
Так что это как раз таки можно рассматривать, как альтернативы Native JS.
И поэтому каким таким монополистом он является?

Information

Rating
Does not participate
Location
Курган, Курганская обл., Россия
Works in
Date of birth
Registered
Activity

Specialization

Fullstack Developer, Software Architect
Senior
PHP
Docker
Database
OOP
Algorithms and data structures
Object-oriented design
Database design
Software development
Designing application architecture