• About
  • Articles
  • Categories
  • Members
  • Projects
  • About
  • Articles
  • Categories
  • Members
  • Projects

Data-Science

머신러닝

by Jooyoung Lee

0. 머신러닝

위키독스 “딥 러닝을 이용한 자연어 처리 입문” 챕터 01~06을 학습하는 중입니다.

1. 전체 데이터

1.1. 훈련: 훈련용, 검증용(모델의 성능 조정)

1.2. 테스트: 테스트용(모델의 성능 평가)

(X_train, X_test, y_train, y_test) = train_test_split(data_X, data_y, train_size=0.8, random_state=1)

2. 분류

2.1. Binary Classification: 선택지=2

2.1.1. Logistic Regression

2.1.1.1. 1/(1+e^-(wx+b)) Sigmoid function: 출력이 0과 1사이의 값을 가지면서 S자

출력값>= 0.5->1(True) 출력값<= 0.5->0(False)

model.add(Dense(1, input_dim=1, activation='sigmoid'))
2.1.1.2. Cross Entropy
model.compile(optimizer=sgd, loss='binary_crossentropy', metrics=['binary_accuracy'])

2.1.2. 다중 로지스틱 회귀: x가 2개

model.add(Dense(1, input_dim=2, activation='sigmoid'))

2.2. Multi-class Classification: 선택지>=3

model.add(Dense(1, input_dim=3, activation='linear'))

2.2.1. Softmax Regression

2.2.1.1. Softmax function

model.add(Dense(3, input_dim=4, activation='softmax'))

2.2.1.2. 원-핫 벡터: 단어의 유사성

y_train = to_categorical(y_train)
y_test = to_categorical(y_test)

2.2.1.3. 크로스 엔트로피 함수

model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])

3. 회귀: 어떠한 연속적인 값의 범위 내에서 예측값

3.1. 다중 선형 회귀: 독립 변수가 2개 이상

model.add(Dense(1, input_dim=3, activation='linear'))

4. Supervised Learning

: 정답과 함께 학습

ex)자연어 처리

5. Unsupervised Learning

: 별도의 레이블이 없이 학습

ex)텍스트 처리 분야 토픽 모델링 알고리즘 LSA/LDA

6. Self-Supervised Learning

: 레이블을 만들어서 학습

ex)워드 임베딩 알고리즘 Word2Vec, 언어 모델 BERT

7. Confusion Matrix: TP, TN, FP, FN

7.1. 정밀도(Precision)

: TP/(TP+FP)

7.2. 재현율(Recall)

: TP/(TP+FN)

7.3. 정확도(Accuracy)

: TP+TN/(TP+FN+FP+TN), F1-Score

8. 선형 회귀(Linear Regression)

8.1. Simple Linear Regression Analysis

: y=wx+b

8.2. Multiple Linear Regression Analysis

: x는 여러 개

9. Objective function=Cost function=Loss function

회귀: Mean Squared Error

cost = mse_loss(y_pred, y)
model.compile(optimizer=sgd, loss='mse', metrics=['mse'])

10. Optimizer

경사하강법(Gradient Descent)

0<학습률(learning rate) α<1

optimizer = tf.optimizers.SGD(0.01)
sgd = optimizers.SGD(lr=0.01)

11. 3차원 텐서: 시퀀스 데이터

자연어 처리 (batch_size, timesteps, word_dim)

Jooyoung Lee
소프트웨어학부 3학년
See More
Previous Post
React Native 스터디 3주차
Next Post
Flutter 스터디 5주차 (Widget Refactoring)
  • Blog
  • GitHub
  • Notion
  • Email
Designed and Developed by Peniel Cho