인공지능 8

프로그래머스 인공지능 데브코스 3기 4주차 Day1(1)

Flask란 무엇일까? Micro Web Framework 뭐, 이렇게 말하면 너무 어려우니까, 간단한 웹 사이트, 혹은 간단한 API 서버를 만드는 데에 특화 되어있는 Python Web Framework 입니다! 요즘에는 클라우드 컴퓨팅의 발달로 Docker, Kubernetes 와 접목해서 소규모 컨테이너 단위로 기능별 개발 후, 한 꺼번에 배포하는 방식, 혹은 배포 후 기능 추가 하는 식으로 자주 사용하고 있습니다! 또한, Micro에 대해서 조금 더 설명 하자면 아래와 같다. Micro : 가벼운 기능만 제공, 가볍게 배우고, 가볍게 사용 할 수 있으며, 확장성 또한 넓다! Flask의 장점? 가볍게 배울 수 있다! (Python, HTML + CSS + Javascript만 할 줄 알면 금방 ..

Python/Flask 2021.12.27

프로그래머스 인공지능 데브코스 3기 3주차 Day2

딥러닝을 위한 Norm 기계학습 자료에서 간혹 Norm과 관련된 수식이나 표기법을 나오면 당황스러울 때가 있습니다. 선형대수에 익숙하지 않다면 Norm이 이상하게 보일 수 있습니다. 본 문서에서는 인공신공망과 기계학습 일고리즘에서 사용되는 Norm을 이해하는 것을 목표로 최소한도의 Norm 개념을 정리합니다. 일반적으로 딥러닝에서 네트워크의 Overfitting(과적합) 문제를 해결하는 방법으로 다음과 같은 3가지 방법을 제시합니다. 더 많은 데이터를 사용할 것 Cross Validation Regularization 더 이상 학습 데이터를 추가할 수 없거나 학습 데이터를 늘려도 과적합 문제가 해결되지 않을 때에는 3번 Regularization을 사용해야 합니다. Regularization에서는 Los..

수학 2021.12.21

프로그래머스 인공지능 데브코스 3기 3주차 Day1

이것은 선형대수학 및 그 정의에 사용되는 기본 요소에 관한 것입니다. 또한 Python/Numpy의 중요한 기능을 소개합니다. 예를 통해 벡터 및 행렬을 만드고 사용하는 방법을 설명합니다. 기본 요소인 Scalar, Vector, Matrix, Tensor에 대해서 알아봅시다. 스칼라는 하나의 숫자를 의미합니다. 벡터는 숫자(스칼라)의 배열입니다. 행렬은 2차원의 배열입니다. 텐서는 2차원 이상의 배열입니다. 기호 표현은 Deep Learning Book에서 채택한대로 사용하겠습니다. 스칼라는 소문자의 이탈릭체를 사용합니다. (예시: n) 벡터는 소문자의 강조 이탈릭체를 사용합니다. (예시: x) 행렬은 대문자의 강조 이탈릭체를 사용합니다. (예시: X) 예제 1. 벡터 표현 np.array를 사용합니다..

수학 2021.12.21

프로그래머스 인공지능 데브코스 3기 1주차 Day3(1)

이진 트리의 한 종류로 이진 탐색 트리(Binary Search Tree)의 insert() 메서드를 구현한 시점에서 순회(Traversal)중 깊이 우선 순회(depth first traversal)을 확인해보겠다. 이진 트리의 깊이 우선 순회(depth first traversal)에는 세 종류가 있다. 1. 전위 순회(pre-order traversal) 2. 중위 순회(in-order traversal) 3. 후위 순회(post-order traversal) 루트 노드를 방문하는 순서에 따라서 나눠진다. 강의에서 다룬 형태와는 다른 이진 트리를 만들어 보았다. 그림에서 보이는 숫자는 해당 노드의 data를 의미하고 알파벳은 key를 의미한다. insert를 하는 과정에서 노드의 data를 기준으로..

CS/자료구조 2021.12.10

프로그래머스 인공지능 데브코스 3기 1주차 Day2(1)

1. 큐를 배열과 연결 리스트로 구현 했을 때, 각 경우의 시간 복잡도 비교 연산 배열 연결 리스트 size() O(1) O(1) isEmpty() O(1) O(1) enqueue() O(1) O(1) dequeue() O(n) O(1) peek() O(1) O(1) size() 가 O(1)인 이유는 추상적 자료구조상에서 'nodeCount'라는 변수를 가지고 있기 때문에 상수시간이다. 같은 이유로 isEmpty()도 상수시간이다. 배열로 구현한 큐에서 enqueue을 한다는 것은 끝에 삽입이 되는 것이고, 연결 리스트로 구현한 큐에서 enqueue는 tail의 next에 삽입이 되는 상황이다. 때문에 두 개의 구현 방식 모두 enqueue가 될 때에는 O(1) 즉, 상수 시간에 이뤄진다. 배열로 구현한..

CS/자료구조 2021.12.09

프로그래머스 인공지능 데브코스 3기 1주차 Day1(1)

1. del과 pop의 차이점은 무엇일까? del의 경우 제거된 요소가 반환되지 않는다. 또한, del은 슬라이싱으로 여러 값을 삭제할 수 있다. pop은 제거된 요소가 반환된다. 값을 제거하는 방법 중에서 remove라는 것도 있다. remove는 index로 접근하지 않고 첫 번째로 일치하는 값을 제거하는 방법이다. 만약 해당하는 값 또는 인덱스가 없을 경우 remove는 ValueError, del과 pop은 IndexError가 발생한다. n개의 요소들중에서 i 번째 요소를 삭제할 때 시간 복잡도는 아래와 같다. del O(n - i) pop O(n - i) remove O(n) 2. list의 index() 메서드의 복잡도 index()함수의 인자값에 해당하는지 비교하면서 선형적으로 순회하기 때..

CS/자료구조 2021.12.08

합격 수기 - 인공지능 데브코스 3기

서류합격 -> 코딩테스트 -> 면접 과정을 거쳐서 최종합격을 하였다. 개발자 커리어에 약간의 공백기가 있었던 만큼 취업은 아니지만... 교육 프로그램에 합격하고 싶은 마음이 정말로 간절하였다. 인공지능과 관련하여 많은 국비 교육들을 알아보고 또 알아보았다. 하지만 커리큘럼이나 후기들을 찾아볼수록 참여하고 싶은 교육 과정이 없었다. 그러던 중 발견한 '프로그래머스 인공지능 데브코스' 멘토님, 강사님, 주최측, 커리큘럼 등 마음에 쏘오오옥 들었다. 오랜만에 보는 코딩테스트와 면접으로 땀을 한바가지 흘렸지만 최대한 풀 수 있는 만큼 풀었고, 대답할 수 있는 만큼 대답하였다. 합격 통보를 받은건 일주일 전이지만 마음을 다잡으며 후기 글을 적어보았다. 앞으로 교육을 들으면서 학습한 것들을 정리하기 위한 목적으로 ..

기타 2021.11.30