본문 바로가기
[백준][파이썬] 1463번 1로 만들기 다이나믹 프로그래밍의 기본 문제다. 핵심은 "한번만 연산" 한다는 것이다. 탐색이나 bf 로도 풀 수 있겠지만 문제 특성상 반복되는 부분이 많고 이러한 반복되는 부분을 중복 계산 하지 않기 위해서 다이나믹 프로그래밍을 한다. cnt리스트에 100000을 붙인 이유는 나누기3 나누기2 마이너스1 중에서 해당사항이 없는 요소는 min에 값이 포함시키지 않기 위해서이다. 너무 오랜만에 파이썬으로 풀어서 문법이 헷갈릴 정도였다. 시험도 끝났으니 앞으로 매일 1~2문제씩은 꾸준히 열심히 푸는것을 목표로 해야겠다. num = int(input()) cnt = [100000] + [0 for i in range(num)] for i in range(2,num+1): div3 = 0 div2 = 0 if i % 3 =.. 2020. 7. 19.
[Bus Classification] ⑤ 결과 및 향후 연구 방향 결과에 말했지만, 실제로 사용되기에는 부족한 점이 많다. 시즌2처럼 2학기에는 거리+버스 번호판 인식등을 활용하여 시각장애인들에게 도움이 될만한 정보들을 제공하는 것을 목표로 해보겠다. 2020. 7. 12.
[Bus Classification] ③ 실험 1 busornot (binary classification) Busornot 실험은 버스가 왔는지 안왔는지를 구별하는 실험이다. 거리에 대한 정보는 빠져있으며, 약 5000장 정도의 데이터를 test validation train으로 나눠서 진행했다. 95%정도의 결과물은 사람이 구별했을 때 더 좋은 성능을 기록할 수 있기에 좋은 수치는 아니라고 생각한다. 2020. 7. 12.
[Bus Classification] ② Background knowledge 소규모 데이터를 잘 활용하기 위해, dataa rgumentation, feature extraction, imagenet을 통해 사전 훈련된 신경망 등을 활용하여 성능을 높여보려고 한다. 2020. 7. 11.
[Bus Classification] ① 주제 선정하기 딥러닝을 처음 공부하면서 가장 많이 다뤘던 CNN을 활용한 프로젝트를 진행 해보고 싶었다. 이미지 분류에서 좋은 성능을 보인다는 CNN을 어떤 산업 혹은 어디에 적용시키면 좋을 지 많이 생각해 보았다. "이미지 분류" 는 앞을 볼 수 있는 평범한 우리 보다 앞을 볼 수 없는 시각장애인들에게 도움이 될 것이라고 생각했다. 시각 장애인들의 불편함을 위주로 검색한 결과 대중교통을 이용할 때, 특히 버스를 이용할 때 가장 큰 불편함을 느끼는 것을 파악할 수 있었디. 시각장애인이 버스 정류장에서 비슷한 버스들을 여러대가 동시에 오는 상황에서 , 어떤 버스를 어느 타이밍에 타야하는지 정확히 파악하는 것은 정말 어려운 일이였던 것이다. 이러한 버스 정류장에서 시각 장애인들이 겪는 불편함을 해소해보고자 CNN을 활용한.. 2020. 7. 11.
[케라스 실습] MNIST CNN신경망 다뤄보기 여기 내용까지 지난번에 했던 과제를 올리느라 png파일 입니다. 다음 부터는 코드를 쉽게 볼 수 있도록 정리하려고 노력해보겠습니다. 2020. 7. 4.
[케라스 실습] MNIST ANN 신경망 spyder 환경에서 파이썬으로 ANN 을 실행해보다가 keras로 ANN을 작성하니 천국이 따로 없었습니다. 코드의 길이가 10배는 줄어든것 같습니다. 2020. 7. 4.
[딥러닝 실습] MNIST backpropagation 최고 성능 찾아보기 (learning rate, epoch 편) 이번 과제는 정해진 2-layer에서 learning rate과 epoch를 어떻게 조절하면 가장 높은 결과가 나오는지 실험해보고 성능을 최대로 하는 epoch와 learning rate을 찾는 것 이였습니다. 사실 과제를 할 당시에는 노가다라고 생각했으며, 과연 도움이 될까를 생각하며 1주일 내내 컴퓨터를 돌려봤는데 과제를 수행하고 나서 달라진 점은 있는 것 같습니다. epoch와 learning rate을 어떻게 해야 적당할까?? 라는 질문에 "음.... 조금씩 키워보거나 작게 해보면 되겠지" 에서 "x만큼 정도 키워보거나 x만큼 변화를 줘보자" 로 비슷한거 같지만 조금이나마 어떤 값들로 움직여야 하는지 감을 잡을 수 있었습니다. 2020. 7. 4.
[딥러닝 실습] Gradient check? 수치미분 VS 오차연적파법 앞에서 두가지의 방법으로 기울기를 구했었습니다. 하나는 단순히 수치미분 방법을 사용해서, 그리고 오차역전파법(backpropagation)을 사용해서 였습니다. 수치미분으로는 매개변수(파라미터)가 많을 때, 너무 느려지는 단점을 극복 할 수 없습니다. 따라서 빠르게 계산해 줄 수 있는 오차역전파법(backpropagation)으로 해결을 해주었습니다. 두 가지 방식으로 구한 기울기가 동일한것을 확인하는 과제입니다. [밑바닥 부터 시작하는 딥러닝] 책의 코드를 참고하였습니다. 2020. 7. 4.