일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 데이터분석
- 데이터베이스
- numpy/pandas
- CNN
- 운영체제
- 자바
- 중학수학
- SQL
- 혼공머신
- CSS
- 자바 실습
- pandas
- 파이썬
- 컴퓨터비전
- JSP/Servlet
- 데이터입출력구현
- 정보처리기사실기
- html/css
- 정수와유리수
- C++
- 영어공부
- 파이썬라이브러리
- 정보처리기사필기
- 중학1-1
- 머신러닝
- 컴퓨터구조
- 딥러닝
- 연습문제
- 텍스트마이닝
- 코딩테스트
- Today
- Total
목록분류 전체보기 (1231)
클라이언트/ 서버/ 엔지니어 "게임 개발자"를 향한 매일의 공부일지
이어서 심층 신경망 학습을 진행해 보겠다. 아침에 일정이 있어 1시간 만에 이 공부를 모두 마치려고 한다. 렐루 함수초창기 인공 신경망의 은닉층에 많이 사용된 활성화 함수는 시그모이드 함수이다. 하지만 이 함수에는 단점이 있다. 오른쪽과 왼쪽 끝으로 갈수록 그래프가 누워있기 때문에 올바른 출력을 만드는데 신속하게 대응하지 못한다. 특히 층이 많은 심층 신경망일수록 그 효과가 누적되어 학습을 더 어렵게 만든다. 이를 개선하기 위해 다른 종류의 활성화 함수가 제안되었다. 바로 렐루(ReLU) 함수이다. 입력이 양수일 경우 마치 활성화 함수가 없는 것처럼 그냥 입력을 통과하고 음수일 경우에는 0으로 만든다. 렐루 함수는 max(0, z)와 같이 쓸 수 있다. 이 함수는 z가 0보다 크면 z를 출력하고 z..
인공 신경망 공부를 마치고 드디어 심층 신경망에 대해서 공부해보려고 한다. 인공 신경망에 층을 여러 개 추가하여 패션 MNIST 데이터셋을 분류하면서 케라스로 심층 신경망을 만드는 방법을 자세히 배우게 된다. 지난 시간 복습 이렇게 층과 모델은 분리되어 관리하고 있다. 시작하기 전에이전 절에서 만들었던 인공 신경망의 성능을 더 높여보려고 한다. 2개의 층다시 케라스 API를 사용해서 패션 MNIST 데이터셋을 불러오겠다. 그다음 이미지 픽셀값을 0~255 범위에서 0~1 사이로 변환하고, 28 x 28 크기의 2차원 배열을 784 크기의 1차원 배열로 펼친다. 마지막으로 사이킷런의 train_test_split() 함수로 훈련 세트와 검증 세트로 나눈다. 인공 신경망 모델에 층을 2개 추가..
오늘은 어제에 이어 19문제를 풀었다. 오늘은 사실 아침 운동을 하지 않고 수학 공부를 계속했다. 운동을 가기에는 시간이 늦기도 했고 오후에 일정이 있어서 그때 운동을 해도 충분할 것 같았다.내일은 틀린 문제와 함께 STEP 2 과정의 문제를 풀어보려고 한다. 오늘 채점을 해보니 40문제 중에서 틀린 것은 4문제 밖에 없었다. 공부를 정말 잘했다는 뜻이다. 최상위 수학 STEP 1 문제 풀기 학습을 마치고오늘은 평소보다 수학공부를 늦게 시작했지만 그래도 1시간 이상 공부하며 목표한 분량을 모두 채웠다. 너무 늦었지만 아침 운동을 할까 고민이 된다. 그래도 마치고 나면 하루가 개운하기 때문이다.오늘도 새벽 3시 반에 일어나 하루를 공부로 시작했다. 이제 아..
어제까지 해서 SQL 공부를 모두 마치고 오늘부터는 무슨 공부를 할지 고민이 많이 되었다. 새벽에 지난번에 공부했던 머신러닝을 조금 복습하고 이제 오늘부터는 딥러닝 공부를 다시 시작해 보기로 했다. 머신러닝은 무척 많은 시간을 투자해서 공부를 열심히 했지만, 딥러닝은 그렇지 못했다. 내가 딥러닝을 공부하고 싶었던 것도 사실은 컴퓨터 비전 관련 공부를 하고 싶어서였다.책도 구입해 놓았지만 책이 너무 어려워서 과연 할 수 있을까 하는 마음이 들기도 한다. 하지만 컴퓨터 비전을 공부하게 된다면 딥러닝은 가볍게 건너뛰고 가야 하기에 고민이 많이 되었다. 아직 공부할 게 많아서 자바스크립트도 스프링도 11월까지는 끝내야 하기 때문이다. 그래도 내가 하고 싶은 공부를 위해서 느리더라도 일단 시작해 보기로 했다. 강..
저녁을 먹고 나서 다시 공부를 하기까지 많은 갈등이 되었다. 그래도 다시 자리에 앉아 공부를 할 수 있어서 다행이었다. 오늘 마치기로 한 두 개의 소단원은 꼭 마칠 예정이다.스토어드 프로시저와 함께 SQL 프로그래밍 기능으로 사용되는 데이터베이스 개체로는 스토어드 함수와 커서가 있다. 이들을 잘 활용하면 SQL의 단순한 기능을 더욱 강력하게 확장할 수 있다. 시작하기 전에스토어드 함수는 MySQL에서 제공하는 내장 함수 외에 직접 함수를 만드는 기능을 제공한다. 즉, MySQL이 제공하는 함수를 그대로 사용할 수 없는 경우가 발생한다면 직접 스토어드 함수를 작성해서 사용할 수 있다.스토어드 함수는 스토어드 프로시저와 모양이 비슷하지만, 세부적으로는 다르다. 특히 용도가 다르며, RETURNS 예약어를 통..
저녁을 먹기 전에 이 단원을 학습해보려고 한다. 지금까지 배운 SQL을 자동화하지 않고 계속 반복적으로 사용하기에는 상당한 불편함과 한계가 있다. 스토어드 프로시저를 사용하면 MySQL 안에서도 다른 프로그래밍 언어처럼 프로그램 로직의 코딩이 가능하다. 시작하기 전에SQL은 데이터베이스에서 사용되는 언어이다. 그런데 SQL을 사용하다 보면 다른 프로그래밍 언어의 기능이 필요할 때가 있다. MySQL의 스토어드 프로시저는 SQL에 프로그래밍 기능을 추가해서 일반 프로그래밍 언어와 비슷한 효과를 낼 수 있다. 스토어드 프로시저 기본스토어드 프로시저의 완전한 형식은 어렵게 느낄 수도 있지만, 실제로 사용하는 형식은 간단하다. 스토어드 프로시저의 개념과 형식스토어드 프로시저(저장 프로시저)란 MySQL에..
이제 미션 문제를 풀어볼 것이다. 이번 단원은 많이 어려워서 과연 미션 문제를 하나라도 풀 수 있을지 의문이 든다. 그래도 하나씩 차근차근 단계를 따라가 보면 반드시 문제를 풀 수 있다. 미션 1 - 키 순서대로 줄 서보기 1. 테이블 조회하기 2. 순위함수를 사용해서 키와 이름을 오름차순으로 정렬하기 뭔가 틀렸다고 한다. 정렬이 잘 되지 않은 것 같다. 다시 코드를 작성해 보자. 3. 정렬 순서를 바꿔서 코드 수정하기 문제를 잘 풀었다. 무척 어려울 줄 알았는데 충분히 풀 수 있었다. 미션 2 - B등급 누가 받을까 1. 테이블 조회하기 우선 B등급을 받는 학생들의 번호를 출력하기 위해서 ID와 성적 정보가 담겨있는 STUDENT 테이블을 통해 상위 30% ..
그룹 함수에 대해서 이어서 학습해 보겠다. 이 단원 학습만 마치면 거의 모든 과정이 끝난다. 이론 7 - 그룹 함수 : ROLL UP, CUBE DEPARTMENT_NAME을 기준으로 전체 값에 대한 평균을 구한다. CUBE 함수는 ROLL UP의 합이라고 보면 된다. 조금 전에 ROLL UP 함수에서 ROLL UP(D.NAME, J.NAME)과 ROLL UP(J.NAME, D.NAME)의 값이 달랐다. 하지만 CUBE는 이 둘을 합쳐준다. 그러면 CUBE(D.NAME, J.NAME) 값이 된다. 마리아 DB에서는 CUBE를 지원하지 않는다. ROLL UP 2개를 UNION을 통해 합쳐서 표현할 수 있다. 실습 8 - 그룹 함수 : ROLL UP 1. 테..
드디어 그룹 함수에 대해서 학습을 시작해 본다. 이제 얼마 남지 않았으니 좀 더 힘을 내볼 것이다. 이론 6 - 그룹 함수 : GROUP BY 급여의 평균값을 구하는데 이것을 GROUP BY로 지정해준다. 실습 7 - 그룹 함수 : GROUP BY 1. 테이블 조회하기 BOOK_HISTORY 테이블에는 책 ID, 책 이름, 책 종류, 책 카테고리, 판매 개수 정보가 담겨있다. 판매 현황을 알아보기 위해서, 책 종류와 책 카테고리 묶음 별로 몇 권씩 판매되었는지 확인해보려고 한다.책 판매 기록에서, 책 종류와 책 카테고리를 기준으로 GROUP BY를 이용해 그룹화하여 총 판매 개수를 구하는 쿼리를 작성해 볼 것이다. 2. 책 종류와 책 카테고리를 기준으로 책 종류, ..
이어서 그룹 내 비율 함수의 실습 문제를 풀어보겠다. 실습 6 - 윈도우 함수 : 그룹 내 비율 함수(NTILE) 1. 테이블 조회하기 학생들의 점수 총합을 기준으로 3개 반으로 나누어 구분 지으려고 한다. 학생들의 수학, 물리, 화학 점수의 총합을 기준으로 NTILE을 이용하여 3개의 그룹으로 나누어 조회하는 쿼리를 작성해 볼 것이다. 2. 수학 점수, 물리 점수, 화학 점수를 모두 합한 총합 점수 구하기 이제 NTILE을 이용하여 총합 점수 내림차순 기준, 3개의 그룹으로 나누어 볼 것이다. 해당 값들을 통해 ID, 수학 점수, 물리 점수, 화학 점수, 총합 점수, 그룹 값을 조회하는 쿼리를 작성해본다. 3. NTILE을 이용하여 총합 점수 내림차순 기준, 3개의 그룹으로 나누..