전체 글 167

[DAY 8] Pandas I / 딥러닝 학습방법 이해하기

살다보면 가끔 그런 날이 있다. 평소에 자주 쓰던, 익히 알고있다고 생각하던 단어들이 갑자기 낯설어지는 그런 날 오늘이 딱 그랬다. 선형회귀, 등등 잘 알고있다고 생각했는데, 갑자기 이게 왜? 예시가 없나? 왜 이렇게 되지? 라는 의문이 계속 드는 그런 날이었다. Pandas 📌 Series dataframe 중 하나의 column에 해당하는 데이터의 모음 object numpy와의 가장 큰 차이점 : 인덱스 값을 지정해줄 수 있다. - default 값은 0부터 시작하는 숫자지만 따로 인덱스를 지정해줄 수 있다. value들의 데이터타입은 기본적으로 nd.array list_data = [1, 2, 3, 4, 5] example_obj = Series(data=list_data) example_obj ..

Naver Ai Boostcamp 2021.01.27

[DAY 7] 경사하강법

경사하강법 (순한 맛) 📌 미분 변수의 움직임에 따른 함수값의 변화를 측정하기 위한 도구 최적화에서 많이 사용하는 기법이다. 도함수 = 접선 -> x에서의 접선의 기울기 = 점 x에서의 미분 값 함숫값을 증가시키고싶다면 ? x ≔ x + f'(x) 함숫값을 감소시키고싶다면 ? x ≔ x - f'(x) x ≔ x + f'(x) : 미분값을 더하는 경사상승법 , 극댓값의 위치를 구할 때 사용 x ≔ x - f'(x) : 미분값을 빼면 경사하강법 , 극솟값의 위치를 구할 때 사용 우리의 목적은 "cost함수의 최소화" 그러므로 cost함수의 최솟값을 구하기 위해 경사하강법을 사용 극솟값을 어떻게 찾을까? (단편적인 2차원 cost함수라고 가정) 1. 우선 한 점 X를 찍는다. (initialize) 2. X에..

Naver Ai Boostcamp 2021.01.26

[DAY 6] Numpy / 벡터 / 행렬

numpy list에 비해 빠르고, 메모리 효율적 반복문 없이 데이터 배열에 대한 처리를 지원 C,C++ 등의 언어와 통합 가능 📌 ndarray np.array 함수를 활용해 배열을 생성 → ndarray 하나의 데이터 type만 배열에 넣을 수 있음 (C같이) List와 가장 큰 차이점 -> 다이나믹 타이핑 x (그래서 빠름 ) C의 Array를 사용하여 배열을 생성함 test_array = np.array(["1","4",5.0 ,8] , float) test_array >> array([1., 4., 5., 8.]) a = [1,2,3,4,5] b = [5,4,3,2,1] a[0] is b[4] >>True a = np.array(a) b = np.array(b) a[0] is b[4] >>Fal..

Naver Ai Boostcamp 2021.01.26

8주차 스터디 그래프 이론 - 백준 3184번 양

www.acmicpc.net/problem/3184 3184번: 양 첫 줄에는 두 정수 R과 C가 주어지며(3 ≤ R, C ≤ 250), 각 수는 마당의 행과 열의 수를 의미한다. 다음 R개의 줄은 C개의 글자를 가진다. 이들은 마당의 구조(울타리, 양, 늑대의 위치)를 의미한다. www.acmicpc.net IDEA 고냥 깜찍한 BFS/DFS문제다. DFS보단 BFS가 편해 BFS로 풀었다. '#'이라는 울타리로 막혀있는 공간 안에서 양과 늑대의 개수를 세어, 더 많은 동물의 개수가 살아남아 최종적으로 아침까지 살아있는 양과 늑대의 수를 구하는 문제다. 1. #이 아니면 BFS문 돌림 2. 큐에서 꺼낸 좌표에 O가 존재하면 양을 , V가 존재하면 늑대의 수를 하나 세준다. 3. 상하좌우에 대해서 마당을..

8주차 스터디 그래프 이론 - 백준 10451번 순열 사이클

www.acmicpc.net/problem/10451 10451번: 순열 사이클 1부터 N까지 정수 N개로 이루어진 순열을 나타내는 방법은 여러 가지가 있다. 예를 들어, 8개의 수로 이루어진 순열 (3, 2, 7, 8, 1, 4, 5, 6)을 배열을 이용해 표현하면 \(\begin{pmatrix} 1 & 2 &3&4&5&6&7&8 \\ 3 www.acmicpc.net IDEA 여러가지 방법이 있을 수 있겠다. 뭐 유니온파인드를 쓰는 방법도 있겠지만,,,, arr라는 배열에 저장한 후, 배열값을 인덱스로 가지는 그 다음 배열로 넘어가면 될 거 같다. 사이클인지 아닌지 구분하는 방법은 이미 지나온 곳으로 다시 돌아간다면 사이클이다. 1 2 3 4 5 6 7 8 3 2 7 8 1 4 5 6 1부터 시작해서 ..