일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- PYTHON
- BFS
- 리눅스
- 네트워크
- 그래프
- 순열
- 프로그래머스
- CSS
- dp
- AI
- 코딩
- 구글 킥스타트
- 알고리즘
- DFS
- 브루트포스
- nlp
- 동적프로그래밍
- 파이썬
- google coding competition
- kick start
- OS
- 딥러닝
- linux
- 킥스타트
- 동적 프로그래밍
- 프로그래밍
- 백준
- 운영체제
- 코딩 테스트
- 코딩테스트
- Today
- Total
목록AI (15)
오뚝이개발자
아나콘다(Anaconda)는 AI나 데이터 과학 패키지를 많이 포함하고 있다. 아나콘다를 통해 이들을 일괄적으로 편리하게 설치할 수 있다. 이 글에선 리눅스에 아나콘다를 설치하는 방법을 소개한다. Step #1 : 아나콘다 사이트에 접속해 installer 다운로드 https://www.anaconda.com/products/distribution Anaconda | Anaconda Distribution Anaconda's open-source Distribution is the easiest way to perform Python/R data science and machine learning on a single machine. www.anaconda.com 위 공식 사이트에 접속해서 자신의 OS에..
아나콘다(Anaconda)는 AI나 데이터 과학 패키지를 많이 포함하고 있다. 아나콘다를 통해 이들을 일괄적으로 편리하게 설치할 수 있다. 이 글에선 리눅스에 아나콘다를 설치하는 방법을 소개한다. Step #1 : 아나콘다 사이트에 접속해 installer 다운로드 https://www.anaconda.com/products/distribution Anaconda | Anaconda Distribution Anaconda's open-source Distribution is the easiest way to perform Python/R data science and machine learning on a single machine. www.anaconda.com 위 공식 사이트에 접속해서 자신의 OS에..
우리가 일반적으로 모델을 설계하고 평가할 때 overfitting이 발생하면 좋지 않은 것으로 인식하곤 한다. 하지만 이러한 overfitting이 마냥 나쁘기만 할까? overfitting이 가져다 줄 수 있는 이점은 없는걸까? 사실 답은 NO이다. 우리가 overfitting으로부터 얻을 수 있는 insight도 있다. 어떠한 이점들이 있을까? 우리가 어떠한 문제를 해결해보고자 모델을 설계했다고 가정해보자. 그런데 안타깝게도 학습 결과 해당 모델이 과적합을 일으킨다. 하지만 좌절할 필요는 없다. 일단 오버피팅이 일어났다는 것은 말그대로 '학습' 자체는 잘 이루어졌다는 점을 생각해볼 수 있다. 여기에 착안한다면 '처음으로' 설계해 '처음으로' 학습을 한 모델이 오버피팅을 발생시켰다면 우린 아래와 같은 ..
딥러닝 층을 구성할 때 행렬 계산이 어떻게 이루어지는지를 이해하는 것이 중요하다. 그래야 행과 열의 수를 잘 맞추어 계산을 할 수 있기 때문이다. 이 글에선 Keras를 사용한 코드에서 실제 행렬 연산이 어떻게 이루어지는지 그림으로 도식화하여 설명하고자 한다. 아래와 같은 간단한 딥러닝 모델을 구성하는 코드가 있다고 해보자. network.add(layers.Dense(512, activation='relu', input_shape=(28*28,))) network.add(layers.Dense(10, activation='softmax')) network.fit(train_images, train_labels, epochs=5, batch_size=128) keras의 Dense() 메서드 안의 수는 ..
케라스 창시자에게 배우는 책의 실습 코드를 작성하고 깃허브에 올려두었다. 바로 아래 책이다. 책의 내용이 아주 좋은 것 같다. 설명이 충분해서 예제 코드들을 이해하고 따라서 실습해보기에 무리가 없다. 나는 해당 책의 코드 실습과 더불어 모델의 정확도를 높이기 위한 다양한 시도들을 개인적으로 해보았다. 간단하게는 층이나 은닉 유닛의 갯수를 조절하는 것에서부터 복잡하게는 optimizer나 loss function을 바꾸고, early stopping과 같은 regularization 기법을 사용하는 것까지 말이다. 깃허브 레포지토리 링크를 여기에 올려두니 책을 공부하며 함께 참고하면 좋을 듯하다. 아래 레포지토리 링크로 깃허브에 접속하면 서로 다른 데이터셋을 사용한 실습 코드들을 볼 수 있다. https:..
Sub-tasks of NLG Machine Translation Summarization Dialogue : task-oriented system, open-domain system(social dialogue) Creative writing : storytelling, poetry-generation Freeform Question Answering Image captioning Language Model(LM) Language Modeling : 특정 time-step까지의 words sequence가 주어졌을 때, 해당 time-step 이후의 word를 predict하는 것 Language Model : 확률 분포 P(yt|y1,...,yt-1)를 producing하는 system Conditi..
본 글은 밑바닥부터 시작하는 딥러닝 포스팅에 이어 핸즈온 머신러닝 2판(오렐리앙 제롱 지음) 책을 공부한 것을 요약한 것으로 밑바닥 딥러닝 책에 나오지 않는 개념들 위주로 정리한다. 나오지 않는 개념이나 기본적인 개념들을 밑바닥부터 시작하는 딥러닝에 포스팅하였으니 먼저 보고 오기를 추천한다. 이진 분류기 훈련 문제가 복잡할 때는 단순화해서 검증을 해보는 것이 유용하다. 예를 들어, MNIST 손글씨 분류 문제에서는 0~9까지 10개의 클래스에 대해 한 번에 검사하기 보단 '5-감지기'와 '5아님-감지기' 두 개의 클래스를 구분할 수 있는 이진 분류기(binary classifier)를 구현해 테스트 해보는 것이다. 성능측정 1. 교차 검증을 사용한 정확도 측정(k-fold cross validation)..
본 글은 밑바닥부터 시작하는 딥러닝 포스팅에 이어 핸즈온 머신러닝 2판(오렐리앙 제롱 지음) 책을 공부한 것을 요약한 것으로 밑바닥 딥러닝 책에 나오지 않는 개념들 위주로 정리한다. 나오지 않는 개념이나 기본적인 개념들을 밑바닥부터 시작하는 딥러닝에 포스팅하였으니 먼저 보고 오기를 추천한다. 머신러닝 시스템의 종류 사람의 감독 하에 훈련하는 것인지 아닌지(지도, 비지도, 준지도, 강화 학습) 실시간으로 점진적인 학습을 하는지 아닌지(온라인, 배치 학습) 어떻게 일반화 되는가 : 단순히 알고있는 데이터 포인트와 새 데이터 포인트를 비교하는 것인지 아니면 과학자들이 하는 것처럼 훈련 데이터셋에서 패턴을 발견하여 예측 모델을 만드는지(사례기반, 모델기반 학습) 지도학습(supervised learning) -..