728x90

전체 글 374

[인공지능] 8장. 시계열 데이터와 순환 신경망4

복습하기 위해 학부 수업 내용을 필기한 내용입니다. 이해를 제대로 하지 못하고 정리한 경우 틀린 내용이 있을 수 있습니다. 그러한 부분에 대해서는 알려주시면 정말 감사하겠습니다. Time-Series Data and Recurrent Neural Networks ▶8.5 자연어 처리 Natural Language Processing(NLP) - 인간이 구사하는 언어를 자동으로 처리하는 인공지능 분야 (언어 번역, 댓글 분석 → 흥행 추정, 고객 응대 챗본 등) 8.5.1 텍스트 데이터에 대한 이해 텍스트 데이터의 특성 - 시계열 데이터로서 시간 정보가 있고 샘플마다 길이가 다르다는 기본 성질 - 그 외의 독특한 특성 - 심한 잡음 - 형태소 분석 필요 - 구문론과 의미론 - 다양한 언어 특성 - 신경망에..

[백준/BOJ] gold4 - 2665번 미로만들기 (Python)

▶2665 - 미로만들기 ▶문제 n×n 바둑판 모양으로 총 n2개의 방이 있다. 일부분은 검은 방이고 나머지는 모두 흰 방이다. 검은 방은 사면이 벽으로 싸여 있어 들어갈 수 없다. 서로 붙어 있는 두 개의 흰 방 사이에는 문이 있어서 지나다닐 수 있다. 윗줄 맨 왼쪽 방은 시작방으로서 항상 흰 방이고, 아랫줄 맨 오른쪽 방은 끝방으로서 역시 흰 방이다. 시작방에서 출발하여 길을 찾아서 끝방으로 가는 것이 목적인데, 아래 그림의 경우에는 시작방에서 끝 방으로 갈 수가 없다. 부득이 검은 방 몇 개를 흰 방으로 바꾸어야 하는데 되도록 적은 수의 방의 색을 바꾸고 싶다. 아래 그림은 n=8인 경우의 한 예이다. 위 그림에서는 두 개의 검은 방(예를 들어 (4,4)의 방과 (7,8)의 방)을 흰 방으로 바꾸면..

BOJ Code/Gold 2023.05.22

[해외축구] UEFA 챔피언스리그 4강 1차전

이번에도 살짝 후기를 늦게 쓰고 있다. 챔피언스리그 4강 1차전이 이렇게 끝이 났고, 후기를 적어보고자 한다. ▶레알 마드리드 vs 맨체스터 시티 1차전 1대 1 (무승부) 디펜딩 챔피언 레알마드리드와 PL의 강팀 맨시티가 만난 4강이었다. 상대전적에서 2승 4패로 레알마드리드가 맨시티에 약한 편이다. 하지만 지난 챔스 4강에서 맨시티를 이기고 결승에 간 레알마드리드이다. 전반 초반에 맨시티가 점유율을 높이면서 흐름을 가져오고자 했다. 하지만 기대해 볼 만한 장면을 만들어내지 못했고, 비니시우스의 중거리 골로 오히려 끌려가기 시작했다. 레알의 뤼디거 선수는 홀란드 선수를 밀착 마크하면서 게임에서 지워버렸다. 그래도 후반전에 데브라이너 선수가 중거리 골을 기록하면서 동점을 만들었고, 경기는 1대 1 무승부..

[인공지능] 8장. 시계열 데이터와 순환 신경망3 - LSTM 편곡

복습하기 위해 학부 수업 내용을 필기한 내용입니다. 이해를 제대로 하지 못하고 정리한 경우 틀린 내용이 있을 수 있습니다. 그러한 부분에 대해서는 알려주시면 정말 감사하겠습니다. Time-Series Data and Recurrent Neural Networks ▶8.4 편곡하는 인공지능 인공지능의 창작 능력 - 딥드림으로 생성한 그림 - 마젠타 프로젝트의 음악 창작 활동 - 인공지능 소설 등 원시적인 수준에서 새로운 곡을 생성 - 앞 소설을 보고 다음 음표를 LSTM으로 예측하는 방식의 단순한 편곡을 한다. - 높은 수준은 생성 모델(generative model)을 사용해야 한다. 8.4.1 ABC 악보 표기 가장 간단한 음악 표기법인 ABC ABC 표기를 연주하는 코드이다. import music2..

[백준/BOJ] gold3 - 1865번 웜홀 (Python)

▶1865 - 웜홀 ▶문제 때는 2020년, 백준이는 월드나라의 한 국민이다. 월드나라에는 N개의 지점이 있고 N개의 지점 사이에는 M개의 도로와 W개의 웜홀이 있다. (단 도로는 방향이 없으며 웜홀은 방향이 있다.) 웜홀은 시작 위치에서 도착 위치로 가는 하나의 경로인데, 특이하게도 도착을 하게 되면 시작을 하였을 때보다 시간이 뒤로 가게 된다. 웜홀 내에서는 시계가 거꾸로 간다고 생각하여도 좋다. 시간 여행을 매우 좋아하는 백준이는 한 가지 궁금증에 빠졌다. 한 지점에서 출발을 하여서 시간여행을 하기 시작하여 다시 출발을 하였던 위치로 돌아왔을 때, 출발을 하였을 때보다 시간이 되돌아가 있는 경우가 있는지 없는지 궁금해졌다. 여러분은 백준이를 도와 이런 일이 가능한지 불가능한지 구하는 프로그램을 작성..

BOJ Code/Gold 2023.05.11

[백준/BOJ] gold5 - 9251번 LCS (Python)

▶9251 - LCS ▶문제 LCS(Longest Common Subsequence, 최장 공통부분 수열) 문제는 두 수열이 주어졌을 때, 모두의 부분 수열이 되는 수열 중 가장 긴 것을 찾는 문제이다. 예를 들어, ACAYKP와 CAPCAK의 LCS는 ACAK가 된다. ▶입력 첫째 줄과 둘째 줄에 두 문자열이 주어진다. 문자열은 알파벳 대문자로만 이루어져 있으며, 최대 1000글자로 이루어져 있다. ▶출력 첫째 줄에 입력으로 주어진 두 문자열의 LCS의 길이를 출력한다. ▶풀이 해당 문제는 dp를 이용해서 풀면 되는 문제이다. 각 문자 길이에 맞게 2차원 dp를 만들어서, 이중 for문으로 비교하면 된다. 골드 5라고 되어있지만 코드 길이나 난이도는 실버라 해도 무방한 문제이다. a = input() ..

BOJ Code/Gold 2023.05.11

[인공지능] 8장. 시계열 데이터와 순환 신경망2 - 비트코인 가격 예측

복습하기 위해 학부 수업 내용을 필기한 내용입니다. 이해를 제대로 하지 못하고 정리한 경우 틀린 내용이 있을 수 있습니다. 그러한 부분에 대해서는 알려주시면 정말 감사하겠습니다. Time-Series Data and Recurrent Neural Networks ▶8.3 LSTM으로 시계열 예측하기 시계열 데이터를 보고 미래를 예측하는 프로그래밍 - 단일 채널 - 종가 등 한 가지만 고려 - 다중 채널 - 종가, 시가, 고가, 저가를 모두 고려 아래 비트코인 가격 예측 코드는 단순히 교육용으로 작성된 것입니다. 혹시나 실제로 이를 이용하려는 목적으로 사용한다면, 큰일 날 수 있습니다. 8.3.1 단일 채널 비트코인 가격 예측 7일 치 가격을 보고 내일 가격을 예측하는 LSTM 프로그래밍 import nu..

[인공지능] 8장. 시계열 데이터와 순환 신경망1

복습하기 위해 학부 수업 내용을 필기한 내용입니다. 이해를 제대로 하지 못하고 정리한 경우 틀린 내용이 있을 수 있습니다. 그러한 부분에 대해서는 알려주시면 정말 감사하겠습니다. Time-Series Data and Recurrent Neural Networks ▶8.1 시계열 데이터의 의해 시계열 데이터 - 시간 축을 따라 신호가 변하는 동적 데이터이다. - 시간 정보가 들어 있는 데이터이다. - 들어오는 정보의 순서가 중요하다. - 샘플의 길이가 다를 수 있다. → 달라도 상관이 없다. 시계열 데이터 예제 - 문장 "세상에는 시계열 데이터가 참 많다" - 시간에 따라 변화가 없지만, 퉁쳐서 시계열 데이터라고 한다. - Google trend graph(우상단 그래프) - 심전도, 주식 시세, 음성 데..

[백준/BOJ] gold5 - 1068번 트리 (Python)

▶1068 - 트리 ▶문제 트리에서 리프 노드란, 자식의 개수가 0인 노드를 말한다. 트리가 주어졌을 때, 노드 하나를 지울 것이다. 그때, 남은 트리에서 리프 노드의 개수를 구하는 프로그램을 작성하시오. 노드를 지우면 그 노드와 노드의 모든 자손이 트리에서 제거된다. 예를 들어, 다음과 같은 트리가 있다고 하자. 현재 리프 노드의 개수는 3개이다. (초록색 색칠된 노드) 이때, 1번을 지우면, 다음과 같이 변한다. 검은색으로 색칠된 노드가 트리에서 제거된 노드이다. 이제 리프 노드의 개수는 1개이다. ▶입력 첫째 줄에 트리의 노드의 개수 N이 주어진다. N은 50보다 작거나 같은 자연수이다. 둘째 줄에는 0번 노드부터 N-1번 노드까지, 각 노드의 부모가 주어진다. 만약 부모가 없다면 (루트) -1이 ..

BOJ Code/Gold 2023.05.09

[백준/BOJ] gold3 - 1039번 교환 (Python)

▶1039 - 교환 ▶문제 0으로 시작하지 않는 정수 N이 주어진다. 이때, M을 정수 N의 자릿수라고 했을 때, 다음과 같은 연산을 K번 수행한다. 1 ≤ i < j ≤ M인 i와 j를 고른다. 그다음, i번 위치의 숫자와 j번 위치의 숫자를 바꾼다. 이때, 바꾼 수가 0으로 시작하면 안 된다. 위의 연산을 K번 했을 때, 나올 수 있는 수의 최댓값을 구하는 프로그램을 작성하시오. ▶입력 첫째 줄에 정수 N과 K가 주어진다. N은 1,000,000보다 작거나 같은 자연수이고, K는 10보다 작거나 같은 자연수이다. ▶출력 첫째 줄에 문제에 주어진 연산을 K번 했을 때, 만들 수 있는 가장 큰 수를 출력한다. 만약 연산을 K번 할 수 없으면 -1을 출력한다. ▶풀이 visit는 set으로 설정해 주었고,..

BOJ Code/Gold 2023.05.09

[인공지능] 7장. 지능 에이전트2

복습하기 위해 학부 수업 내용을 필기한 내용입니다. 이해를 제대로 하지 못하고 정리한 경우 틀린 내용이 있을 수 있습니다. 그러한 부분에 대해서는 알려주시면 정말 감사하겠습니다. ▶7.2 지능 에이전트 만들기 7.2.2 다국어 단어 공부 1 - tkinter를 이용한 대화형 인터페이스 tkinter 라이브러리를 활용해 사용자 인터페이스 부착 gtts 라이브러리를 활용해 단어 발음을 들려준다. # 다국어 단어 공부 : tkinter를 이용한 대화형 인터페이스 import numpy as np import tensorflow as tf import tkinter as tk from tkinter import filedialog from PIL import Image, ImageTk import winsoun..

[인공지능] 7장. 지능 에이전트1

복습하기 위해 학부 수업 내용을 필기한 내용입니다. 이해를 제대로 하지 못하고 정리한 경우 틀린 내용이 있을 수 있습니다. 그러한 부분에 대해서는 알려주시면 정말 감사하겠습니다. 사람의 지능 행위와 지능 에이전트 - 사람은 주위를 센싱 → 인식 → 적절한 행위를 통해 환경과 상효작용 - 인공지능 제품도 비슷한 과정을 수행해야 쓸모가 있다. ▶7.1 지능 에이전트 시나리오 일상생활에서 특정한 일을 대행해 주는 사람을 에이전트라 부른다. - ex) 여행 에이전트는 여행 일정을 짜고 교통편과 숙소를 예약해 주는 사람 컴퓨터에서 사람 일을 대신하는 소프트웨어를 에이전트라 부른다. 7.1.1 지능 에이전트란 지식 에이전트 - 로봇은 에이전트. 환경, 지식 베이스가 명확히 구분된다. - 로봇 몸과 소프트웨어가 에이..

[인공지능] 6장. 컨볼루션 신경망과 컴퓨터 비전4

복습하기 위해 학부 수업 내용을 필기한 내용입니다. 이해를 제대로 하지 못하고 정리한 경우 틀린 내용이 있을 수 있습니다. 그러한 부분에 대해서는 알려주시면 정말 감사하겠습니다. ▶6.8 물체 검출 분류(classification), 검출(detection), 분할(segmentaion) 문제 물체 검출을 위한 딥러닝 모델 R-CNN Fast R-CNN Faster R-CNN YOLO (you Only look Once) 6.8.1 욜로를 이용한 물체 검출 입력 영상을 S*S 격자(grid)로 나눈 S^2개의 격자 방 각각에 대해 B개의 바운딩 박스를 생성한다. 바운딩 박스는 (x, y, w, h, o)의 5개의 값으로 표현한다. (o는 물체일 가능성) C=80개의 물체 부류 실제 구현에서는 S=7, B..

[Django] 모델(Model), 커스텀 모델

▶모델(Model) 모델링 저장하고자 하는 데이터를 모델로 정의하는 것이다. 게시물 같은 경우에는 사진, 내용, 작성자, 작성일 등이 하나로 모여 게시물이 된다. 이를 모델링이라고 한다. 장고 모델 뷰(view) 함수에서 데이터 베이스에 어떤 작업을 요청할 때는 SQL 구문이 필요하다. 하지만 장고에는 내장 ORM이 있어서, SQL을 직접 작성하지 않아도 데이터베이스로 접근이 가능하다. ▶모델 정의 인스타그램처럼 게시물을 작성할 수 있게 모델을 구현해 보겠다. 기본적으로 프로젝트를 생성하듯이 프로젝트를 하나 생성해 준다. 그다음에 원하는 앱을 생성해 주면 된다. 게시물을 만들 예정이라서 posts로 만들어주었다. (settings.py에 등록해주어야 한다.) django-admin startapp pos..

Back-End 2023.05.07

[백준/BOJ] platinum5 - 3197번 백조의 호수 (Python)

▶3197 - 백조의 호수 ▶문제 두 마리의 백조가 호수에서 살고 있었다. 그렇지만 두 마리는 호수를 덮고 있는 빙판으로 만나지 못한다. 호수는 행이 R개, 열이 C개인 직사각형 모양이다. 어떤 칸은 얼음으로 덮여있다. 호수는 차례로 녹는데, 매일 물 공간과 접촉한 모든 빙판 공간은 녹는다. 두 개의 공간이 접촉하려면 가로나 세로로 닿아 있는 것만 (대각선은 고려하지 않는다) 생각한다. 아래에는 세 가지 예가 있다. ...XXXXXX..XX.XXX ....XXXX.......XX .....XX.......... ....XXXXXXXXX.XXX .....XXXX..X..... ......X.......... ...XXXXXXXXXXXX.. ....XXX..XXXX.... .....X.....X..... ...

BOJ Code/Platinum 2023.05.07

[Django] MTV 디자인 패턴 (Model, Template, View)

Spring을 공부할 때는 MVC(Model - View - Controller) 디자인 패턴을 사용한다고 배웠다. 하지만 장고는 이런 개념을 MTV 패턴이라고 부른다. ▶MTV 디자인 패턴 Model 데이터베이스에 저장되는 데이터를 의미한다. 데이터 관리, 데이터베이스와 연결 및 실행이 주된 역할이다. 장고는 SQL을 몰라도 DB 작업을 가능하게 해주는 ORM을 제공한다. ORM (Object-Relational Mapping) SQL이라는 언어 대신 데이터베이스를 쉽게 연결해 주는 방법이다. models.py 파일에 class를 만들고 수정하면서 작업한다. Template 사용자에게 보이는 데이터를 출력하는 역할을 한다. html과 같은 페이지이다. urls.py라는 url 패턴에 따라 특정 함수를 ..

Back-End 2023.05.06

[백준/BOJ] gold2 - 1525번 퍼즐 (Python)

▶1525 - 퍼즐 ▶문제 3×3 표에 다음과 같이 수가 채워져 있다. 오른쪽 아래 가장 끝 칸은 비어 있는 칸이다. 어떤 수와 인접해 있는 네 개의 칸 중에 하나가 비어 있으면, 수를 그 칸으로 이동시킬 수가 있다. 물론 표 바깥으로 나가는 경우는 불가능하다. 우리의 목표는 초기 상태가 주어졌을 때, 최소의 이동으로 위와 같은 정리된 상태를 만드는 것이다. 다음의 예를 보자. 가장 윗 상태에서 세 번의 이동을 통해 정리된 상태를 만들 수 있다. 이와 같이 최소 이동 횟수를 구하는 프로그램을 작성하시오. ▶입력 세 줄에 걸쳐서 표에 채워져 있는 아홉 개의 수가 주어진다. 한 줄에 세 개의 수가 주어지며, 빈칸은 0으로 나타낸다. ▶출력 첫째 줄에 최소의 이동 횟수를 출력한다. 이동이 불가능한 경우 -1을..

BOJ Code/Gold 2023.05.06

[백준/BOJ] gold5 - 14395번 4연산 (Python)

▶14395 - 4연산 ▶문제 정수 s가 주어진다. 정수 s의 값을 t로 바꾸는 최소 연산 횟수를 구하는 프로그램을 작성하시오. 사용할 수 있는 연산은 아래와 같다. s = s + s; (출력: +) s = s - s; (출력: -) s = s * s; (출력: *) s = s / s; (출력: /) (s가 0이 아닐 때만 사용 가능) ▶입력 첫째 줄에 s와 t가 주어진다. (1 ≤ s, t ≤ 10^9) ▶출력 첫째 줄에 정수 s를 t로 바꾸는 방법을 출력한다. s와 t가 같은 경우에는 0을, 바꿀 수 없는 경우에는 -1을 출력한다. 가능한 방법이 여러 가지라면, 사전 순으로 앞서는 것을 출력한다. 연산의 아스키코드 순서는 '*', '+', '-', '/'이다. ▶풀이 빼기는 하면 0이 되기 때문에, ..

BOJ Code/Gold 2023.05.06

[백준/BOJ] gold3 - 2638번 치즈 (Python)

▶2638 - 치즈 ▶문제 N×M의 모눈종이 위에 아주 얇은 치즈가 과 같이 표시되어 있다. 단, N 은 세로 격자의 수이고, M 은 가로 격자의 수이다. 이 치즈는 냉동 보관을 해야만 하는데 실내온도에 내어놓으면 공기와 접촉하여 천천히 녹는다. 그런데 이러한 모눈종이 모양의 치즈에서 각 치즈 격자(작 은 정사각형 모양)의 4 변 중에서 적어도 2 변 이상이 실내온도의 공기와 접촉한 것은 정확히 한 시간 만에 녹아 없어져 버린다. 따라서 아래 모양과 같은 치즈(회색으로 표시된 부분)라면 C로 표시된 모든 치즈 격자는 한 시간 후에 사라진다. 와 같이 치즈 내부에 있는 공간은 치즈 외부 공기와 접촉하지 않는 것으로 가정한다. 그러므로 이 공간에 접촉한 치즈 격자는 녹지 않고 C로 표시된 치즈 격자만 사라진..

BOJ Code/Gold 2023.05.04

[백준/BOJ] silver1 - 1743번 음식물 피하기 (Python)

▶1743 - 음식물 피하기 ▶문제 코레스코 콘도미니엄 8층은 학생들이 3끼의 식사를 해결하는 공간이다. 그러나 몇몇 비양심적인 학생들의 만행으로 음식물이 통로 중간중간에 떨어져 있다. 이러한 음식물들은 근처에 있는 것끼리 뭉치게 돼서 큰 음식물 쓰레기가 된다. 이 문제를 출제한 선생님은 개인적으로 이러한 음식물을 실내화에 묻히는 것을 정말 진정으로 싫어한다. 참고로 우리가 구해야 할 답은 이 문제를 낸 조교를 맞추는 것이 아니다. 통로에 떨어진 음식물을 피해 가기란 쉬운 일이 아니다. 따라서 선생님은 떨어진 음식물 중에 제일 큰 음식물만은 피해 가려고 한다. 선생님을 도와 제일 큰 음식물의 크기를 구해서 “10ra"를 외치지 않게 도와주자. ▶입력 첫째 줄에 통로의 세로 길이 N(1 ≤ N ≤ 100)..

728x90