Machine Learning/tensorflow

머신러닝1(2020/12/23~12/27) - 생활코딩

민철킹 2021. 1. 20. 22:57

생활코딩

검색을 통하여 알게 된 유튜버님이시다. 내가 그동안 본 유튜브 무료 강의 중에서 가장 퀄리티가 높다고 생각한다.

강의를 듣다보면 단지 하나를 배우기 위한 것이 아니라 모든 것이 연결되어 있다는 생각이 든다.

직전학기에 웹프로그래밍 과목을 배우면서 교수님의 설명이 턱없이 부족하다는 생각이 들어 찾아보던 중 생활코딩님을 알게 되었다. 제일 처음 들었던 강의는 web강의로 HTML, CSS, JAVASCRIPT 강의를 들었었다.

정말 수준 높은 강의가 주제별로 많기 때문에 프로그래밍에 관심 있는 사람이라면 꼭 방문해보길 권한다.

opentutorials.org/course/1

 

본론으로 돌아와 강의를 들으면서 주요 내용을 필기한 것이다. 소스코드들은 아래의 내 github 주소를 첨부한다.

-----------------------------------------------------------------------------------------------------------------------------------

Machine Learning

판단력 ==> 모델(Model)
학습 ==> 좋은 모델 ==> 좋은 판단력

표==> data set
행(row) ==> 개체(instance), 관측치(observed value), 기록(record)
                  사례(example), 경우(case)

열(column) ==>특성(feature), 속성(attribute), 변수(variable), field

독립변수(원인) , 종속변수(결과)

지도학습의 ‘지도'는
기계를 가르친다(supervised)는 의미입니다.
문제집으로 학생을 가르치듯이 데이터로
컴퓨터를 학습시켜서 모델을 만드는 방식을
‘지도 학습’이라고 합니다.

비지도 학습:기계에게 데이터에 대한
통찰력을 부여하는 것이라고 이야기할 수 있을 것 같습니다.

강화 학습:어떻게 하는 것이
더 좋은 결과를 낼 수 있는지를
스스로 느끼면서 실력 향상을 위해서
노력하는 수련과 비슷합니다.

지도 학습 ==> 분류와 회귀

가지고 있는 데이터에 독립변수와 종속변수가 있고,
종속변수가 숫자일 때 회귀를 이용하면 됩니다.
종속변수가 이름일 때 분류를 이용하면 됩니다.

*비지도 학습
비슷한 행을 그룹핑하는 것 ==> 군집화
특성을 그룹핑해주는 것 ==> 연관 규칙

비지도 학습은 데이터의 성질을 파악하는 것이 목적
==> 정리정돈, 데이터를 그룹핑하는 것
지도 학습은 인과관계를 통하여 결과를 예측

*강화 학습
강화 학습에서는 더 많은 보상을 받을 수 있는
정책을 만드는 것이 핵심입니다.
알파고가 강화학습으로 만들어진 소프트웨어

머신러닝 알고리즘
==>Decision Tree, Random Forest, KNN, SVM, Neural Network

그중, Neural Network(인공 신경막)에 배해 배울 예정
==> Deep Learning으로 불림 요새

지도 학습
1. 과거의 데이터를 준비
2. 모델의 구조를 만듭니다.(독립변수와 종속변수 파악)
3. 데이터로 모델을 학습합니다. ==> FIT 과정
4. 모델을 이용

 

 

Google Colaboratory ==> tensorflow를 별도의 설치 없이 사용해볼 수 있음.

 

판다스 ==> 표를 다루는 라이브러리
import pandas as pd ==> as는 sql할 때 쓰던 align이랑 같은 것, 별명
.csv ==> 표의 형식으로 데이터 저장한 확장자(엑셀에서 열면 표)

 

X = tf.keras.layers.Input(shape=[1]) ==> 1은 독립변수가 하나라는 뜻

Y = tf.keras.layers.Dense(1)(X) ==> 1은 종속변수가 하나라는 뜻

model.fit(독립, 종속, epochs=1000, verbose=0) ==> epochs는 반복해서 학습시킬 횟수

 

모델의 구조를 만들 때에 독립변수, 종속변수의 개수가 필요하기 때문에
과거의 데이터를 분류하는 것이 중요

Loss: 손실
정답(label)과 예측(predict)의 차이를 제곱한 것의 평균이 손실(Loss)이다.
Loss가 0에 가까워질수록 정답에 가까워지는 것이다.


범주형 데이터를 숫자형 데이터로 바꾸는 과정 == 원핫인코딩(onehot-encoding)

softmax ==> 비율 분류\

Activation(활성화 함수) ==> 회귀모델: Identify, 분류모델: Softmax


input Layer | Hidden Layer | Ouput Layer

 

github.com/MinChul-Son/Machine_Learning_study

반응형