Свързани публикации 'algorithms'


Грешката в нашия подход: Какво правите погрешно, докато прилагате повтаряща се невронна мрежа-LSTM!
Започнах да навлизам в областта на машинното обучение преди няколко месеца и след като направих няколко проекта, си помислих, „това не е наистина трудно“. Това беше, докато не срещнах Deep Learning. Съвсем нова област на изследване, Deep Learning изисква огромно количество математически, както и аналитични знания. Създаването на невронна мрежа е еквивалентно на създаването на човешки мозък! Докато се подготвях да се докосна до невронните мрежи, разбрах, че е толкова завладяващо...

Търсенето на съвършенство — O(n) (Премахване на дублирани елементи)
Веднъж един професор каза: За да бъдете старши инженер, трябва да изучавате структурно програмиране, функционално програмиране, полиморфизъм, много архитектура, дизайнерски модели, тестване, TDD, BDD, Agile и екстремно програмиране. Трябва да сдвоявате много. Има много движещи се части! Но за да отидете отвъд и да бъдете A от световна класа, има едно нещо и само едно нещо, което трябва да доминирате в дланта на ръцете си: Алгоритми! Някои казват, че вселената и животът са описани..

Бръсначът на Окам: Поддържане на кратък и прост код
Заден план В моето приложение Group Randomizer една от функциите за моя MVP (минимален жизнеспособен продукт) е създаване на функция за запазване на група. Когато потребителят щракне върху бутона „Запазване на групата“, той ще запази текущия списък с опции като нова група. Въпреки това, основната функционалност на тази функция е, че ако намери съществуваща запазена група със същите опции, независимо от реда, тогава ще се появи предупреждение, че група с текущия ви списък с опции вече..

JavaScript алгоритъм: Преобразуване на низ в Camel Case
Преобразувайте разделени думи с тире и/или долна черта в главни букви Ще напишем функция, наречена toCamelCase() , която ще приеме низ, str , като аргумент. За тази функция ви е даден низ и думите в низа са разделени с тире — или долна черта _ или и двете. Целта на функцията е да премахне всички тирета и/или долни черти и първата дума, която следва това долна черта или тире, трябва да бъде изписана с главна буква. Върнатият низ трябва да прилича на входния низ, но в камилски..

Обучение с подсилване: Кратко въведение
Обучението с подсилване е вид машинно обучение, което се фокусира върху обучение на алгоритми за вземане на последователност от решения. Алгоритмите се учат от своите действия и произтичащите от това награди или наказания, с цел максимизиране на сигнала за награда във времето. Обучението с подсилване може да се използва в различни приложения, като видеоигри, роботика и автономни системи. Той беше особено успешен в областта на играта, където алгоритмите бяха обучени да играят игри на..

LeetCode — Обхождане на зигзагообразен ред на ниво на двоично дърво
Постановка на проблема Като се има предвид root на двоично дърво, върнете обхождането на зигзагообразното ниво на стойностите на неговите възли. (т.е. отляво надясно, след това отдясно наляво за следващото ниво и редувайте между тях). Изявлението на проблема е взето от: https://leetcode.com/problems/binary-tree-zigzag-level-order-traversal/ Пример 1: Input: root = [3, 9, 20, null, null, 15, 7] Output: [[3], [20, 9], [15, 7]] Пример 2: Input: root = [1] Output:..

Научете динамично програмиране: Ръководство за начинаещи за проблема с размяната на монети
Повишете уменията си за интервюиране и станете по-добър разработчик, като научите основите на динамичното програмиране Динамичното програмиране е подход за решаване на сложни проблеми, който включва разбиването на проблема на по-прости проблеми и решаването на тези проблеми. Ако ви помолят да умножите 21 * 5, вероятно вместо това ще умножите (20 * 5) и ще добавите (1 * 5). Вместо да разрешите един сложен проблем, вие го разделихте на три по-прости проблема и ги решихте. 20 * 5 =..