Data Analysis/ML & DL 9

[ML] 인공지능과 기계학습

지능 (intelligence) 인간이 사물을 이해하고 학습하는 능력 어떤 문제가 주어졌을 때 합리적으로 사고하여 문제를 해결하는 능력 인공지능 (Artificial Intenlligence) 인간의 인지적인 기능을 모방, 문제 해결을 위해 학습하고 이해하는 기계 인공지능의 발전 탐색의 시대(1960~1974) 초기의 AI 프로그램은 대부분 기본 탐색 알고리즘 사용 (단계별로 진행하고, 막다른 곳에 도달할 때 되돌아가는) 해당 시대에는 충분한 CPU나 메모리가 없었기 때문에 많은 정보의 데이터베이스를 만들 수 없었고, 어떻게 학습해야 하는지 알지 못했다. 지식의 시대(1980~1987) 전문가 시스템(expert system) 등장 전문가 시스템: 전문가로부터 지식을 얻어 데이터베이스 생성→ 추론 엔진→..

혼자 공부하는 머신러닝+딥러닝 / 혼공 학습단 회고

짧다면 짧고, 길다면 길었던 혼공 학습단이 끝났다. 내가 이번 혼공 학습단을 하며 가장 원했던 것은 저녁에도 공부를 하는 삶이었다. 나의 큰 인생 목표 중 하나가 죽을 때까지 공부하기인데, 생각보다 저녁에 책상에 앉아서 혼자 공부하기가 참 어렵다.. 마침 혼공 학습단을 알게 되어서 혼자 공부하는 루틴을 갖는 데 도움이 되겠다 하고 신청했다. 눈에 보이는 강제는 없지만 약간의 내 맘속에서 신경쓰이는 덩어리가 하나 있는것만으로도 자연스럽게 책상에 앉게 되었다.. 그리고 가끔씩 날라왔던 간식 기프티콘도 뿌듯함을 느끼게 해줬다. 그리고 개념을 읽고, 코드를 작성하고, 특히 마지막 정리하면서 블로그에 글 올리는 게 도움이 많이 되었다. 개념을 더 쉽게, 잘 보이게 쓰고 싶었지만 생각보다 남이 잘 이해하도록 글 쓰..

혼자 공부하는 머신러닝+딥러닝 / Chapter 07 딥러닝을 시작합니다

Chapter 07-1 인공 신경망 - 인공 신경망 (artificial neural network, ANN) 뉴런에서 영감 받은 머신러닝 알고리즘 이미지, 음성, 텍스트 분야에서 뛰어난 성능을 발휘하고 딥러닝이라고도 한다. 케라스이 Sequential 클래스 사용 출력층(output layer): z값을 계산하고 이를 바탕으로 클래스를 예측, 신경망의 최종 값을 만든다. 뉴런(neuron): z값을 계산하는 단위, 유닛이라고 부르기도 한다. 입력층: x값이고 픽셀값 자체이기 때문에 특별한 계산을 수행하지 않는다. 밀집층(dense layer): 가장 기본이 되는 층이며 픽셀과 뉴런이 모두 연결된 선이다. 완전 연결층이라고도 부른다. - 텐서플로우 구글이 공개한 딥러닝 라이브러리 CPU와 GPU를 사용해..

혼자 공부하는 머신러닝+딥러닝 / Chapter 06 비지도 학습

Chapter 06-1 군집 알고리즘 - 비지도 학습(unsupervised learning) 타깃이 없을 때 사용하는 머신러닝 알고리즘, 사람이 가르쳐 주지 않아도 데이터에 있는 무언가를 학습한다. - 군집(clustering) 비슷한 샘플끼리 그룹으로 모으는 작업, 대표적이 비지도 학습 작업 중 하나이다. 군집 알고리즘에서 만든 그룹을 클러스터(cluster)라고 한다. - 함수 모음 subplots(): 여러 개의 그래프를 배열처럼 쌓을 수 있는 함수 mean(): 평균값을 계산하는 메서드 abs(): 절대값을 계산하는 함수 코랩 실습 화면 import numpy as np import matplotlib.pyplot as plt fruits = np.load('fruits_300.npy') pri..

혼자 공부하는 머신러닝+딥러닝 / Chapter 05 트리 알고리즘

Chapter 05-1 결정 트리 - 결정 트리(Decision Tree) 예, 아니오에 대한 질문을 이어가면서 정답을 찾아 학습하는 알고리즘 사이킷런의 DecisionTreeClassifier 클래스 사용 특성값의 스케일은 결정 트리 알고리즘에 영향을 미치지 않기 때문에 표준화 전처리를 할 필요없다. 특성 중요도(불순도를 감소하는데 기여한 정도)를 활용하면 결정 트리 모델을 특성 선택에 활용할 수 있다. 불순도: 결정 트리가 최적의 질문을 찾기 위한 기준 지니 불순도(Gini impuricity)는 1 - (음성 클래스 비율의 제곱 + 양성 클래스 비율의 제곱)으로 구한다. 지니 불순도가 0이라면 순수 노드라고 부른다. 결정 트리 모델은 부모 노드와 자식 노드의 불순도 차이(정보 이득, informat..

혼자 공부하는 머신러닝+딥러닝 / Chapter 04 다양한 분류 알고리즘

Chapter 04-1 로지스틱 회귀 데이터프레임(dataframe): 판다스에서 제공하는 2차원 표 형식의 데이터 구조 데이터프레임에서 열을 선택하는 방법은 원하는 열을 리스트로 나열한다. 다중 분류(multi-class classification): 타깃 데이터에 2개 이상의 클래스가 포함된 문제 정렬된 타깃값은 classes_ 속성에 저장되어 있다. - 함수 모음 unique(): 열에서 고유한 값을 추출하는 함수 proba(): 클래스별 확률값을 반환하는 메서드 코랩 실습 화면 import pandas as pd from sklearn.model_selection import train_test_split from sklearn.preprocessing import StandardScaler fr..

혼자 공부하는 머신러닝+딥러닝 / Chapter 03 회귀 알고리즘과 모델 규제

Chapter 03-1 k-최근접 이웃 회귀 - 회귀 (regression) 임의의 어떤 숫자를 예측하는 문제, 정해진 클래스가 없고 임의의 수치를 출력한다. ex) 경제 성장률 예측, 배달이 도착할 시간 예측 - k-최근접 이웃 회귀 가장 가까운 샘플 k개를 선택하고 해당 수치들의 평균을 구함. - 결정계수, R^2 (coefficient of determination) 회귀의 평가 점수 각 샘플의 타깃과 예측한 값의 차이를 제곱하여 더하고 타깃과 타깃 평균의 차이를 제곱하여 더한 값으로 나눈다. 예측이 타깃에 아주 가까워지면 1에 가까운 값이 된다. 코랩 실습 화면 import numpy as np import matplotlib.pyplot as plt from sklearn.model_select..

혼자 공부하는 머신러닝+딥러닝 / Chapter 02 데이터 다루기

Chapter 02-1 훈련 세트와 테스트 세트 - 지도 학습 (supervised learning) 입력(데이터)와 타깃(정답)으로 이루어진 훈련 데이터가 필요 정답을 맞히는 것을 학습한다. - 비지도 학습 (unsupervised learning) 타깃 없이 입력 데이터만 사용 데이터를 잘 파악하거나 변형하는 데 도움을 준다. - 훈련 세트와 테스트 세트 머신러닝의 알고리즘의 성능을 제대로 평가하려면 훈련 데이터와 평가에 사용할 데이터가 각각 달라야 한다. 테스트 세트(test set): 평가에 사용하는 데이터 훈련 세트(train set): 훈련에 사용되는 데이터 - 샘플링 편향 (sampling bias) 샘플링이 한쪽으로 치우쳤다는 의미 - 넘파이 (numpy) 파이썬의 대표적인 배열(array..

혼자 공부하는 머신러닝+딥러닝 / Chapter 01 나의 첫 머신러닝

Chapter 01-1 인공지능과 머신러닝, 딥러닝 - 인공지능 (Artificial Intelligence) 사람처럼 학습 및 추론할 수 있는 지능을 가진 컴퓨터 시스템을 만드는 기술 강인공지능 (Strong AI), 약인공지능 (Week AI) 현실에서 마주하는 인공지능은 약인공지능 ex) 알파고 - 머신러닝 (Marchine Learning) 규칙을 프로그래밍하지 않아도 자동으로 데이터에서 규칙 학습하는 알고리즘 연구 분야 대표적인 머신러닝 라이브러리는 사이킷런 (Scikit-learn) - 딥러닝 (Deep Learning) 머신러닝 알고리즘 중 인공신경망을 기반으로 한 방법들을 통칭 Chapter 01-2 코랩과 주피터 노트북 - 구글 코랩 (Colab) 웹 브라우저에서 무료로 파이썬, 머신러닝..