아래에 구글 드라이브로 공유한 패킷 파일은 악성코드를 다운받는 패킷을 캡쳐한 것이다. 해당 파일에서 추출한 파일은 절대 실행시키지 말자! https://drive.google.com/file/d/1sd_kytqBFKbRx-ZFFXrnOZuwhBm_pppI/view?usp=sharing bin.pcapng drive.google.com 패킷을 wireshark로 열어보면 다음과 같이 열린다. 전체 패킷은 다운로드 과정 외에도 필요없는 패킷이 포함되어 있다. 이 중 다운로드와 관련된 패킷만 보기 위해서 File -> Export Objects -> HTTP로 확인해보면 다음과 같이 여러 페이지와 bin.sh를 받은 파일들을 확인할 수 있다. 이 중 bin.sh를 클릭해보면 전체 패킷 중 파일을 다운로드한 패..
단어 집합 단어 집합은 서로 다른 단어들의 집합이다. book과 books는 비슷해보이지만 단어 집합의 의미에선 다른 단어이다. 이렇게 중복을 허용하지 않고 모든 단어를 모아 놓은 것을 단어 집합이라고 한다. 이 단어들을 가지고 숫자(사실은 벡터)로 바꾸는 방법을 배운다. 원핫 인코딩을 하기 전에 먼저 단어 집합을 만들어야 한다. 중복 없이 다른 단어 500개가 모여서 문장을 만들면 크기가 500인 단어 집합이 만들어진다. 이 집합에 1부터 500까지의 인덱스를 부여한다. 고유한 인덱스를 가진 단어들을 벡터로 바꿔야한다. 이렇게 만들어진 벡터 중 표현하고 싶은 단어의 인덱스에 1을 부여하고, 다른 인덱스는 0을 부여한다. 케라스에서 지원하는 to_categorical을 이용해 원핫인코딩을 사용할 수 있다..
데이터셋의 자료형은 대부분 수치형(정수나 실수 등)을 사용해 표현한다. 수치형이 데이터를 불러와 평균을 계산하거나 plot으로 표현하기에 편하기 때문이다. 하지만 어쩔 수 없이 여러 속성값을 이용해 표현해 놓은 데이터가 있기 마련이다. 이런 데이터들을 속성 값에 따라 수치형으로 바꿔 표현해주는 get_dummies() 함수가 있다. 위 데이터프레임에서 paymentMethod는 creditcard, storecredit, paypal 3가지의 속성값을 가진다. 이 속성값이 사용되었는지에 따라 0이나 1로 표현해주는 함수이다. import pandas as pd df = pd.read_csv('/Users/a111/ML/book-resources-master/chapter2/datasets/payment_..
머신러닝 학습을 할 때 내가 준비한 데이터로 train set과 test set을 나눠 학습을 하면 고정된 set에만 올바르게 동작하는 과적합이 발생한다. 과적합이 발생했을 때 해결 방법은 간단하게 데이터를 늘려 학습량을 늘리는 방법이 있다. 하지만 무턱대고 학습량을 늘리면 시간이 너무 오래걸릴 수 있다. 이에 대한 해결책을 아래에서 설명했다. https://watchout31337.tistory.com/403 과적합을 막는 방법 1. 데이터의 양 늘리기 데이터의 양이 적을 경우, 해당 데이터의 특정 패턴이나 노이즈까지 쉽게 학습하는 과적합 현상이 발생한다. 따라서 데이터의 양을 늘려 모델이 데이터의 일반적인 패턴 watchout31337.tistory.com 이런 방법들 말고도 앙상블(Ensemble)..
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..
- Total
- Today
- Yesterday
- SOME/IP
- many-to-one
- 로지스틱회귀
- problem statement
- json2html
- 크로스 엔트로피
- Python
- SVM
- AE
- 차량용 이더넷
- one-to-many
- automotive ethernet
- cuckoo
- PCA
- many-to-many
- Ethernet
- CAN-FD
- 딥러닝
- 머신러닝
- 차량 네트워크
- HTML
- 케라스
- AVTP
- 단순선형회귀
- 이상탐지
- 논문 잘 쓰는법
- automotive
- porks
- 회귀
- AVB
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |