일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 밑시딥
- 밑바닥부터 시작하는 딥러닝
- 예측선
- 딥페이크
- 학습 자동 중단
- 선형회귀
- 뉴로 심볼릭
- andoriod with kotlin
- MRC
- 다중분류
- GPT-3
- 과적합
- 코틀린
- 베스트 모델
- ESG 채권
- k겹 교차검증
- 모두의 딥러닝
- 로지스틱 회귀법
- ESG
- 안드로이드 구조
- 밑시딥2
- 안드로이드
- 경제신문스크랩
- 보이스피싱
- 독서 #독서후기 #피로사회 #행동과잉 #긍정과잉
- 경사하강법
- nlp
- 면접왕이형
- 면접왕 이형
- gradiant descent
- Today
- Total
목록Study/딥러닝 (11)
Practice makes perfect!
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/nNS1K/btrfZpjg7sI/xk09b8SJ0UEIRMUKhs7X21/img.png)
1. 자연어 처리란 NLP (Natural Language Processing)는 자연어를 처리하는 분야, 우리의 말을 컴퓨터에게 이해시키기 위한 기술이다. 영어, 한국어와 같은 자연어는 기계적이고 고정된 프로그래밍 언어와 달리 같은 의미의 문장도 여러 형태로 표현할 수 있고, 그 의미나 형태가 유연하게 바뀔 수 있다. 활용되는 예로 검색엔진, 기계번역, 질의응답 시스템, IME(입력기 전환), 문장 자동요약, 감정분석 등이 있다. 자연어를 컴퓨터에게 이해시키는 데는 '단어의 의미'를 이해시키는 것이 중요하다. 시소러스를 활용, 통계 기반, 추론 기반(word2vec) 이렇게 세 가지 기법이 있다. 2. 시소러스 먼저 시소러스는 사람이 직접 단어의 의미를 정의하는 방식이다. 시소러스는 '동의어'와 '유의..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/SJH5o/btq52Bn9fGa/bpKCdr1r2hgBSkYSRJBkn0/img.png)
# 데이터 입력 df_pre = pd.read_csv('../dataset/wine.csv', header=None) # sample()는 원본 데이터에서 정해진 비율만큼 랜덤으로 뽑아오는 함수. # frac=1은 100% df = df_pre.sample(frac=1) # 모델 업데이트 모델 저장 폴더 설정 (에포크마다 모델의 정확도를 저장할 폴더) MODEL_DIR = './model/' if not os.path.exists(MODEL_DIR): # 폴더가 존재하지 않으면 os.mkdir(MODEL_DIR) # 이 이름의 폴더 생성 # checkpointer에 모니터할 값 지정 val_loss : 테스트 오차(케라스 내부에서 기록되는 값) 모델이 저장될 곳 : 위에서 생성한 modelpath ver..
과적합 모델이 학습 데이터셋 안에서는 일정 수준 이상의 예측 정확도를 보이지만, 새로운 데이터에 적용하면 잘 맞지 않는 것을 말함 층이 너무 많거나 변수가 복잡해서, 또는 테스트셋과 학습 셋이 중복될 때 발생 해결방법 학습 데이터셋과 테스트 데이터셋을 완전히 구분한 후, 학습과 테스트를 동시에 병행하며 진행 머신러닝의 최종 목적은 과거의 데이터를 토대로 새로운 데이터를 예측하는 것 -> 테스트셋을 만들어 정확한 평가를 병행하는 것이 중요! -학습이 깊어져서 학습셋 내부에서의 성공률은 높아져도 테스트셋에서는 효과가 없다면 과적합이 일어나고 있는 것. 학습을 진행해도 테스트 결과가 더 이상 좋아지지 않는 지점에서 학습을 멈춰야 함. # 학습 셋과 테스트 셋의 구분 테스트 셋을 30%로 설정 X_train, ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cXYWGO/btq500WpHbU/C429FI8gTL4Gz6HVKlEofK/img.png)
# species 데이터에 문자열이 있기 때문에 numpy대신 pandas를 이용해 데이터 불러옴 df = pd.read_csv('../dataset/iris.csv',names = ["sepal_length","sepal_width","petal_length","petal_width","species"]) print(df.head()) import seaborn as sns import matplotlib.pyplot as plt # pairplot 함수를 이용해 데이터 전체를 한번에 보는 그래프 출력 sns.pairplot(df,hue='species') plt.show() # 꽃잎과 꽃받침의 크기와 너비가 품종별로 차이가 있음을 확인할 수 있음. # 문자열을 숫자로 변환 클래스 이름(문자열)을 숫자..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/Z4fXC/btq54p1ie7K/cDjOSyD1rzlcBNH65pKkJ0/img.png)
csv 파일에는 데이터를 설명하는 한 줄이 맨 처음에 나옴(헤더) 우리가 가진 csv 파일에는 헤더가 없기 때문에, name 함수를 통해 속성별 키워드 지정 df = pd.read_csv('../dataset/pima-indians-diabetes.csv',names=["pregnant","plasma","pressure","thickness", "insulin","BMI","pedigree","age","class"]) # 정보별 특징을 더 자세히 확인 샘플수, 평균, 표준편차, 최솟갑, 백분위 수에 해당하는 값, 최댓값 보여줌. print(df.describe()) import matplotlib.pyplot as plt # 그래프를 그리기 위한 라이브러리 import seaborn as sns # ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cZXS9z/btq2MkwIIXP/Gt0Thk05zPGyn3TB7bhr50/img.jpg)
* 모델 정의 #딥러닝을 구동하는 데 필요한 케라스 함수 호출 from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense #필요한 라이브러리 불러옴 import numpy as np import tensorflow as tf #실행할 때 마다 같은 결과를 출력하기 위한 설정 np.random.seed(3) tf.random.set_seed(3) #준비된 수술 환자 데이터 불러옴 Data_set = np.loadtxt("../dataset/ThoraricSurgery.csv",delimiter=",") #환자의 기록과 수술 결과를 X와 Y로 구분하여 저장 X = Data_set[:,0:17] Y = Data..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/BHlu1/btq2kBxDmmV/hsyAFxPPF9A3ttGZaA3zyK/img.png)
퍼셉트론(perceptron) : 신경망을 이루는 가장 중요한 기본 단위 1. 가중치, 가중합, 바이어스, 활성화 함수 가중치 w (weight) 가중합 (weighted sum) 바이어스 (bias) 활성화 함수 (activation function) - ex) 시그모이드 함수 2. XOR 문제 AND와 OR 게이트와 달리 XOR 게이트는 선을 그어 결과값이 1인 값을 구별할 수 없다. 10여 년이 지난 후에야 이 문제를 해결한 개념이 다층 퍼셉트론(multilayer perceptron)이다. 3. 다층 퍼셉트론 XOR 문제의 해결책은 종이를 휘어 주는 것이다. 즉, 좌표 평면 자체에 변화를 주는 것이다. 이를 위해 은닉층(hidden layer)을 만들어 공간을 왜곡하고 두 개의 퍼셉트론을 한 번에..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/d7MCOe/btq2njwuMjN/7eGv36FBmwqZMkuSGQZKb0/img.png)
1. 로지스틱 회귀의 정의 합격, 불합격과 같이 참(1)과 거짓(0)값을 갖는 점들의 특성을 담아낼 수 있는 선을 긋는 작업이다. 1과 0 사이의 값이 없으므로 직선으로 그리기 어렵다. 따라서 아래와 같이 S자 형태로 그려진다. 2. 시그모이드 함수 시그모이드 함수는 y값이 0과 1 사이이다. 이 식에서 a는 그래프의 경사도를, b는 그래프의 좌우 이동을 의미한다. 따라서 a와 b의 값에 따라 오차가 변한다. a값에 따라 변화하는 오차를 그래프로 나타내면 아래와 같다. a 값이 작을 때는 0 또는 1의 값을 아예 나타내지 않는 직선이 된다. 따라서 오차가 무한대로 증가한다. 하지만 a 값이 크다고 해서 오차가 사라지지는 않는다. b값이 너무 크거나 작을 경우 오차는 위와 같이 이차함수 그래프와 유사한 형..