728x90

인공지능 데브코스 6기 10

[RL] MDP, Value Iteration, Policy Evaluation, Maximum Entropy Formulation

📌프로그래머스 인공지능 데브코스 6기 강화학습 스터디 Foundations of Deep RL Series by Pieter Abbeel 1강을 정리한 글입니다. 목차 1. Markov Decision Processes(MDPs) 2. Exact Solution Methods 2.1 Value Iteration 2.2 Policy Evaluation 3. Maximum Entropy Formulation L1: MDPs and Exact Solution Methods 강화학습은 2013년 Atari 게임부터 시작해 알파고, 로봇 조종, 알파스타 등 발전해왔다. 1. Markov Decision Processes(MDPs) 에이전트는 action을 하고, 그로 인해 environment는 변하고, 그 때마..

[인공지능 데브코스 TIL] 0921 Deep Learning: 신경망의 기초 - 기계학습

📌프로그래머스 인공지능 데브코스 5주차 강의 기계학습 기계학습이란? 프로그램(기계)이 특정 작업을 수행하며 그 성능을 평가했을 때 경험을 따라 성능이 개선된다면 이 프로그램은 학습을 하는 것이다. 기계학습의 훈련 주어진 문제인 예측을 가장 정확하게 할 수 있는 최적의 매개변수를 찾는 작업 훈련이 끝나면 추론(inference)을 통해 새로운 특징에 대응되는 값을 예측하고자 한다. 기계학습의 궁극적인 목표 훈련하지 않은 데이터에 대한 일반화 기계학습의 필수 요소 데이터의 존재하고, 데이터의 규칙이 존재하며, 그 규칙이 수학적으로 설명 불가능해야한다. (수학적으로 설명이 가능하다면 모델링을 하면 된다.) 특징 공간 데이터는 특징 공간 상에 존재한다. 우리는 그 공간에 있는 데이터의 위치의 규칙을 찾고자 한다..

[인공지능 데브코스 TIL] 0831 웹 스크래핑 기초 (4): Seaborn, WordCloud

프로그래머스 인공지능 데브코스 2주차 강의를 정리한 글입니다. Seaborn 데이터 시각화 라이브러리 matplotlib 기반 # seaborn 불러오기 import seaborn as sns sns.lineplot(x,y): 꺾은 선 그래프 sns.barplot(x,y): 막대 그래프 for categorical data matplotlib의 속성을 변경해서 그래프 만지기 # matplotlib 불러오기 import matplotlib.pyplot as plt plt.title(): 제목 추가 plt.xlabel(), plt.ylabel(): 축에 설명 추가 plt.xlim(), plt.ylim(): 축의 범위 지정 plt.figure(figsize = (x, y)): 그래프 크기 지정 실습1: lin..

[인공지능 데브코스 TIL] 0830 웹 스크래핑 기초 (3): Selenium

프로그래머스 인공지능 데브코스 2주차 강의를 정리한 글입니다. 동적 웹 페이지 정적 웹 사이트: HTML 내용이 고정 동적 웹 사이트: HTML 내용이 변함 ex) 피드를 새로고침할 때마다 새로운 글이 올라오는 것 응답이 된 후 렌더링이 될 때 까지의 지연시간 존재 → request 이후 바로 parsing을 하면 안될 수 있다 -데이터 처리가 완전히 되지 않은 상태에서 request하면 불완전한 데이터 받을 수 있다. → 임의로 시간을 지연한 후 데이터 처리가 끝난 후 정보를 가져오는 비동기처리가 필요하다. → 키보드 입력, 마우스 클릭 등을 할 수 있도록 웹 브라우저를 파이썬으로 조작하는 Selenium활용! Selenium Selenum: 웹 브라우저를 조작하는 라이브러리 WebDriver: 웹 브..

[인공지능 데브코스 TIL] 0829 웹 스크래핑 기초 (2): BeautifulSoup4

프로그래머스 인공지능 데브코스 2주차 강의를 정리한 글입니다. DOM (Document Object Model) 웹 문서 (html)를 로드한 후, 파싱을 진행한 문서를 DOM이라고 한다. 각 노드를 객체로 생각하면 문서를 더욱 편리하게 관리할 수 있다 브라우저가 HTML을 DOM으로 바꾸는 이유 원하는 요소를 동적으로 변경해줄 수 있다. 원하는 요소를 쉽게 찾을 수 있다. → 우리는 파이썬으로 html을 파싱해줄 수 있는 HTML parser가 필요하다! Beautiful Soup HTML 코드를 분석해주는 HTML parser import requests res = requests.get("http://www.example.com") # Beautiful Soup 불러오기 from bs4 import..

[인공지능 데브코스 TIL] 0828 웹 스크래핑 기초 (1): HTTP 요청 주고받기

프로그래머스 인공지능 데브코스 2주차 강의를 정리한 글입니다. HTTP HTTP(HyperText Transfer Protocol): 웹 상에서 정보를 주고받기 위한 약속 HTTP 요청(request): 클라이언트가 서버에게 정보 요청 HTTP 응답(response): 서버가 클라이언트에게 응답 HTML HTML(HyperText Markup Language) 태그로 감싼 요소의 집합으로 이루어져 있다. → 우리가 원하는 내용이 HTML 문서에 어디에 있는지, 어떤 태그로 묶여있는지를 관찰해야한다. Head: 문서에 대한 정보(제목, 언어 등) Body: 문서의 내용(글, 이미지, 동영상 등) 웹 스크래핑과 웹 크롤링 웹 스크래핑: 특정한 목적으로 특정한 웹 페이지들로부터 원하는 정보를 추출하는 것 ex..

파이썬을 무기로, 코딩테스트 광탈을 면하자! 정리 (2)

프로그래머스의 파이썬을 무기로, 코딩테스트 광탈을 면하자!강의 5-7강을 정리한 글입니다. 5. 힙(Heap) 대표 문제 풀이: 더 맵게 문제: 더 맵게 최소, 최대 원소를 빠르게 꺼낼 수 있는 자료구조 → 힙! 복잡도: O(nlogn) import heapq def solution(scoville, K): answer = 0 heapq.heapify(scoville) while True: min1 = heapq.heappop(scoville) if min1 >= K: break elif len(scoville) == 0: answer = -1 break min2 = heapq.heappop(scoville) new_scoville = min1 + min2 * 2 heapq.heappush(scovill..

파이썬을 무기로, 코딩테스트 광탈을 면하자! 정리 (1)

프로그래머스의 파이썬을 무기로, 코딩테스트 광탈을 면하자! 강의 1-4강을 정리한 글입니다. 1. 해시(Hash) 대표 문제 풀이: 완주하지 못한 선수 문제: 완주하지 못한 선수 동명이인이 나올 수 있다 → 이름이 몇 번 나왔는지 알 수 있는 자료구조가 필요 문자열로 접근할 수 있는 자료구조: 해시! 파이썬에서 해시는 딕셔너리로 구현됨 풀이1: 해시 해시로 이름과 등장 횟수를 세고, 다 돌은 후 value가 0이 아닌 key를 리턴한다. 복잡도: O(n) def solution(participant, completion): d = {} for x in participant: d[x] = d.get(x,0) + 1 #dictionary에 x가 있으면 그 값을 리턴하고, 없으면 0 리턴하고 1 더함 for ..

어서와! 자료구조와 알고리즘은 처음이지? 정리 (2)

프로그래머스의 어서와! 자료구조와 알고리즘은 처음이지? 11-23강을 정리한 글입니다. 11-13강: 스택, 수식의 후위 표기법 스택: 원소를 한 쪽에서 밀어넣고, 같은 쪽에서 뽑아야 하는 자료구조 infix → postfix 변환하기 14-16강: 큐, 환형 큐, 우선순위 큐 큐: 원소를 한 쪽에서 밀어 넣고, 다른 쪽에서 뽑는 자료구조 환형 큐 기본 구현 class CircularQueue: def __init(self,n): self.maxCount = n self.data = [None]*n self.count = 0 self.front = -1 self.rear = -1 우선순위 큐: 우선순위에 따라 원소들이 꺼내지는 큐 17-19강: 트리, DFS, BFS 트리: node와 edge를 통해 데..

어서와! 자료구조와 알고리즘은 처음이지? 정리 (1)

프로그래머스의 어서와! 자료구조와 알고리즘은 처음이지? 2-10강을 정리한 글입니다. 2강 선형배열 리스트의 연산: append , pop , del , index , insert 3강 정렬, 탐색 정렬 sorted(), .sort() sorted는 함수, sort는 리스트의 메서드 reverse = True로 정렬 순서 뒤집기 lambda 함수를 통한 정렬: key = lambda x: len(x) 탐색 선형탐색 이진탐색 탐색하려는 리스트가 이미 정렬되어 있는 경우에만 4-5강 재귀 알고리즘 종결 조건을 잘 설정해야 한다! 활용: 이진탐색, 팩토리얼, 피보나치 계속 함수를 호출하기 때문에 효율성이 떨어진다. 6강 알고리즘의 복잡도 시간복잡도, 공간복잡도 7-9강 연결리스트(Linked List) 추상적..

728x90