본문 바로가기

분류 전체보기54

자료구조 - 큐(QUEUE) 1. 큐 구조 줄을 서는 행위와 유사하다. 가장 먼저 넣은 데이터를 가장 먼저 꺼낼 수 있는 구조이다. 음식점에서 가장 먼저 줄을 선 사람이 제일 먼저 음식점에 입장하는 것과 동일 FIFO(First-In, First-Out) 또는 LILO(Last-In, Last-Out) 방식으로 스택과 꺼내는 순서가 반대가 된다. 2. 용어 Enqueue : 큐에 데이터를 넣는 기능 Dequeue : 큐에서 데이터를 꺼내는 기능 3. 파이썬 Queue 라이브러리 활용해서 큐 자료 구조 사용하기 queue 라이브러리에는 다양한 큐 구조로 Queue(), LifoQueue(), PriorityQueue() 제공 프로그램을 작성할 때 프로그램에 따라 적합한 자료 구조를 사용 Queue(): 가장 일반적인 큐 자료 구조 L.. 2021. 10. 30.
자료구조 - 배열(Array) 배열(Array) 데이터를 나열하고, 각 데이터를 인덱스에 대응하도록 구성한 데이터 구조 파이썬에서는 리스트 타입이 배열을 제공하고 있다. 배열이 왜 필요할까? 같은 종류의 데이터를 효율적으로 관리하기 위해 사용 같은 종류의 데이터를 순차적으로 저장 장점 빠른 접근이 가능하다. 단점 추가/ 삭제가 쉽지 않다. 미리 최대 길이를 지정해야한다.. => 가변적인 데이터에는 적합하지 않다. 파이썬 리스트를 활용한 배열 1차원 배열 arr=[1,2,3,4,5] print(arr) >>> [1,2,3,4,5] 2차원 배열 arr2=[[1,2,3],[4,5,6]] print(arr2) >>> [[1,2,3],[4,5,6]] print(arr2[0]) # 1헹의 전체 출력 >>> [1,2,3] print(arr2[0].. 2021. 10. 29.
패러다임의 전환, 데이터 자본주의 데이터가 일을 잘하기 위해 필요한 요소 → 살아가기 위해 필요한 요소로 변했다. ▶ 80~90년대 비싼게 좋은 거다 = 화폐, 가격이 가치를 의미했다. 모든 정보를 축약하고 거래가 이루어졌었다. ▶ 현재 여러 맥락을 통해 거래가 이루어지고 있다. 예) 계란이 어떤 계란인가? 유정란인가, 동물복지 등 더 많은 정보를 필요로 하는 시대 >>> 데이터의 변수들로 가치 측정을 하는 것이 중요해졌다. MZ세대가 주도하는 시장 M세대 = 가성비를 따짐 Z세대 = 가심비 (내가 얼마나 만족하느냐가 강해졌다) → 데이터를 가지고 면밀히 취향을 분석 → 데이터가 더 중요해짐 산업화 시대 흐름으로 보자면 물건의 존재만으로도 거래 → 성능 (가성비) , 경젱력 요소 : 효율, 규모의 경제, 네트워크 효과 → 피드백(데이터 .. 2021. 10. 29.
핸즈온 머신러닝(Hands-On Machine Learning) 18장 - 강화학습(1) 18. 강화학습 (Reinforcement Learning) 18.1 보상을 최적화하기 위한 학습 강화학습에서 소프트웨어 에이전트(agent)는 관측(observation)을 하고 주어진 환경(environment)에서 행동(action)한다. 그리고 그 결과로 보상(reward)을 받는다. 에이전트의 목적은 보상의 장기간(long-term) 기대치를 최대로 만드는 행동을 학습하는 것이다. 즉, 에이전트는 환경 안에서 행동하고 시행착오를 통해 보상이 최대가 되도록 학습한다. 이러한 강화학습의 정의는 다음과 같이 다양한 문제에 적용할 수 있다. a : 보행 로봇(walking robot)에서는 에이전트(agent)는 보행 로봇을 제어하는 프로그램일 수 있다. 이때 환경(environment)은 실제 세상이.. 2021. 10. 28.
핸즈온 머신러닝(Hands-On Machine Learning) 10장 - 케라스를 사용한 인공 신경망 (2)-1 10.2 케라스로 다층 퍼셉트론 구현하기 10.2.2 시퀀셜 API를 사용하여 이미지 분류기 만들기 import tensorflow as tf from tensorflow import keras 먼저 MNIST 데이터셋을 로드 케라스는 keras.datasets에 널리 사용하는 데이터셋을 로드하기 위한 함수를 제공한다. 이 데이터셋은 이미 훈련 세트와 테스트 세트로 나누어져 있어 훈련 세트를 더 나누어 검증 세트를 만드는 것이 좋다. fashion_mnist = keras.datasets.fashion_mnist (X_train_full, y_train_full), (X_test, y_test) = fashion_mnist.load_data() 전체 훈련 세트를 검증 세트와 (조금 더 작은) 훈련 세트로.. 2021. 10. 27.
핸즈온 머신러닝(Hands-On Machine Learning) 10장 - 케라스를 사용한 인공 신경망 (1) 10. 인공 신경망 (Artificial Neural Networks) 뇌에 있는 생물학적 뉴런의 네트워크에서 영감을 받은 머신러닝 모델이다. 2000년 대에 들어서면서 인공 신경망은 2012년 ILSVRC2012 대회에서 인공 신경망을 깊게 쌓은 딥러닝 모델인 AlexNet이 압도적인 성적으로 우승하면서 다시금 주목받게 되었다. 이렇게 인공 신경망(딥러닝)이 다시 주목받게 된 계기는 다음과 같은 것들이 있다. 빅 데이터 시대인 요즘 신경망을 학습시키기 위한 데이터가 엄청나게 많아 졌다. 신경망은 다른 머신러닝 알고리즘보다 규모가 크고 복잡한 문제에서 성능이 좋다. 1990년대 이후 크게 발전된 컴퓨터 하드웨어 성능과 Matrix연산에 고성능인 GPU로 인해 상대적으로 짧은 시간 안에 대규모의 신경망을 .. 2021. 10. 25.