BIG BAD DATA – Telegram
BIG BAD DATA
140 subscribers
69 photos
1 video
9 files
31 links
Сложно о простом и просто о сложном 😎🥸
👀Меня можно найти тут: @Areson251
Download Telegram
BIG BAD DATA pinned «‼️Я ВЕРНУЛАСЬ‼️ Да да, я уже обосновалась у себя в общаге, более менее въехала в темп Долгопрудного (🥰) и готова продолжать писать посты!!! Более того, я решила произвести реорганизацию канала. Изначально предполагалось, что канал будет нацелен на введение…»
Все, расставила теги на все полноценные посты - можно вычеркнуть таску из списка дел (обожаю это ощущение🤤)

Уже подумала над тем, что 4 хештегов не хватит для хорошей сортировки постов по темам, скорее всего буду расширяться. На этот раз буду записывать какие-то идеи и тезисы, как все можно красиво распределить, и составлю четкую структуру канала, чтобы в нем можно было легко ориентироваться всем новоприбывшем и олдам🤍
👍3🤩2
хочу поменять аффку канала, мб у кого-то есть предложения?)
Минусы мл:
1. Нашел тупую ошибку в датасете - нужно переобучать все с самого начала

Плюсы мл:
1. Пока обучаешь можно похавать

#phil_thoughts
🔥8👍2🌭1
Буквально пару дней назад заглядывала в свой канал и любовалась 38 подписчикам🥰

Захожу сейчас, А ВАС УЖЕ 65 ТОВАРИЩЕЙ!!!!😍😍😍😍😍
Я безумно рада, что люди интересуются моей деятельностью и остаются со мной! Это мотивирует стараться для Вас еще больше писать интересных постов, обзоров и выкладывать свои мысли)))

Раз уж такое дело, начну новую огромную серию постов "с нуля", да бы постараться уровнять свою публику +- до входного порога понимания "а что ваще творится в ml?"

P.S. Обещала оформить себе telegram premium, если до 31 декабря этого года наберется 100 товарищей🙂

#info
🔥3
Давайте начнем с самой базовой базы🤓

Вы когда-нибудь задумывались о том, что вообще из себя представляют нейронные сети?
На самом-то деле, все очень просто. Ни для кого ни секрет, что Матушка Природа создала наш мир очень продуманно, и многие изобретения человечества - лишь ее пародии. Так произошло и с нейронками, которые пришли к нам прямиком из биологии🐁. По сути своей, нейронные сети в программирование - упрощенное повторение нейронных сетей мозга, состоящие, непосредственно, из нейронов и соединяющих их синапсов. Разберемся более подробно с этими понятиями:
⭕️ Нейрон представляет из себя вычислительную единицу, которая принимает входные данные, производит над ними какие-либо вычисления и передает их дальше. Совокупности нейронов называются слоями. Также, нейроны (слои) делятся на несколько типов: входной, скрытый и выходной. Думаю, всем понятно, что входной нейрон принимает информацию и, никак не изменяя ее, передает в следующий слой (input = output). Скрытые слои по каким-то заданным правилам корректируют ее и выходной слой выдает уже изменнные значения. Важно знать! Нейроны используют только нормализованные значения данных в диапазоне [0;1] или [-1;1].
⭕️ Синапс является связью между двумя нейронами - дорожка, по которой передается информация. Связи нейронов можно представить в виде взвешенного графа, где ребра (синапсы) имеют свои веса. Соответственно, чем больше вес синапса, тем более доминирующей будет информация, передающаяся по нему. Интересно, что изначально веса инициализируются случайным образом 🎲

Соответственно, структура нейронов и связывающих их синапсов называется нейронной сетью. Приведу конкретный пример: у нас есть всего 3 нейрона:
1. Входной нейрон Н0, значение которого равно 1
2. Скрытый нейрон Н1, вес которого равен 0.36
3. Выходной нейрон Н2 = ?
Получим следующее значение выходного нейрона:
Н1 = Н0 = 1
Н2 = Н1 * 0.36 = 0.36

- Ульяна, а какой смысл имеет полученное значение? - Вы спросите меня. А я Вам отвечу:
- Уже половина первого ночи, а мне вставать в 7:30.

Ждите продолжения в следующем посте💜

#about_ml
🔥4👏3👍2🐳1
тук-тук
В полной запаре дел пишу продолжение поста ☝️☝️☝️

У Вас, товарищи, было достаточно времени на подумОть о примере, описанном выше. Как Вы могли догадаться, получаемые значения на выходном нейроне могут сильно варьироваться. Что же с этим делать?

Как говорилось ранее, нейроны используют нормализованные значения. А штука, которая их нормализует, называется функцией активации. Вариантов таких функций достаточно много, в основном они отличаются диапазонами значений.
Самая популярная из них - сигмоид (верхний рисунок). Другое ее название - логистическая функция. Она имеет диапазон [0;1]. Кстати, в сети в основном встречаются примеры именно по ней))
Скорее всего Вам могут понадобиться отрицательные диапазоны. Для этого существует гиперболический тангенс (нижний рисунок), который определен в отрезке [-1; 1]. Маленькое замечание: если используются только положительные значения, использование данной функции может ухудшить итоговые метрики. Поэтому нужно правильно оценивать полезность выбранной функции.
Уже после нормализации выходных значений на нейроне, мы можем передать их в следующий слой, где повторятся те же действия с умножением на веса и функцией активации. Такие действия мы повторяем до тех пор, пока не дойдем до конца - выходного слоя.
После первой итерации (прогон всего тренировочного датасета от «начала» до «конца») мы естественно получим неправильные значения на валидационной выборке. Это показатель того, что нейронная сеть не натренирована. Легко заметить, что мы можем посчитать насколько модель ошиблась. Для подсчета ошибки используются так же различные формулы. К примеру, это может быть MSE (Mean Squared Error, среднеквадратичная функция-потерь), RMSE (Root MSE, корень из среднеквадратичной ф-ции потерь), MAE (Mean Absollute Error, средняя абсолютная ошибка) и тд...
Не буду уж на ночь глядя грузить Вас формулами. Просто верьте в силу библиотек python 😇

Хотя я бы даже посвятила отдельный пост для разбора функций потерь и как они работают...
Но это уже на следующей неделе🙃

#about_ml
🔥3🐳2
Давайте отвлечёмся немного от теории😮‍💨

Хочу рассказать Вам о своей учебе...
А конкретнее о курсе Алексея Ковалёва «Методы искусственного интеллекта в анализе данных» 🙌

Этот курс считается вводным для тех, у кого слабовата базовая теория в ml (для таких как я👀). Мы уже успели пройти предварительную обработку данных, распространенные метрики, линейную классификацию, логистическую регрессию и метод опорных векторов (SVM). Настало время для самого интересного - домашнего задания)))
Вообще, домашка по этому курсу имеет формат мини проектов. В первом из них нужно самому найти и подготовить обучающие данные, составить baseline (базовое решение), обучить линейные модели, композиции моделей и подготовить отчет о проделанной работе. Получается такое самостоятельное микро исследование🙃
Первый этап - подготовка данных. Нам предлагается самим найти табличные данные, включающие в себя разные признаки (категориальные и численные), придумать по ним задачу классификации и выбрать метрики. Мне очень понравился тот факт, что мы сами можем выбирать данные, с которыми будем работать. Присутствует нотка творчества👩‍🎨 В поисках датасета я наткнулась на очень интересный csv файлик - датасет анекдотов на русском😂 Честно говоря, я застряла на нем где-то на полчаса просто читая все подряд... . К великому сожалению, эти данные не подходят под критерии домахи, потому что этот датасет содержит всего один признак - сам контент. Поэтому пришлось рыть дальше.
Спустя пару минут я нашла ИДЕАЛЬНЫЕ данные: Anime Recommendations Database. Датасет содержит информацию о чуть более 12к различных аниме и представлен в виде двух файлах:

⭕️ anime.csv
🌀anime_id - уникальный id номер аниме с сайта myanimelist.net
🌀name - полное название аниме
🌀genre - список жанров для соответствующего аниме (через запятую)
🌀type - тип аниме (movie, TV, OVA и т.д.)
🌀episodes - количество эпизодов для соответствующего аниме
🌀rating - рейтинг для соответствующего аниме (от 0 до 10)
🌀members - количество людей просмотревших соответствующее аниме (или проголосовавших, еще не разобралась)

⭕️ rating.csv
🌀user_id - рандомно сгенерированные id юзеров
🌀anime_id - id аниме, за которое проголосовал юзер
🌀rating - рейтинг, выставленный юзером для соответствующего аниме (-1 если человек просмотрел, но не проголосовал).

Как совместить эти два файла в один я не придумала. Однако, первый файлик прекрасно вписывается в требования датасета, поэтому было решено использовать именно его.
Затем требовалось выбрать задачу классификации (не обязательно бинарной). Пришла идея "предсказывать рейтинг аниме". Соответственно, не долго думая, я и взяла ее🤣 И с потолка метрику F1-score к ней привязала...👀

Штош, после этого получила accept у нашего семинариста и живу наслаждаюсь жизнью (в лабе).
Следующим этапом будет анализ данных и их корректировка, об этом тоже обязательно напишу мини отчет🙂

#diff
5👍1🔥1
Кстати, кому интересно поиграться с датасетом анекдотов - прицеляю этот файлик ниже)))
Пишите, у кого какие интересные идеи могут быть на этот счет😃

(хотя я с NLP ваще не дружу че то)

#diff
3👍2
jokes.csv
3.3 MB
4🔥2🐳1
Многие, кто общался со мной в сентябре, знают некоторый факт обо мне. А точнее, моё желание🤫

Конечно, не все так эпично, как могло прозвучать😂. Но!
Я хочу разобраться с генеративными моделями, да все руки не доходят...

Вы могли заметить в instagram новый тренд, где на основе своего фото генерируют похожие изображения в стиле аниме. И вот именно сегодня я добралась до приложения loopsie (это не реклама, мне никто не заплатил) и успела поиграться с его бесплатной версией. Оно дало мне сгенерировать 6 фотографий, а при попытке сделать видос и снова загрузить фото попросило деньгу😟
Однако, мне понравились сгенерированные изображения) Прикреплю их ниже.

Хотя можно выделить несколько нюансов:
🖌 Руки, руки и ещё раз руки. На сколько я знаю, многим людям тяжело даётся рисовать кисти рук. И, видимо, моделькам тоже
🖌 Непонятные элементы одежды. То на футболке воротник как от рубашки, то водолазка взялась откуда ни возьмись, то наушники появляются случайным образом...
🖌 Почему-то на последнем изображении моделька перепутала мальчиков и девочек (слева стоим мы с Ритой, а справа Женя и Вова) 😐
🖌 К последнему изображению вообще много вопросов. Что с ногами у самой правой персоны?🤣 Если присмотреться, то можно понять, что левую ногу нужно было дорисовать сзади, а правую спереди. Моделька просто перепутала колени... А у Второго человека справа вообще непонятно, что с лицом (и это не потому, что фотография была сделана после посещения бара). Ну и опять же моделька забила на отрисовку кистей рук.

При всех этих недочётах я бы хотела уделить внимание тому, что на первой фотке нейроночка отчётливо сохранила буквы "ИжГТУ" 💙 за моей спиной. Ну и в принципе качество генерации различных деталей достаточно хорошее.

На этом мой обзор подходит к концу. Жаль, не затестила генерацию видосов (я просто хочу найти бесплатную версию, но вы так не делайте. Программистам нужно платить). Ставьте лайки, подписывайтесь на канал👍

Важное уточнение! Эта приложуха есть только под ios. Так что пользователи Android - ищите веб версии.

#diff
🔥3
А, ну да
Интересны ли Вам посты такого формата? Могу замутить какую-нибудь подборку прикольных моделек (на этот раз, доступные для всех, а не только для любителей айфонов😅)
Делать подборку прикольных нейронок?
Anonymous Poll
88%
ДА
12%
...