728x90 반응형 코딩 리스트형 [8] Deep Learning - Perceptron [8] Deep Learning - Perceptron Perceptron Perceptron은 가장 간단한 인공 신경망의 일종으로 TLU를 기반으로 구성된다. TLU는 위의 그림과 같이 입력에 대해 가중치를 적용한 후 , 이를 모두 더해 계단 함수 ( step function )에 적용한다. 사용되는 계단 함수의 대표적인 예시는 Heavyside와 sign function 이 있다. Heavyside step function - h(z) z >= 0 일 때 , 1 z 0 일 떄 , 1 기본적인 Perceptron은 층이 하나뿐이고 이는 TLU로 구성된다. 이 TLU는 모든 입력에 대해 .. 더보기 [SW Expert Academy] 12369. 일련번호 붙이기 SW Expert Academy 12369 문제 링크 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 사용할 알파벳이 주어지고 숫자가 주어질 때 , 사전 순으로 해당 숫자 번째의 문자열을 출력하면 되는 문제다. 각 자릿수에 들어갈 알파벳을 이전까지의 번호를 보고 정해 최종적으로 합쳐 출력한다. 예를 들어 , AB 12의 경우 12는 < 2 + 4 + 8 이므로 3자리 단어다. 3자리 단어 이전 까지의 경우는 6 이므로 12 - 6 = 6 즉 3자리 단어만 놓고 보았을 때 6번째 단어다. 6번째 단어의 첫번째 자리는 (6-1) // 4 ( 2자리 경우의 수 ) = 1 이므로 알파벳 순서 배열에서 1번인 B가.. 더보기 [SW Expert Academy] 11736. 평범한 숫자 SW Expert Academy 11736 문제 링크 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 숫자 배열에서 좌우를 비교했을 때 , 가장 큰 값이 아니거나 작은 값이 아니면 그 수를 평범한 숫자라 한다. 배열에서 이러한 평범한 숫자가 얼마나 있는지 찾는 문제이다. 간단하게 배열 인덱스를 옮겨 가면서 좌우를 비교하고 답을 내면 된다. n = int(input()) for i in range(n): k = int(input()) s = list(map(int, input().split(" "))) ans = 0 for t in range(1,len(s)-1): if s[t] != max(s[t],s[t.. 더보기 [SW Expert Academy] 12221. 구구단2 SW Expert Academy 12221 문제 링크 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 두 수를 입력받아 곱할 때 , 두 수중 하나라도 10을 넘으면 -1을 출력하는 문제이다. 문제 자체는 매우 쉬운데 풀고 나서 난이도를 보니 D3이라 놀랐다. 난이도 체계를 아직 이해 못 한 건지 , 헷갈린다. 백준으로 치면 브론즈 문제 일텐데 난이도를 좀 내려야 하지 않나 싶다. n = int(input()) for i in range(n): a,b = map(int,input().split(" ")) if a > 9 or b > 9: print("#%d -1" %(i+1)) else: print("#%d.. 더보기 [SW Expert Academy] 2005. 파스칼의 삼각형 SW Expert Academy 2005 문제 링크 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 단순하게 N=1 ~ 10 인 파스칼의 삼각형을 출력하는 문제이다. 조합으로 풀어도 되고 , 파스칼의 삼각형을 직접 만들어 풀어도 되는 문제이다. 이번 풀이의 경우 파스칼의 삼각형 2차원 배열을 만들고 N=10 인 경우의 삼각형을 만든 후 , 원하는 범위까지 출력하도록 하였다. 관련된 백준 문제로는 2407번 조합 문제가 있다. 알고리즘 - Python / 백준 - 2407번 : 조합 (tistory.com) 알고리즘 - Python / 백준 - 2407번 : 조합 2407번: 조합 (acmicpc.net) .. 더보기 [SW Expert Academy] 1859. 백만 장자 프로젝트 SW Expert Academy 1859 문제 링크 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 전체 경우의 매매가를 안다고 가정하였을 때 , 싸게 사서 비싸게 팔아 얻을 수 있는 최대 이익을 구하는 문제이다. 단순하게 가격을 뒤에서부터 읽으면서 max 값을 저장해놓고 , max값보다 싸면 그 max - 가격만큼 이익을 얻고 , max값보다 크다면 max값을 업데이트하면 된다. 코딩 테스트 스타일의 문제다 보니 10개의 테스트 케이스에 대해 30초를 제공한다. 단순히 따져보아도 1개의 테스트 케이스에 3초 걸리면 되니 , 시간은 여유 있는 편이다. 최대 1,000,000개의 입력이 주어지길래 당연히 s.. 더보기 [SW Expert Academy] 2072. 홀수만 더하기 SW Expert Academy 2072 문제 링크 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 풀이 테스트 케이스 수를 입력받고 단순하게 10개의 숫자중 홀수만 더해 출력하는 문제이다. 단순하게 입력 받고 , 조건에따라 출력하면 되는 문제다. n=int(input()) for k in range(n): s = list(map(int , input().split(" "))) ans = 0 for i in s: if i%2 == 1: ans += i print("#%d %d" %(k+1,ans)) 더보기 [7] Deep Learning - CNN [7] Deep Learning - CNN Neural Network Neural Network는 지도 학습으로 괜찮았지만, 90년대 이후 한계에 도달했다. 실제로 복잡한 문제를 해결하고자 할 때, 잘 해결하지 못했기 때문이다. Neural Network의 universal approximation theorem은 뉴럴의 개수가 많고 layer의 개수가 많으면 어떠한 function이던 approximation이 가능하다는 이론이다. 이론에 따르면 아무리 시간이 오래 걸리더라도 문제를 풀 수는 있어야 한다. 그런데 그렇지 않았다. weight와 bias가 제대로 학습되지 않거나 발산했기 때문에 deep 한 layer와 많은 수의 뉴럴로도 풀지 못하는 문제가 존재했다. 이러한 이유에 대해서 원인을 찾아보니.. 더보기 이전 1 ··· 6 7 8 9 10 11 12 ··· 17 다음 반응형