SVM이란 N차원 공간을 N-1차원으로 나누는 분류 기법이다. 이렇게 0과 1을 나누는 최적의 경계를 찾는 기법을 말한다. 경계를 기준으로 각 클래스의 말단 데이터(support vector)와 경계 사이의 공간을 마진이라고 하고 이 마진을 최대화 하는 경계를 찾는다. 마진이 최대화해야 robustness값이 최대가 되기 때문이다. robust(튼튼한)의 의미는 최적으로 일반화를 하여 이상치(outlier)의 값이 들어와도 크게 흔들리지 않는다는 말이다. 파란 클래스와 빨간 클래스의 값들이 경계쪽으로 조금 더 다가와도 경계에 크게 영향을 미치않아야한다. 새로운 데이터가 들어와도 경계에 영향을 미치지 않을 수 있다. N차원은 N-1차원으로 나눈다는 의미를 생각해보면 위 그림에서 2차원 공간을 분류하기 위해..
케라스의 texts_to_matrix()이해하기 import numpy as np from tensorflow.keras.preprocessing.text import Tokenizer texts = ['먹고 싶은 사과', '먹고 싶은 바나나', '길고 노란 바나나 바나나', '저는 과일이 좋아요'] #정수 인코딩 tokenizer = Tokenizer() tokenizer.fit_on_texts(texts) #texts 정수 인코딩 후 빈도수가 높은 순대로 정렬 print(tokenizer.word_index) #입력된 텍스트 데이터로부터 행렬을 만든다. #0열은 기본으로 0으로 삽입, 1행은 인덱스 1(바나나), 2행은 인덱스 2(먹고)... print(tokenizer.texts_to_matrix(..
케라스는 손쉽게 딥 러닝을 구현할 수 있도록 도와주는 인터페이스다. 전처리 tokenizer() : 토큰화와 정수 인코딩을 위해 사용한다. 다음은 훈련 데이터로부터 단어 집합을 생성하고, 해당 단어 집합으로 임의의 문장을 정수 인코딩하는 과정을 보여준다. from tensorflow.keras.preprocessing.text import Tokenizer from tensorflow.keras.preprocessing.sequence import pad_sequences tokenizer = Tokenizer() #단어의 토큰화와 정수 인코딩(단어에 정수를 부여)을 위한 토큰 생성 train_text = "the earth is an awesome place live" #훈련을 위한 단어 샘플 toke..
1. 데이터의 양 늘리기 데이터의 양이 적을 경우, 해당 데이터의 특정 패턴이나 노이즈까지 쉽게 학습하는 과적합 현상이 발생한다. 따라서 데이터의 양을 늘려 모델이 데이터의 일반적인 패턴을 학습할 수 있도록 한다. 데이터의 양이 적을 경우엔 기존의 데이터를 조금씩 변형하고 추가하여 데이터의 양을 늘리는 데이터 증강을 한다. 2. 모델의 복잡도 줄이기 인공 신경망의 복잡도는 은닉층의 수나 매개변수의 수 등으로 결정된다. 과적합이 발생하면, 은닉층의 수를 줄이거나 매개변수의 수를 조정해 복잡도를 줄인다. 3.가중치 규제 적용하기 L1 규제 : 가중치 w들의 절대값 합계를 비용 함수에 추가한다. L2 규제 : 모든 가중치 w들의 제곱합을 비용함수에 추가한다. L1 규제는 기존의 비용 함수에 모든 가중치에 대해..
1. 손실 함수 손실 함수는 실제값과 예측값 차이를 수치화해주는 함수이다. 차이가 심할수록 손실 함수의 값이 크고 오차가 작을 수록 손실 함수의 값은 작아진다. 회귀에서는 평균 제곱 오차, 분류에서는 크로스 엔트로피를 사용한다. 손실 함수의 값을 최소화하기 위한 가중치와 편향을 찾는것이 딥 러닝의 학습 과정의 주요점이다. 따라서 손실 함수의 값을 잘 선정해야한다. MSE(Mean Squared Error) 평균 제곱 오차는 연속형 변수를 예측할 때 사용한다. model.compile(optimizer='adam', loss='mse', metrics=['mse']) 이진 크로스 엔트로피 출력층에서 시그모이드 함수를 사용하는 이진 분류에서 사용한다. model.compile(loss='binary_cros..
입력층에서 출력층으로 연산을 진행하는 과정을 순전파라고 한다. 단순히 입력데이터가 출력층으로 출력되는 과정이다. 입력층이 3개, 출력층이 2개인 신경망에서 6개의 가중치가 나온다. 이를 행렬곱 관점에서 3차원 벡터에서 2차원 벡터가 되기 위해서 3*2 행렬을 곱했다고 생각하면 된다. y1에 연결되는 그래프는 주황색, y2에 연결되는 그래프는 초록색으로 표현했다. 여기서 편향 b는 생략되는 경우가 많다. 편향의 개수는 출력 차원의 개수와 동일하다. 가중치 6개와 편향의 개수 2개로 학습가능한 매개변수가 8개이다. from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense model = Sequential()..
피드 포워드 신경망(FFNN) 입력층에서 출력층 방향으로 연산이 앞으로 전개되는 신경망을 피드 포워드 신경망이라고한다. RNN은 은닉층의 출력값을 출력으로도 보내지만, 은닉층의 출력값이 다시 은닉층의 입력으로 사용되는 신경망이다. 전결합층(Dense layer) MLP의 은닉층과 출력층의 뉴런은 이전 층의 모든 뉴런과 연결이 되어있는 층을 전결합층이라고 한다. 위 사진 모두 은닉층과 출력층이 이전의 모든 뉴런과 연결되어 있는 전결합층이다. 활성화 함수 은닉층과 출력층의 뉴런에서 출력값을 결정하는 함수를 활성화 함수라고 한다. or, and, nand 게이트의 경우엔 계단 함수를 통해서 출력값을 0이나 1로 결정했다. 활성화 함수의 특징은 비선형 함수여야 한다. 선형 함수는 입력의 상수배만큼 출력값이 변하..
출처 : https://wikidocs.net/24958 01) 퍼셉트론(Perceptron) 인공 신경망은 수많은 머신 러닝 방법 중 하나입니다. 하지만 최근 인공 신경망을 복잡하게 쌓아 올린 딥 러닝이 다른 머신 러닝 방법들을 뛰어넘는 성능을 보여주는 사례가 늘면 ... wikidocs.net 딥러닝이랑 머신러닝은 차이가 있다. 딥러닝은 인공 신경망을 복잡하게 쌓아 올린 방법으로 머신러닝보다 뛰어난 성능을 보여준다. 먼저 초기의 인공 신경망인 퍼셉트론을 이해해야한다. 퍼셉트론(perceptron)은다수의 입력으로부터 하나의 결과를 내보내는 알고리즘이다. x는 입력값을 의미하며, w는 가중치, y는 출력값을 의미한다. 원은 인공 뉴런에 해당된다. 가중치는 신호를 전달하는 역할이다. 가중치의 값이 클수록..
#확률적 경사 하강법 #조금씩 데이터를 훈련시킬 때 사용 #손실 함수 #머신러닝 알고리즘이 얼마나 엉터리인지를 측정하는 기준. 값이 작을수록 좋음. #최소의 손실 함수 값을 찾기위해 확률적 경사 하강법을 사용. #로지스틱 손실 함수 #하강 경사법은 연속적이야 하기 때문에 로지스틱 회귀 모델 확률을 사용 #로그 함수로 연속적임을 나타내는데, 예측확률은 0~1 사이이고 여기서는 로그 값이 음수이므로 -log로 계산한다. import pandas as pd from sklearn.model_selection import train_test_split from sklearn.preprocessing import StandardScaler from sklearn.linear_model import SGDClass..
import pandas as pd from sklearn.model_selection import train_test_split from sklearn.preprocessing import StandardScaler from sklearn.neighbors import KNeighborsClassifier import numpy as np fish = pd.read_csv('https://bit.ly/fish_csv_data') fish.head() print(pd.unique(fish['Species'])) #species 열만 출력 #데이터 준비 fish_input = fish[['Weight', 'Length', 'Diagonal', 'Height', 'Width']].to_numpy() #원하는..
- Total
- Today
- Yesterday
- one-to-many
- AVB
- AE
- 이상탐지
- 차량용 이더넷
- CAN-FD
- porks
- 크로스 엔트로피
- 회귀
- SVM
- cuckoo
- 로지스틱회귀
- HTML
- PCA
- automotive
- json2html
- 논문 잘 쓰는법
- 딥러닝
- Python
- Ethernet
- many-to-one
- 머신러닝
- 케라스
- 차량 네트워크
- 단순선형회귀
- SOME/IP
- automotive ethernet
- AVTP
- many-to-many
- problem statement
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |