Найти в Дзене
Программирование

Программирование

Приключения гуманитария в программировании
подборка · 18 материалов
3 года назад
В МЛ пока относительный простой Еще в начале этой обучательной затеи я составила себе распорядок занятий, по которому минимум 2 часа в день занимаюсь машинным обучением (максимум - 3). Иногда это скроллинг новостей, касаемых машинного обучения, иногда работа над проектами типа предсказания цены или поведения клиента. На этой неделе меня зажгла математика. Нашла интересный курс "Mathematics for Machine Learning: Linear Algebra" на английском на Coursera (https://www.coursera.org/learn/linear-algebra-machine-learning/home/info). Достаточно понятное объяснение с тестовыми заданиями, не сильно выходящими за рамки объясненной теории. Я пока на середине курса, где-то в этом районе у меня начинаются трудности с теорией и я забрасываю это дело. Как бы ни пошло дальше, поймала пару инсайтов по матрицам в геометрическом смысле и в плане графиков (например, что можно повернуть вектор, домножив на координаты отсчета нужного положения или решить систему уравнений через инвертирование матрицы). Теперь стало немного проще понимать матрицы и операции над ними, что сильно пригодится, если в будущем работать с изображениями. Еще вписалась в марафон на 5 дней, но там пока ни о чем. Если будет о чем, дам ссылку, марафон рекламный для привлечения клиентов на следующие курсы, точно будут другие потоки.) #ML #путь_дао_саентиста
3 года назад
Дорогой дневник, сколько можно? Достало меня писать о контейнерах, честное слово, но обещаю, сегодня - последняя заметка. По ощущениям уже на финишной прямой. Заложенные сроки сдачи на прошлой неделе съел итератор мультисета, отчаянно не хотевший правильно ходить по одинаковым значениям. Пришлось сделать непрактичное решение с единственным плюсом - оно работало :D В итераторе теперь включен обход всего мультисета с вектором, в который добавляются все узлы по порядку и можно найти нужный уже в стройной линии вектора. Еще неожиданно подвел словарь. Браво наследовать контейнер от красно-черного дерева не получилось, потому что словарь подразумевает вместо одного значения пару. А присвоить пару с константным значением через оператор равно нельзя(удаленная функция), пришлось переписывать удаление из словаря отдельно. И работает эта функция пока странно, но надеюсь разобраться на этой неделе и уже сдаваться. В целом, за время проекта я узнала много нового о внутренней жизни контейнеров, просмотрела сотни страниц на StackOverflow и тысячи строк исходного кода, из которого до сих пор понимаю только процентов 30%. Зато уверена, что все усвоено до зубного скрежета. Особенно итераторы. #cpp #школа_21
3 года назад
Формат канала подразумевает 2 еженедельных поста-отчета об учебе в школе_21 и машинном обучении (которое я транслитом называю МЛ), но со вторым на прошлой неделе было туго. Кризис, я бы сказала. Усилием воли собралась в кулак и накидала проектов, которые буду реализовать в качестве обучения, чтобы выложить на гитхаб и хотя бы показывать. Надоело учиться и копировать учебные проекты, попробую реализовать школьную модель - изучать конкретные темы под практические нужды проекта. Первую неделю объявила неделей чистки и визуализации данных. Сразу фейл, в выбранном датасете не смогла сделать группировку, долго искала, в чем дело, пока не поняла, что в дате симпатичные числа с запятыми записаны строкой и их хорошо бы поменять, чтобы что-то группировать и считать. Не по теме поделюсь, что всю прошлую неделю участвовала в школьном Weeklyton - хакатон на минималках с призом в виде очков обучения. Опыт новый и необычный, особенно когда вписалась в команду, где ребята пишут на незнакомом тебе JavaScript. Чтобы не быть пятым колесом, интенсивно осваивала работу веб-дизайнера на Figma и создателя 2D анимации на всем подряд. Получилось красивое, но решила не отнимать хлеб у дизайнеров и оставить векторную графику для души. #путь_дао_саентиста #ML
3 года назад
Ничто на Земле не проходит бесследно
Ничто на Земле не проходит бесследно На этой неделе меня догнало ключевое слово const. Многие авторы статей по с++ пишут, что все, что вам не нужно в коде, можно и даже нужно делать константным. Но на практике получается цирк с конями. Допустим, у меня есть контейнер, который наследуется от класса дерева. Здорово, красиво и приятно. Но надо переписать конструктор этого контейнера для длинного списка, потому что кто-то поленился написать итераторы для дерева, а без инкремента и декремента итератора для перебора листа по элементам сделать такой конструктор невозможно. Дерево полностью публичное,...
3 года назад
Заметка о машинном обучении на этой неделе будет короткой.
Заметка о машинном обучении на этой неделе будет короткой. После изучения случайного леса взяла тему градиентного бустинга, понравилось. Основа градиентного бустинга - последовательное обучение моделей на данных, с уменьшением ошибок, полученных предыдущей моделью. У такого метода для меня есть очевидные плюсы и минусы. Из плюсов - скорость вычислений и большая точность при соразмерных затратах времени на улучшение модели. Сложилось впечатление, что базовый градиентный бустинг работает также, как прокачанный случайный лес. То есть если прокачать градиентный бустинг, будет еще лучше. Из минусов...
3 года назад
Вассал моего вассала не мой вассал
Вассал моего вассала не мой вассал Продолжаю пережевывать контейнеры библиотеки STL, на этой неделе очередь Set. Идея была грандиозная, взять красно-черное дерево из прошлой недели, унаследовать в set, map, multiset и радоваться, горя не зная. ХА. Радоваться не получилось. При создании контейнера в main все работало, были видны методы и общие поля класса-родителя. Но при написании шаблонных функций для класса было видно 0 целых, хрен десятых, т.е. я не могла напрямую обратиться к полю дерева внутри упорядоченного множества. Путем шаманских танцев с использованием using Имя класса :: функция/поле_класса удалось подключить функции дерева в шаблон и наследование вроде бы заработало...