본문 바로가기

모각코11

[22동계모각코] 8회 계획 및 평가 시작 시간 : 23-01-31 오후 6시 오늘의 목표 플로이드-워셜 알고리즘 공부 플로이드 워셜 알고리즘이란? 모든 노드에서 다른 모든 노드까지 이동하는 최소비용을 구하는 알고리즘이다. 기본 동작은 다익스트라 알고리즘과 비슷하다고 느꼈다. A에서 B까지 이동하는 것보다 A와 B 사이에 k를 지나 도달하는 게 더 저렴한 비용으로 도달할 수 있다는 점에서 이 알고리즘이 만들어진 듯했다. 이 알고리즘은 정해진 점화식에 따라 비용이 수정된다는 점에서 다이나믹 프로그래밍에도 속한다고 한다. D_ab = min(D_ab, D_ak + D_kb) D_ab : a에서 b로 가는 거리(distance) 시간복잡도🕐 입력 노드가 N개 일때, 모든 노드에 대해서 다른 모든 노드(N개)로 가는 경로를 탐색한다. 그렇기 때문에.. 2023. 1. 31.
[22동계모각코] 7회 계획 및 평가 시작 시간 : 23-01-30 오후 6시 오늘의 목표 다익스트라(Dijkstra) 알고리즘 공부 이렇게 공부한 알고리즘을 정리해보는 것은 처음이다. 그래서 글이 너무 복잡하고, 정리가 안 되어 있다. 오늘은 다익스트라 알고리즘을 공부했다. 다익스트라 알고리즘은 정보 탐색 중에서 최단 경로를 구하기 위한 알고리즘이다. 정보 탐색이란, 탐색에 필요한 정보들을 탐색 전에 미리 알고 있는 경우이다. a에서 b까지의 이동경로를 직접 가보지 않고 미리 알수 있는 경우가 정보탐색인 것이다. 또 다른 특징이 있다면, 비용(cost)의 정보가 모두 음이 아닌 정수여야 한다. 비용 정보가 음수도 포함이 된다면 '플로이드-워셜' 알고리즘으로 해결해야 한댔다. *논외이긴 하지만 정보가 사전에 준비되지 않은 경우에는 다른 탐색.. 2023. 1. 30.
[22동계모각코] 6회 계획 및 평가 *5회차는 개인사정으로 불참 시작 시간 : 23-01-24 오후 6시 오늘의 목표 LG Aimers: AI전문가과정 - Module 4. 『딥러닝(Deep Learning)』 - 학습 완료하기 gradient diescent의 기본 개념 neural network의 기본적인 학습 과정에서 사용하는 기본 알고리즘. back propagation 기법 Deep learning이 하나의 합성 함수로 봤을 때에 각각의 편미분을 구할 수 있는 방법 gradient vanishing batch normalization CNN 특정 class에 존재할 수 있는 작은 특정 패턴들을 정의하고, 그 패턴들이 주어진 이미지 상에 존재하는지 판단한다. 지난 학기 '인공지능과 미래사회' 수업에서 배웠던 내용이다. 특징 추출 수.. 2023. 1. 24.
[22동계모각코] 2회 계획 및 평가 시작 시간 : 23-01-03 오후 6시 오늘의 목표 LG Aimers: AI전문가과정 - Module 3. 『지도학습(분류/회귀)』 수강 linear regression 선형 회귀를 하는 방식은 'y = ax + b' 혹은 'Y = θ0 + θ1 * x1' 라는 식에서 시작한다(x0 = 1). 더 자세한 이야기를 강의에서 들었지만 머리에 잘 들어오진 않았다. 하지만 이 식만은 제대로 알아가기로 했다. 입력 x에 대해서 올바른 출력 Y를 하기 위해서는 bias(b, θ0)와 weight(a, θ1)가 중요하다. 그리고 인공지능은 이 값들을 마구 바꿔 계산해보며 모든 학습 데이터에 대해 올바른 값을 내는 작업을 수행한다. 이것이 바로 학습이다. 그렇다면 이 값들은 무슨 기준으로 이리저리 바꾸어보는 것일까?.. 2023. 1. 3.
[22동계모각코] 1회 계획 및 평가 시작 시간 : 23-01-02 오후 6시 오늘의 목표 LG Aimers: AI전문가과정 - Module 1. 『AI 윤리』, Module 3. 『지도학습(분류/회귀)』 수강 아래에는 강의를 들으며 생소하거나 중요하다고 느끼는 등 내게 기록하고 싶은 부분만 메모하도록 하겠다. Module 1 오늘 배운 내용은 AI윤리 뿐만 아니라 데이터 사이언티스트라면 누구나 알아야 할 소양에 대해 알아보았다. 1. 데이터를 잘 해석하는가? + 상관관계와 인과관계를 제대로 알자. 이 둘 사이의 잘못된 사용은 데이터 과학자라면 절대 해선 안 되는 실수이다. 2. 데이터 전처리와 분석 방법은 적절한가? *데이터를 깊이 분석하는 EDA(exploratory data analysis) 과정에 충분한 시간 보내기 3. 학습에 쓰는.. 2023. 1. 2.
[2022 하계 모각코] 7주차 1회 계획 및 결과 7주차 1회 계획 : 최장증가부분수열(LIS) 탐구 이번주는 최장증가부분수열알고리즘에 대해 탐구할 계획이다. 평소에는 기존에 알고 있는 알고리즘에서 확장적으로 알아나가려 했다. 이번 기회에 전혀 모르던 알고리즘을 집중적으로 파고들어 보았는데, 정말 신선한 경험이었다. 최장증가부분수열(LIS, Longest Increasing Subsequence)이란? 주어진 수열에서 순서대로 증가하는 가장 긴 부분수열이다. 예로 알아보자. '1, 2, 7, 4, 3, 9' 의 수열이 있다. 증가하는 부분수열을 뽑아보면 '1, 7, 9', '2, 7, 9', '4, 9', '2, 4', ... 가 있다. 이 부분수열들 중 길이가 가장 긴 수열이 바로 최장증가부분수열이다. 위에서 주어진 수열에서의 LIS는 '1, 2, 7.. 2022. 8. 10.
[2022 하계 모각코] 6주차 1회 계획 및 결과 6주차 1회 계획 : 코드트리 사이트에서 제공하는 '동적 계획법 알고리즘' part 학습 '컴프2 예습 -> 알고리즘 공부' 계획 수정 이유 : 선배들과 이야기 나누면서 컴프2 과정에 대해 예습은 큰 이점을 가지지 못할 것 같았음. 프로그래밍 언어의 기능을 알기보단 차라리 프로그래밍 언어의 동작 원리를 아는 것이 더 좋을 것이라 판단함. 하지만 동작 원리를 알아내는 것은 공부하면서 시작을 호기심으로 접근하는 것이 좋겠다고 생각했고, 결국 알고리즘 공부로 전향. DP는 원래부터 공부하려 했던 알고리즘인데. 어떻게 공부를 해야할지 한참 막막했다. 좋은 기회로 얻은 코드트리 문제집으로 공부했다. 이번 시간에는 Mmemoization과 Tabulation을 공부했다. 이 둘은 간단한 피보나치 구현이라 쉽게 따라.. 2022. 8. 1.
[2022 하계 모각코] 5주차 1회 계획 및 결과 5주차 1회 계획 : 컬렉션 프레임워크(collection framework(Queue)) 공부 이번 주차 계획 Queue 개념 정리 Queue 를 활용한 문제 풀이 Queue Queue는 Stack과는 달리 선입선출(혹은 후입후출) 자료구조이다. 스택은 먼저 넣은 것은 가장 바닥에 깔리게 되어 맨 마지막에 꺼낼 수 있다. 어떻게 생각해보면 물병같은 것이다. 입구와 출구가 같아서 가장 바닥에 있는 것을 꺼내려면 가장 위에 있는 것부터 꺼내야 한다. 반면에 Queue는 입구의 반대편에 출구가 있다. 그래서 가장 처음에 넣은 것은 가장 처음으로 꺼내볼 수 있다(FIFO, First In First Out). 큐와 스택의 차이는 분명하기에 헷갈리지 않도록 하자. 자바에서 Queue를 쓰는 방법은 Collect.. 2022. 7. 25.