본문 바로가기
SMALL

정리31

4장_비지도학습을 이용한 군집화 비지도학습(unsupervised learning) 문제는 있지만 정답 또는 라벨(label)이 없는 데이터로 컴퓨터가 스스로 문제를 보면서 특징을 잡아내는 방법 대표적으로 군집화(clustering)를 통해 데이터에 내재된 정보를 찾음 [K-평균 알고리즘] 군집화 알고리즘 중 가장 대표적이고 오래된 알고리즘 K는 군집의 개수를 의미하며 사용자가 입력하는 유일한 입력값 ▶ K-평균 알고리즘을 구성하는 방법 몇 개의 군집으로 분류할 것인지 지정(K의 숫자는 군집의 수) 임의의 각 군집의 중심점 선택 각 벡터를 가장 가까운 군집 중심점에 연결 각 벡터와 군집 중심점 간의 거리 평균 계산 3단계의 계산 값을 고려하여 군집 중심점 업데이트 3~5단계를 특징 조건이 만족할 때까지 반복(단, 중심점 변경이 없다면 .. 2023. 2. 27.
3장_머신러닝의 이해와 지도학습을 이용한 분류 머신러닝 → 인공지능이 스스로 똑똑해질 수 있게 만드는 기술 → 데이터를 통해 컴퓨터가 '학습'을 하고 자동으로 문제를 해결 → 데이터에서 일정한 규칙을 찾아내고, 이를 바탕으로 다른 데이터를 분류하거나 미래를 예측 1. 머신러닝의 유형 머신러닝의 대표적인 세 가지 유형 지도학습 : 훈련 데이터에 정답(Label)이 있어 주어진 정답에 맞게 특징이 학습되기를 기대하는 경우에 사용 비지도학습 : 훈련 데이터에 정답이 없고 주어진 특징 내에서 분류간 서로 구분이 잘 되도록 원하는 경우에 사용 강화학습 : 학습(혹은 수집)되는 데이터에 정답은 없으나 동작하거나 반응하는 결과에 상과 벌을 주어서 스스로 진화할 수 있는 경우에 사용 아래의 그림은 머신러닝의 기술 유형을 나타낸다. * 이 책에서는 강화학습을 제외하.. 2023. 2. 21.
2장_인공지능을 적용하기 위한 방법 인공지능 기술을 사용하기 위해서는 인공지능 서비스를 위해 사용 가능한 도구와 어떤 기술들이 있는지 부터 먼저 이해해야 함. 2장에서는.. - 인공지능 기술을 개발할 때 많이 활용되는 개발 언어 - 머신러닝이나 딥러닝 적용을 위해 사용되는 대표적인 오픈소스 소프트웨어 - 쉽게 개발하고 활용할 수 있는 클라우드 기반 서비스 에 대하여 알아봄 2.1 인공지능 적용 기술의 분류 플랫폼(Platform) 데이터 수집, 저장 및 데이터 분석까지 포함하는 기반 환경 인공지능의 머신러닝 및 딥러닝 기술 포함 도구, 프레임워크 등 이후 분류들을 모두 포괄하는 가장 큰 구조로 통상적으로 분산 환경을 지원 도구(Tools) 인공지능 프로그램을 쉽게 개발할 수 있도록 지원하는 개발 도구 서비스 운영 및 개발 환경을 구성하기 .. 2023. 2. 6.
1장_인공지능이란 무엇인가 인공지능 기술은 1950년대 최초로 학문으로서 연구가 시작 오픈소스로 공개되기 시작한 이후에는 인공지능 기술을 활용한 소프트웨어도 매우 다양해짐 구글, 페이스북, 트위터와 같은 IT 서비스 기업을 중심으로 인공지능 기술의 오픈소스화도 증가하는 추세 1.1 인공지능 기술의 태동과 발전 [인공지능의 역사] 1956년 : 미국에서 열린 다트머스 컨퍼런스에 모인 여러 연구자들에 의해 인공지능이라는 용어가 처음 등장 → 인간의 뇌와 똑같은 것을 컴퓨터로 실현해 보자는 의도 1957년 : 단순한 신경망 모델인 퍼셉트론 개발 1959년 : 아서 사무엘은 '컴퓨터에게 배울 수 있는 능력, 즉 코드로 정의하지 않은 동작을 실행하는 능력에 대한 연구 분야'를 일컬어 머신러닝이라고 정의 1970년대~1990년대 : 인공지능.. 2023. 2. 2.
6. Process Synchronization - 데이터의 접근 - Race condition(경쟁 상태) 하나는 1 증가 연산, 하나는 1 감소 연산 정상동작 : 하나를 더하고 하나를 빼면 원래의 값이 나옴 오동작 : 증가 연산과 감소 연산 동시 진행 후 증가 연산 값이 저장하고 감소 연산 값을 저장하면 감소 연산 값만 저장됨 - Process Synchronization 문제 공유 데이터(shared data)의 동시 접근(concurrent access)은 데이터의 불일치 문제(inconsistency)를 발생시킬 수 있음 일관성(consistency) 유지를 위해서는 협력 프로세스(cooperating process)간의 실행 순서(orderly execution)를 정해주는 메커니즘이 필요 Race condition 여러 프로세스들이 동시에.. 2022. 9. 1.
5. CPU Scheduling CPU Scheduling이 필요한 이유 : 사람과 interaction하는 Job과 CPU만 사용하려는 Job이 섞여있기 때문에 적절한 스케줄링이 필요. - CPU and I/O Bursts in Program Execution 위의 그림과 같이 컴퓨터의 모든 프로그은 다음 프로세스를 진행(프로그램마다 실행하는 방법은 다를 수 있음) EX) running -> I/O -> ready -> I/O ... 즉, CPU만 연속으로 실행하거나 I/O만 실행하는 컴퓨터는 없으며, 실행하는 단계는 burst라고 부른다. - 프로세스의 특성 분류 I/O bound process CPU를 잡고 계산하는 시간보다 I/O에 많은 시간이 필요한 job many short CPU bursts CPU bound process.. 2022. 8. 17.
LIST