728x90

전체 글 109

(ML) 환경 구축 with python

Linux에서 python을 활용해 여러 ML 기술들을 사용해 보고자 한다. 그러기 위해서는 여러 환경을 미리 구축해야한다. 첫번째로 idle 설치 sudo apt-get install idle 설치가 끝나면 pip을 설치한다. sudo apt install python3-pip 이러면 기초적인 설정은 완료 되었다. 그 후로 필요한 pip을 설치해보자. 1. Supervised Learning - Linear Regression pip install numpy pip install scikit-learn pip install pandas pip install matplotlib 1) numpy : 행렬 활용 2) scikit-learn : linear_model를 사용 -> LinearRegression..

AI/ML 2023.05.02

(ML) Supervised Learning - Linear Regression

Linear Regression 이란? 독립 변수 x와 종속 변수 y의 선형 상관 관계를 모델링한 회귀분석 기법이며 𝑓(𝑥) = 𝑦' ≈ 𝑦 을 만족해야 한다. 여기서 𝑓(𝑥) = a𝑥 + b로 쓸 수 있다. 이때, Data point와 model's prediction(Output)의 차이를 Cost라 한다. Cost의 값이 클 수록 model의 quality는 떨어지므로 우리는 Cost 값을 최소화 해야한다. Cost Functions의 종류는 - Mean Absolute Error (MAE) - Mean Squared Error (MSE) - Cross-Entropy - Hinge Loss - Kullback-Leibler Divergence (KL-Divergence) - MuchX3 more c..

AI/ML 2023.05.01

(ML) 머신러닝에 필요한 기본 수학 개념

0. Mathematical principles - Linear Algebra -> Derivation of regression line -> SVM -> Model regularization -> Neural network training - Vector Calculus -> Span -> Vector Norms : vector norms란 벡터의 크기를 측정하는 것이다. 머신러닝 에서 overfitting은 좋지 않음 - Probability and Distribution - Analytic Geometry 1. Matrices - Orthogonal Matrix - Diagonal Matrix - Symmetric Matrix - Matrix Decomposition 2. Regularize Dat..

AI/ML 2023.03.28

(ML) Learning의 유형

Learning에서 대표적인 유형은 4가지로 아래와 같다. 1. Supervised(inductive) learning [지도 학습] - Training data + desired outputs (labels) = Regression 2. Unsupervised learning [비지도 학습] - Training data (without desired outputs) = Clustering 3. Semi-supervised learning [준지도 학습] - Training data + a few desired outputs = Learning both with labeled and non-labeled data 4. Reinforcement learning [강화 학습] - Rewards from se..

AI/ML 2023.03.27

(ML) ML의 기본 개념

경험 - 배울 수 있는 경험의 모든 유형 - 해답이 있는 결과, label - 많을 수록 더 좋음 예측 - 모델이 도출해낼 결과를 예측 - 같은 참 결과가 되길 기대 - 존재하는거가 보장되지 않음 이전 까지의 알고리즘 : 목표 -> 분석 -> 이해 1. 분석 2. 최적화 3. 결과를 직접 출력 ML 알고리즘 : 목표 -> 학습 -> 모델 1. 식별&생성 2. 생성에 집중 3. 결과를 발생시킬 수 있는 프로그램을 제작 Learning System 디자인 하는 법 ex) - training data를 고른다 - 정확하게 학습시킬 방법(Objective function)을 고른다 - 목표를 표현할 방법(Metric)을 고른다 - 마지막으로 알고리즘을 고른다 Data Distribution (데이터 분배) ->..

AI/ML 2023.03.27

(ML) Machine Learning?

기계 학습(Machine Learning)은 수행능력(performance P), 작업(task T)와 경험(experience E)들이 연관된 알고리즘에 대한 연구이고 로 정의 할 수 있다. ex) 학습 작업 정의 -> T를 향상시키려면 E를 바탕으로 P를 고려해야한다. T: Playing chess. P: percentage of games won against an arbitrary opponent. E: Playing practice games against itself. ML를 쓰는 경우 1. 사람의 전문성이 존재하지 않을 때 (화성에서의 조종) 2. 사람이 그들의 전문성을 설명할 수 없을 때(말, 글 인식) 3. 모델이 사용자지정이 되어야 할 때(Personalized medicine desi..

AI/ML 2023.03.26

(Data_structure) LinkedList

1. Singly Linked List Singly Linked List 인 경우 Data와 주소값을 가지는 Node들이 연결된 것을 뜻한다. head라는 노드에서부터 시작해 data1 노드 -> data2 노드 -> data3 노드 -> .... -> tail 로 이동하는 것을 뜻한다. 탐색, 삽입, 삭제를 생각하자면 탐색인 경우 Data3의 값을 찾기 위해선 head -> Data1 -> Data2 -> Data3 이렇게 순서대로 찾아야한다. 즉, 최악의 경우 n개의 data가 있으면 O(n)의 탐색 시간이 걸린다. 탐색에서 그렇다면 중간에 삽입하는 거 또한 O(n), 찾아서 삭제하는 거 또한 O(n)이 된다. 물론 head 또는 tail 부분에 추가하는 것은 O(1) time 이므로 vector 처..

Data_structure/C++ 2022.10.08

(Data_structure) Array

1. Array Array는 같은 타입의 data들을 연속으로 저장할 수 있는 자료구조이다. int arr[5], double arr[7], string arr[3] 등으로 활용 할 수 있다. (1) Array의 기본 연산 - insert_data(_idx, _data) : 해당 _idx의 위치에 _data를 삽입한다. (시간 복잡도 O(n)) - set(_idx, _data): 해당 _idx의 위치에 _data를 덮어쓴다. (시간 복잡도 O(1)) - remove(idx): 해당 _idx의 위치에 있는 data를 삭제한다. (시간 복잡도 O(n)) - at(idx): 해당 _idx의 위치에 있는 _data를 return 해준다. (시간 복잡도 O(1)) - printData(): 배열 내부에 존재하는 ..

Data_structure/C++ 2022.10.08
728x90