전체 글91 ML Strategy [Deep Learning Specialization #7] Coursera의 Deep Learning Specialization - Week 3의 강의를 수강하면서 필기한 내용을 바탕으로 정리한 글입니다. 3주차는 실무에서의 Machine Learning을 다룰 때 마주하는 문제점들을 분석하고 해결하는 전략들을 배웁니다. Orthogonalization - 직교화 지난 주차의 Early Stopping을 배울 때, Orthogonalization(직교화)라는 단어를 언급했었습니다. 직교화는 하나의 기능을 하나의 제어로만 통제하는 경향을 의미합니다. 앞, 뒤, 좌, 우로 물건을 이동시킨다고 할 때, 각 스위치들이 여러 방향을 포함하고 있기보다는 하나의 스위치당 하나의 방향만을 제어하는 것이 사용자 입장에서도, 엔지니어 입장에서도 편할 것입니다. 이것은 Machin.. 2022. 7. 19. [파이썬] 신고 결과 받기 - 2022 KAKAO BLIND [CODING TEST #3] https://school.programmers.co.kr/learn/courses/30/lessons/92334 조금 헷갈릴 수 있는데, id_list로 사용자들의 이름이 들어오기 때문에 리스트의 인덱스를 쓰기 보다는 딕셔너리를 사용하는 것이 낫다고 생각되었다. 두 가지 딕셔너리가 필요했다. reported : user별 신고당한 횟수를 세기 위한 딕셔너리. key - user id, value - reported counts. report_list : user별 신고한 user를 모아 놓은 리스트를 value로 가지는 딕셔너리. key - user id, value - report users. report 내 신고 내역을 돌면서, 신고 횟수를 reported에 추가하고 report_list[신고한 유.. 2022. 7. 19. [파이썬] 내적 [CODING TEST #2] https://school.programmers.co.kr/learn/courses/30/lessons/70128 리스트 a,b 길이가 같기 때문에 아주 간단한 문제. def solution(a, b): sum = 0 for i in range(len(a)): sum += a[i] * b[i] return sum 2022. 7. 18. [파이썬] 직사각형 별찍기 [CODING TEST #1] 코딩테스트 준비도 할 겸, 파이썬과 더욱 친해지기 위해.. 조금씩 문제를 풀면서 여기에 기록하려고 한다. https://school.programmers.co.kr/learn/courses/30/lessons/12969 print 함수는 실행이 완료되면 자동으로 줄바꿈이 되므로, Column 수만큼 별을 리스트에 string으로 넣고 join 함수를 이용하여 row 하나를 출력하고, row만큼 for문을 돌렸다. a, b = map(int, input().strip().split(' ')) for _ in range(b): list = ['*' for i in range(a)] print(''.join(list)) join 함수를 간단히 살펴보자. 구분자가 앞에 오고, 리스트가 뒤 괄호 안에 들어가는 것.. 2022. 7. 18. Tuning Process [Deep Learning Specialization #6] Coursera의 Deep Learning Specialization - Week 2의 강의를 수강하면서 필기한 내용을 바탕으로 정리한 글입니다. 지난 주차에는 여러 최적화 기법들을 살펴 보았습니다. 이번 주차에서는 파라미터들을 튜닝하는 기법들을 살펴 보겠습니다. Tuning Hyper-parameters 가중치 W, 바이어스 b를 제외한 나머지 파라미터들을 Hyper-paramter라고 부릅니다. 학습률 alpha, Layer 수 L, unit 수 n[L], Momentum에서 쓰이는 beta 1, RMSprop에서 쓰이는 beta2 등입니다. 이들의 최적값을 찾기 위해서는 값을 바꾸어 가면서 모델을 테스트해야 하는데, 무작정 모든 값들을 다 해볼 수는 없으니 특정 값들을 선정해야 합니다. 이 때, 그.. 2022. 7. 18. Optimization [Deep Learning Specialization #5] Coursera의 Deep Learning Specialization - Week 2의 강의를 수강하면서 필기한 내용을 바탕으로 정리한 글입니다. 지난 주차에는 Deep NN 향상 기법들을 살펴 보았습니다. 이번 주차에서는 여러 최적화 기법들을 살펴봅시다. Mini-batch Gradient Descent Training set의 크기가 5백만인 경우, 한 개씩 5백만 회 반복하는 것과 5백만 개를 한 번에 학습하는 것 중 무엇이 좋을까요? 한 개씩 하는 것은 전체 반복이 매우 짧지만, 벡터화를 활용하지 못해 전체 데이터에 대한 소요 시간이 매우 길어집니다. 그리고 전체 데이터의 경향을 반영하기 힘들어집니다. 반대로 5백만 개를 한 번에 하면 성능은 좋아지지만, 전체를 한 번 반복하는 데 소요 시간이 길.. 2022. 7. 14. Improving Deep Neural Network [Deep Learning Specialization #4] Coursera의 Deep Learning Specialization - Week 2의 강의를 수강하면서 필기한 내용을 바탕으로 정리한 글입니다. 2주차는 DNN을 향상시키기 위한 Hyperparameter Tuning, Regularization, Optimization을 배웁니다. 이번 주차에서는 DNN의 결과가 의미하는 것을 분석하고, DNN 향상 기법들을 알아봅니다. Dataset Distribution 일반적인 데이터셋은 크게 세 가지로 나뉩니다. Training set : 모델을 훈련하는 데 이용되는 데이터셋의 모음으로 가장 큰 지분을 차지합니다. 60%가 일반적입니다. 이 데이터셋을 반복적으로 이용하여 모델의 성능을 끌어올립니다. Development set : 앞서 훈련한 모델을 검증하기 .. 2022. 7. 14. Deep Neural Network [Deep Learning Specialization #3] Coursera의 Deep Learning Specialization - Week 1의 강의를 수강하면서 필기한 내용을 바탕으로 정리한 글입니다. 지난 주차에는 Shallow Neural Network를 살펴 보았습니다. 이번에는 딥러닝의 의미를 가지고 있는 Deep Neural Network를 살펴 보겠습니다. Deep Neural Network Hidden Layer의 수가 증가할수록 모델이 깊어집니다. 이러한 외형 특징을 따서 Deep Neural Network라고 하고, Deep Learning이라는 말이 생기게 되었습니다. 왜 Layer를 많이 쌓아야 모델의 성능이 좋아지는 지는 아래에서 서술합니다. 아래는 각 값마다 [l]이라는 첨자를 통해 몇 번째 Layer인지 표기한다는 내용입니다. n[l.. 2022. 7. 13. Shallow Neural Network [Deep Learning Specialization #2] Coursera의 Deep Learning Specialization - Week 1의 강의를 수강하면서 필기한 내용을 바탕으로 정리한 글입니다. 지난 주차에는 아주 기본적인 Neural Network를 살펴 보았습니다. 이번에는 얕은 Neural Network를 살펴 보겠습니다. Shallow Neural Network 입력 X와 출력 Y Layer를 제외하고, 그 사이에 있는 Layer를 Hidden Layer라고 합니다. 숨겨진 레이어에서 파라미터 W와 b의 학습이 이루어집니다. 아래의 간단한 그림을 살펴 보면, Input Layer를 제외하고 모든 Hidden Layer와 Output Layer에는 활성 함수 activation이 존재하며, 이 Layer들을 각 값들 우측 상단에 대괄호로 표기합니.. 2022. 7. 13. 이전 1 ··· 7 8 9 10 11 다음 728x90