지극히 개인적인 공부 노트 85

[Python] 넘파이(numpy)의 유용한 기능 정리

※ 해당 게시글은 파이썬과 인공지능을 공부하면서 주로 사용하는 기능을 정리한 내용입니다. 넘파이(numpy)는 대표적인 배열 라이브러리로, 고차원의 배열을 손쉽게 만들고 조작할 수 있습니다. numpy는 아래와 같이 임포트하고, 관용적으로 'np'라는 문자열로 줄여서 임포트합니다. 넘파이 배열의 핵심 부분은 C, C++과 같은 저수준 언어로 개발되어서 데이터가 아주 큰 경우엔 일반 파이썬 리스트로 작업하는 것보다 빠르고, 데이터 과학 분야에 알맞게 최적화되어 있습니다. import numpy as np numpy에서 주로 사용하는 함수는 다음과 같습니다. 1. array(): 리스트를 배열로 변환해주는 함수 a = [1, 2, 3, 4, 5, 6] a_array = np.array(a) 2. arange..

[인공지능] 머신러닝 '지도 학습' 알고리즘 정리

현재 공부를 시작한 단계에 불과하며, 차근차근 공부한 머신러닝 알고리즘의 방식과 특징 등을 정리해나가는 게시글이다. 기술하는 내용은 모두 Python 기반이다. - 지도 학습 알고리즘은 사용 용도와 목적에 따라 '분류'(샘플을 몇 개의 클래스 중 하나로 분류)와 '회귀'(임의의 어떤 숫자를 예측)로 나뉜다. - 대부분의 모델에는 훈련 과정에서 찾은 최적의 모델 파라미터(coef_와 intercept_)가 존재한다. 많은 머신러닝 알고리즘의 훈련 과정은 이 최적의 파라미터를 찾는 것이고, 이런 과정을 '모델 기반 학습'이라고 부른다. - k-최근접 이웃 알고리즘은 모델 파라미터가 따로 존재하지 않고, 단순히 훈련 세트를 저장하는 것이 훈련의 ..

[인공지능] 인공지능, 머신러닝, 딥러닝 간단 정리

1. 인공지능(Artificial Intelligence, AI) 1) 정의 인간의 학습능력과 추론능력, 지각능력, 자연언어의 이해능력 등을 컴퓨터 프로그램으로 실현한 기술 2) 변천사 연도 내용 비고 1943 워런 매컬러(Warren McCulloch)와 월터 피츠(Walter Pitts)가 최초로 뇌의 뉴련 개념을 발표(두뇌 논리회로 모델링) 여명기 1950 앨런 튜링(Alan Turing)이 인공지능과 인간이 같은 지능을 가졌는지 테스트할 수 있는 튜링 테스트 발표(현재의 로봇, 매크로 감지 테스트, reCAPTCHA) 1956 다트머스 컨퍼런스에서 AI 용어 탄생 태동기 1956~1970 수동적 대화 시스템 기호처리로 AI 구현 1차 인공지능 붐 1971~1979 컴퓨터 성능, 고려해야 할 범위 ..

[Python] 자료 구조와 배열의 간단 개념

1. 자료 구조의 개념과 목적 자료 구조: 데이터 단위와 데이터 자체 사이의 물리적 또는 논리적인 관계. 즉, 데이터가 모여 있는 구조. 코딩과 알고리즘 등에서 자료 구조를 알아야 하는 이유는 컴퓨터에서 처리해야 하는 많은 데이터를 모아 효율적으로 관리하고 구조화하기 위함이다. 2. 배열 Python에서는 이런 자료 구조를 다루기 위해 '배열'을 이용한다. 배열: 단순히 하나의 변수가 아닌, 원소 묶음의 단위. 파이썬에서는 리스트(list)와 튜플(tuple)로 배열이 구현됨. 원소: '배열'에 저장된 객체 하나하나를 일컫는 말. 리스트: 뮤터블(mutable) 자료형으로써, 연산자 [ ] 안에 원소를 쉼표(,)로 구분함. 튜플: 이뮤터블(immutable) 자료형으로써, 연산자 ( ) 안에 원소를 쉼표..

[Python] 파이썬 스타일 가이드, PEP 8

만약 여러 파이썬 개발자들이 같이 작업을 할 때, 코드를 작성하는 스타일이 다르다면? 코드를 완성하는 문제뿐만 아니라, 각자의 스타일을 통일하는 과정에서도 시간을 빼앗기게 될 것이다. ​ 이러한 문제를 방지하기 위해 파이썬에서는 PEP 8 문서를 통해 암묵적인, 일관된 규칙을 가이드로써 제공한다. 그중 대표적인 규칙 몇 가지를 적어봤다. ​ 원본 출처: https://www.python.org/dev/peps/pep-0008/#indentation ​ 1. 들여쓰기 들여쓰기는 TAB 또는 스페이스바를 통한 공백으로 입력하는데, 스페이스바(공백) 4번으로 통일한다. ​ ​ 2. 연산자 앞뒤로 공백 넣어주기 연산자 종류 assignment (=) augmented assignment (+=, -= etc.)..