Machine Learning Overview & An understanding of data
- How to learn machine learning
- The concept of a feature, Data Attributes, Loading data with pandas
- Model
- Algorithms
- Feature Vector
- continuous, discrete
- Numeric Types
- Nominal Types
- Ordinal Types
How to learn machine learning
1. 머신러닝이란?
기존에 있던 데이터를 어떤 알고리즘을 사용해서 모델을 만들어내고, 새로운 모델에 데이터를 적용시켜서 새로운 값을 예측하는 것.
핵심) 머신러닝 알고리즘과, 모델들을 배우는 것.
데이터는 토이데이터셋과 모의데이터로 많이 배우게 될 것.
EX) 옥자가 정상적으로 개봉했다면, 과연 얼마나 성과를 냈을까?
'옥자' 우리나라에서 개봉 못한 영화.
=> Linear Regression을 사용.
- 왓차의 '보고싶어요' 개수(12,008)를 가지고 총 관객 수(727만 명)를 예측함.
<기존에 잇던 데이터 VS. 새로운 데이터>
- 기존에 있던 데이터) 미션, 킹스맨, 캡틴아메리카, 인터스텔라 4개의 총 관객수와 왓차 '보고싶어요' 수.
- 예측 총 관객 수) 727만명
총관객수, 왓차 '보고싶어요' 수 데이터를 y = ax + b 라는 함수로 나타낼 수 있음.
Condition rule(if문, 조건절)이 될수도 있음. 함수라고 생각하면 편하대.
모델을 만들기 위한 과정.
그 과정을 하나하나 배우는 것이 알고리즘.
2. 모델을 학습할 때 영향을 주는 것들
x(독립변수) : 주어진 값. 기존 데이터. '보고싶어요'의 개수.
y(종속변수) : 실제 관객 수.
x의 값으로 y를 예측하기 위해,
우리가 모르는 a, b 값을 알고리즘을 통해서 y를 설명할 수 있는 가장 좋은 값을 찾아내는것이 목표임!
The concept of a feature
1) Feature
Y값에 영향을 주는 X값은 하나인가?
ex) 날씨, 영화를 트위터에서 얼마나 얘끼했다, 이전에 감독이 얼마나 많은 관객수를 얻었는지 등의 다양한 변수가 있음.
하나의 row나 instance는 feature vector로 표현할 수 있음.
EX) Boston House Price Dataset문제.
Toy DataSet. 처음 ML배우거나 알고리즘 배울 때 간단하게 사용할 수 있는 data.
주택들의 중앙값을 어떤걸로 예측할거냐,
범죄율 등 13개의 변수를 가지고 집값을 예측하는 문제. 식은 y=ax+b가아니라 아래와 같이 세울 수 있음.
=> 변수가 X1부터 X13까지 총 13개가 존재하고 각각의 변수마다 weight값(a에 해당)과 상수항(b)이 존재함.
결국, 컴퓨터에게 우리가 베타와 x, y를 가지고있는데 베타를 어떻게 알아낼거라는 것을 알아내기 위해,
Feature vector 값을 알려주게 됨.
0번째 있는 데이터셋을
선형대수의 표기법으로 나타낼 수 있음...!
벡터와 matrix의 곱셈으로 나타냄으로서, list형태로 나타낼 수 있음.
Data Attributes
ML는 데이터에 대한 언어.... 뉴럴넷빼고 다 통계학자들이 만들었을것.
스탠포드 앤드류응의 코세라 강의에서 쓴 용어가 ML의 표준이 되어버림.
전체 테이블은 Data table, Sample이라고 부름.
컬럼은 Attribute, field, feature, column이라고 부름.
한 명, 한 집, 한 개의 데이터는 instance, tuple, row라고 부름.
컬럼에 있는 데이터의 모음 : Feature vector.
Loading data with pandas
데이터를 컴퓨터가 처리하기 위해선, 데이터를 '호출'해야 함. 이 때, 주로 쓰는 게 Pandas.
엑셀처럼 데이터를 호출해서 핸들링할 수 있는도구.ML을 처음 딥러닝, tf부터 배우신 분은 structed 데이터를 만들일이 잘 없음.
따라서 Pandas를 안배우고 처음부터 다른방법으로 데이터를 처리하다보니, 처음 데이터를 핸들링할 때 어렵게 느껴질 수 있음.
pandas를 통해 어떻게 데이터를 핸들링할 수 있을지 알려줄것임.
data를 vector나 matrix 형태로 표현하고 핸들링해야하는데, 이 때 Numpy(Numerical python)라는 모듈을 사용해서 핸들링 할것임..!
다음주는 Numpy와 python을 이용해서
y=ax+b꼴의 기본적인 수식을 어떻게 핸들링할 수 있는지 배울것임..!
'Machine Learning > Edwith ML' 카테고리의 다른 글
numpyy (0) | 2018.08.06 |
---|---|
Matplotlib (0) | 2018.07.14 |
[CH4] Numerical Python - Numpy (0) | 2018.07.13 |
[Ch4] Representing a model (0) | 2018.07.13 |
[Ch4] Python Ecosystem for ML (0) | 2018.07.13 |