본문 바로가기

DataScience/머신러닝28

머신러닝 :: Support Vector Machine 머신러닝 :: 9. Support Vector Machine Support Vector Machine · 서포트 벡터 머신(Support Vector Machine)은 주어진 데이터셋을 바탕으로 카테고리를 분류할 수 있는 선형 분류 모델을 만드는 것을 말한다. 서포트 벡터 머신(support vector machine, SVM[1][2])은 기계 학습의 분야 중 하나로 패턴 인식, 자료 분석을 위한 지도 학습 모델이며, 주로 분류와 회귀 분석을 위해 사용한다. 두 카테고리 중 어느 하나에 속한 데이터의 집합이 주어졌을 때, SVM 알고리즘은 주어진 데이터 집합을 바탕으로 하여 새로운 데이터가 어느 카테고리에 속할지 판단하는 비확률적 이진 선형 분류 모델을 만든다. 만들어진 분류 모델은 데이터가 사상된 공.. 2023. 4. 28.
머신러닝 :: Constrained Optimization 머신러닝 :: 8. Constrained Optimization Constrained Optimization · Constrained Optimization은 제한이 걸린 상황에서 최적화문제를 푸는 방법으로 SVM(Support Vector Machine)을 알아보기 전에 알아두어야 할 개념이다. 즉, 제한이 있는 input(x 또는 아래 그림의 w)에 따른 최적화 문제를 푸는 것이다. · 이를 수식으로 풀어보기 위해 먼저 f(x)가 n차원 공간의 함수일 때, 즉 w = (w_1, w_2, ..., w_n)일 때 아래처럼 표현된다. · 이 때 equality constraint(g_j(w))와 inequality constraint(f_j(w))는 아래와 같이 convex(아래로 볼록)하다고 가정한다. .. 2023. 4. 27.
머신러닝 :: Naive Bayesian 머신러닝 :: 7. Naive Bayesian Naive Bayesian · 예측 결과에 대한 확률이 주어졌을 때, input 인자들이 서로 독립(Independent)이라고 가정하는 방법이다. · Naive : 느슨한, Overfitting을 피하는 컨셉? → 수행이 매우 쉬운 특징이 있으며 Dataset이 아주 적지만 않다면(Moderate or large training set), 큰 Dataset이 아니더라도 양호한 예측결과를 얻어내는 방법이다. (*각 class의 속성들이 Conditionally independent할 때 사용 가능) → 하지만 만약 input class이 correlation이 크거나, 데이터셋이 일정 수보다 작다면 성능이 떨어지는 문제가 있다. → 본 방법은 진단(Diagn.. 2023. 4. 26.
머신러닝 :: Logistic Regression, Gradient Descent Method 머신러닝 :: 6. Logistic Regression, Gradient Descent Method Logistic Regression · Classification을 위해 Logistic function(=Sigmoid function)을 사용하며, 0~1사이의 값으로 Regression한다. → 이는 0이냐 1이냐를 정하는 Binary class를 classification하는데 확률값처럼 사용이 가능하다. · Logistic Regression은 아래와 같은 선형 분류기를 더 soft하게 바꾸는 데에서 출발한다. · 위 그림에서의 classifier h(x)는 hard boundary(0 또는 1)를 형성하고 있다. h(x)를 아래와 같이 sigmoid function을 적용하여 soft bound.. 2023. 4. 25.
머신러닝 :: New Interpretation of Linear Regression(MLE) 머신러닝 :: 5. New Interpretation of Linear Regression Linear Regression · 아래와 같은 데이터셋에서 Best fit한 line f(x)을 찾으려면 Linear Regression을 수행할 수 있다. · 지난 포스팅에서 다뤘던 Linear Regression에서는 Squared Error E(w)를 최소화하는 f(x)의 coefficient, 즉 w(weight)를 찾음으로써 Given Data set에 Best fit한 Line을 찾는다. · 또 다른 접근방법을 생각해보자. Data set D를 관측하는 확률(Probability)을 최대화하는 f(x)를 찾는다면 아래와 같이 표현이 가능하다. 아래는 f(x)가 given일 경우 Data D가 나타날 확.. 2023. 4. 24.
머신러닝 :: Model Optimization, Evaluation, Cross Validation 머신러닝 :: 4. Model Analysis(Optimization, Evaluation, Cross Validation) Overfitting) vs Generalization · 아래와 같이 주어진 데이터가 있다고 가정했을 때, 이 데이터를 잘 예측할 수 있는 회귀 방정식을 찾아내려면 어떻게 해야할까? · 에러를 가장 적게 내는 것이 정말 좋은 방정식일지는 고민해봐야 한다. 아래 4개의 그림을 보면 왜인지 알 수 있다. · 차수가 3차원까지는 데이터를 완벽하게 따라가지는 않더라도 유사하게 예측했다고 볼 수 있을 것이다. 그런데 9차원까지 간다면? 문제가 발생한다. · 이러한 예측은 주어진 데이터에는 완벽하게 잘 들어맞지만, Unknown Data에는 예측 정확도(Prediction accuracy).. 2023. 3. 21.
머신러닝 :: Linear Regression(선형 회귀식 풀이법, SLE) 머신러닝 :: 3. Linear Regression Linear Regression · 선형회귀(Linear Regression)는 데이터에 가장 잘 맞는(Best Fit) 선을 찾는 것을 말한다. · 입력값에 대한 출력값이 정해진 지도학습(Supervised Learning)이다. Best Fit의 의미는 무엇인가? · 모든 i에 대해서 모델 f(x_i)가 데이터 y_i와 가능한한 가장 가깝게 위치하는 것 · 실 Data와 '차이의 절대값'의 합이 최소가 되는 f(x)를 찾는 것 · Error Function E(w)를 최소화하는 가중치 w를 찾는 것 E(w), Error Function을 최소화하는 가중치 W 구하기 · Error Function은 아래와 같이 오차의 제곱(Squared error)으.. 2023. 3. 20.
머신러닝 :: k-NN for Classification, Regression 머신러닝 :: 2. k-NN(k-Nearest Neighbors) for Regression, Classification k-NN? · 입력받은 Data x의 특성을 파악하기 위해, k개의 가장 가까운 Data들을 통해 특징을 추출해내는 지도학습 알고리즘 · k-NN은 Data labeling이 되어있어 지도학습에 속한다. 여기서 학습(training)은 '데이터를 저장하는 단계', 테스트(test)는 '거리 계산 단계' 로 볼 수 있다. k-NN의 특징 · Case-based reasoning (instance-based, memory-based) : 찾고자 하는 값과 같은 값이 있으면 즉시 답하고, 없으면 가까운 값으로 답한다. · Lazy learning : 러닝타임 동안에는 하는 것이 없다. *L.. 2023. 3. 20.
머신러닝 :: 개요, 머신러닝 딥러닝 차이 머신러닝 :: 1. Introduction to Machine Learning · 인공지능(Artificial Intelligence) : 인간의 지적능력(계산, 학습 등)을 컴퓨터를 통해 구현하는 기능(모든 자동화) · 머신러닝(Machine Learning) : 데이터로부터 의사결정을 위한 패턴을 기계가 스스로 학습 · 딥 러닝(Deep Learning) : 인공신경망 기반의 모델로, 비저어형 데이터로부터 특징 추출/판단(=Deep Neural Network) 머신러닝이란? · "To improve the perfomance of programs base on given data, previous result, or experiences" · 전통적 프로그래밍은 규칙을 사람이 수정 해야 했지만, 머신.. 2023. 3. 20.
머신러닝 :: 머신러닝 추천 서비스 구현_데이터 필터링, 쿼리셋 다루기 _TIL67 ■ JITHub 개발일지 67일차 □ TIL(Today I Learned) :: 머신러닝 추천 서비스 구현_데이터 필터링, 쿼리셋 다루기 1. 데이터 필터링 - 특정 문자열과 일치 filter = df['col_name'] == 'check_data' result = df[filter] - 특정 문자열 포함 filter = df['col_name'].str.contains('str1|str2|str3') result = df[filter] - 특정 문자열을 제외 filter = df['col_name'].str.contains('str1|str2|str3') result = df[~filter] ※ 쿼리셋 안에서 특정 문자 포함여부 확인(__contains를 사용한다.) for i in range(0, .. 2022. 12. 8.
반응형