성적인증부터 하겠습니다데이터베이스 중간 발표 병원관리 데이터베이스 설계주제 선정 요구사항 설계 ER 다이어그램 설계 릴레이션 스키마 설계 CONTENTS주제 선정주제 선정 주제 병원관리 데이터베이스 시스템 구축 내용 환자 , 의사 , 간호사 관리 및 진료 정보 추적을 목적으로 하는 병원 관리 시스템을 개발주제 선정 환자 관리 : 개별 환자 정보 관리 및 진료 기록 추적 . 환자의 개인정보 , 나이 , 성별 등을 효과적으로 저장하고 관리 . 의사 및 간호사 관리 : 의사와 간호사의 인적 정보와 담당 업무 , 일정 관리 . 의사의 전문 분야 및 간호사의 근무 스케줄 등을 효율적으로 기록 . 진료 예약 및 관리 : 환자가 편리하게 진료 예약할 수 있는 시스템 . 의사 , 간호사 , 환자 간의 예약 정보 관리 . 진료 기록 관리 : 의사가 진료한 내용과 처방 , 치료 계획 등을 기록 . 환자의 진료 히스토리를 관리하여 효과적인 의료 서비스 제공 . 예약 취소 시스템 : 환자가 예약을 취소할 수 있는 편리한 방법 제공 . 예약 취소와 관련된 정보를 안전하게 저장 .요구사항 설계요구사항 설계 목표 효율적인 환자 관리 및 의료 정보 기록을 위해 필요한 시스템 요구사항 정의 . 내용 의사 , 간호사 , 환자 등 주요 엔터티의 정보 관리 진료 예약 및 예약 취소 시스템 진료 기록 관리요구사항 설계 의사 테이블 (Doctors): doctor_id (PK): 의사의 고유 식별자 doctor_name : 의사의 이름 department: 의사의 소속 부서 또는 전문 분야 phone_number : 의사의 전화번호 간호사 테이블 (Nurses): nurse_id (PK): 간호사의 고유 식별자 nurse_name : 간호사의 이름 department: 간호사의 소속 부서 또는 전문 분야 phone_number : 간호사의 전화번호 환자 테이블 (Patients): patient_id (PK): 환자의 고유 식별자 patient_name : 환자의 이름 age: 환자의 나이 gender: 환자의 성별 address: 환자의 주소 phone_number : 환자의 전화번호요구사항 설계 4 . 예약 테이블 (Appointments): appointment_id (PK): 예약의 고유 식별자 patient_id (FK): 예약한 환자의 고유 식별자 (Patients 테이블 참조 ) doctor_id (FK): 담당 의사의 고유 식별자 (Doctors 테이블 참조 ) nurse_id (FK): 담당 간호사의 고유 식별자 (Nurses 테이블 참조 ) appointment_date : 진료 예약 일자 appointment_time : 진료 예약 시간 5. 예약 취소 테이블 ( CancelledAppointments ): cancellation_id (PK): 취소된 예약의 고유 식별자 appointment_id (FK): 취소된 예약에 대한 참조 (Appointments 테이블 참조 ) cancellation_reason : 예약 취소 사유 cancellation_date : 예약 취소 일자요구사항 설계 6. 진료 정보 테이블 ( MedicalRecords ): record_id (PK): 진료 정보의 고유 식별자 patient_id (FK): 진료 대상 환자의 고유 식별자 (Patients 테이블 참조 ) doctor_id (FK): 진료 담당 의사의 고유 식별자 (Doctors 테이블 참조 ) diagnosis: 진단 내용 prescription: 처방 정보 treatment_plan : 치료 계획 record_date : 진료 기록 작성 일자ER 다이어그램 설계ER 다이어그램 설계릴레이션 스키마 설계릴레이션 스키마 설계 - 데이터베이스릴레이션 스키마 설계 - 의사릴레이션 스키마 설계 - 의사릴레이션 스키마 설계 - 의사릴레이션 스키마 설계 - 의사릴레이션 스키마 설계 - 간호사릴레이션 스키마 설계 - 간호사릴레이션 스키마 설계 - 간호사릴레이션 스키마 설계 - 간호사릴레이션 스키마 설계 - 환자릴레이션 스키마 설계 - 환자릴레이션 스키마 설계 - 환자릴레이션 스키마 설계 - 환자릴레이션 스키마 설계 - 예약릴레이션 스키마 설계 - 예약릴레이션 스키마 설계 - 예약릴레이션 스키마 설계 - 예약릴레이션 스키마 설계 - 예약취소릴레이션 스키마 설계 - 예약취소릴레이션 스키마 설계 - 예약취소릴레이션 스키마 설계 - 예약취소릴레이션 스키마 설계 - 진료 정보릴레이션 스키마 설계 - 진료 정보릴레이션 스키마 설계 - 진료 정보릴레이션 스키마 설계 - 진료 정보Thank You 감사합니다여기부터는 기말고사 발표자료 입니다 .데이터베이스 기말 발표 병원관리 데이터베이스 설계중간 발표 요약 중간 발표 이후 변경점 웹과 데이터베이스 연동 후 테스트 결과 CONTENTS중간 발표 요약중간 발표 요약 주제 병원관리 데이터베이스 시스템 구축 내용 환자 , 의사 , 간호사 관리 및 진료 정보 추적을 목적으로 하는 병원 관리 시스템을 개발중간 발표 요약 목표 효율적인 환자 관리 및 의료 정보 기록을 위해 필요한 시스템 요구사항 정의 . 내용 의사 , 간호사 , 환자 등 주요 엔터티의 정보 관리 진료 예약 및 예약 취소 시스템 진료 기록 관리중간 발표 요약중간 발표 요약중간 발표 요약중간 발표 요약중간 발표 이후 변경점중간 발표 이후 변경점테스트 결과테스트 결과 -root 계정의 암호 설정테스트 결과 -MySQL 연결테스트 결과 -MySQL 연결테스트 결과 -MySQL 데이터관련 함수테스트 결과 - MySQL 데이터관련 함수테스트 결과 - 삽입 , 갱신 , 삭제테스트 결과 - 삽입 , 갱신 , 삭제테스트 결과 - 삽입 , 갱신 , 삭제테스트 결과 - 삽입 , 갱신 , 삭제테스트 결과 - 삽입 , 갱신 , 삭제테스트 결과 - 삽입 , 갱신 , 삭제테스트 결과 - 삽입 , 갱신 , 삭제테스트 결과 - 삽입 , 갱신 , 삭제테스트 결과 - 삽입 , 갱신 , 삭제Thank You 감사합니다{nameOfApplication=Show}
인증부터 하겠습니다.2023년 겨울학기 기계학습 중간고사-합성곱신경회로망(Covolutional Neural Network)의 구성 및 특성과 모델들의 비교분석1. 시각 정보 처리와 합성곱의 필요성1950년대 말 데이비드 허벨과 토르스텐 비셀은 고양이에 대한 실험을 통해 시각 정보가 들어올 경우, 시각 피질에 있는 뉴런들이 시야의 일부 범위 안에 있는 영역에 대해 활성화되어 정보를 받아들인다는 것을 알게 되었다. 이들은 하나의 뉴런을 활성화시키는 데에 영향을 미치는 시각 정보의 영역을 수용장이라고 불렀다. 예를 들면 어떤 뉴런은 수평선 이미지에 반응하고, 어떤 뉴런은 수직선 이미지에 반응하며 이러한 낮은 수준의 이미지에 대한 반응을 조합하는 더 큰 수용장이 패턴에 반응한다는 결과였다.합성곱 신경망은 이러한 실험의 결과로 알게된 동물의 시각 정보 처리 방식을 이미지 인식에 적용한 것이다. 시각 수용장의 역할을 합성곱 혹은 컨볼루션이라는 연산이 수행해 그 결과가 신경세포로 전달된다. 이 방법은 다른 영상 분류 알고리즘에 비해 상대적으로 입력에 대한 전처리가 거의 필요하지 않다. 기존의 신경망은 학습 과정에 입력을 특징을 추출하는 방법도 함께 학습하므로 문제와 관련된 지식을 바탕으로 특징 추출해 내는 과정이 필요하지 않은 것이다. 이것이 합성곱 신경망의 주요한 장점이다.기존의 신경망은 다음과 같은 문제점을 가지고 있다. 예를 들어, 모니터 모양을 담고 있는 이미지, 즉 시각 정보가 존재한다고 하자. 이 정보를 다층 퍼셉트론과 같은 전통적 신경망에 입력하는 일은 이미지의 각 픽셀을 펼쳐서 1차원 벡터로 만드는 일과 같다. 이 벡터가 신경망에 제공되고, 신경망은 이 신호를 여러 층에 전달하며 분류나 군집화 등의 일을 수행할 것이다.이러한 방법은 다음과 같은 문제접을 갖는다. 원본이 분명 모니터와 같은 모양이 담겨있는 이미지라 할지라도 펼쳐진 1차원 벡터 형태에서는 그러한 특징을 찾기가 쉽지 않다. 우리는 이미지가 가지고 있는 기하적 특징을 이해하고, 유사한 물체들을 떠필터의 가중치를 모델의 파라미터로 만드는 일이다. 이것이 바로 합성곱 신경망의 기본 아이디어다.4. 합성곱 수행 신경망의 기본 구조와 문제아래의 그림은 입력 이미지에 필터 A를 이용하여 합성곱을 적용하여 특징을 추찰한 이미지를 얻어 신경망의 다음 단계로 연결하는 개념을 보이고 있다. 이때 학습의 대상이 되는 것은 필터가 3*3의 크기라면 9개의 요소를 찾는 일이 된다. 따라서 입력을 받아 특징 이미지를 만드는 계층의 연결강도는 9개의 파라미터로 정의된다.그런데 하나의 필터만으로는 이미지의 특징을 다양하게 추출할 수 없다. 따라서 32개의 필터를 모델의 파라미터로 두고 학습한다고 가정해 보자. 이미지 하나에 대해 모두 32장의 특징 추출 결과를 얻는다. 이것을 특성 맵이라 한다. 이때 학습해야 할 파라미터는 필터 32개가 가진 모든 요소들의 값이다.이런 구조의 연결을 통 입력 이미지를 처리하고 얻는 결과는 역시 이미지이다. 따라서 이 이미지에 대해 다시 합성곱을 수행하는 계층을 계속해서 이어나갈 수 있다. 그런데, 이때 발생할 수 있는 문제는 다음과 같다.● 점점 작아지는 이미지첫 번째 문제는 합성곱을 적용하면 이미지가 작아진다는 것이다. 원래의 이미지가 왼쪽의 파란색 픽셀로 표시된 영역인데, 이 이미지에 3*3 크기의 녹색 점선으로 표시된 필터를 사용하여 합성곱 연산을 적용할 수 있다. 그 결과로 얻게되는 픽셀은 오른쪽 그림에 표시된 S 픽셀이 될 것이다. 계속해서 합성곱을 적용할 경우, 마지막으로 할 수 있는 영역은 결과가 E 픽셀로 저장된다. 따라서 오른쪽의 결과 이미지는 왼쪽에 있는 원래의 이미지보다 작아지는 것을 확인할 수 있다. 만일 필터의 크기가 커지면 결과는 더욱 더 작아질 것이다. 따라서 연결망을 계속해서 쌓아나가면 출력에 가까운 곳에서는 이미지가 지나치게 작은 크기로 줄어들게 된다. 이미지가 줄어들지 않게 하는 방법으로 패딩이 있다.● 특징 추상화 능력합성곱을 거치면서 이미지의 크기가 작아지는 것이 이미지 전체의 특성을 요약한 것이 아니다. 또padded_img=nap.pad(array=image,pad_width=((p_size,p_size), (p_size,p_size), (0,0)),mode='constant', constant_values=0return padded_img이미지의 테두리에 0값으로 패딩이 이루어졌다. 0이지만 흰색으로 보이는 것은 알파 채널도 0으로 패딩되어 불투명도가 0, 즉 투명한 색으로 패딩이 되었기 때문이다. 알파 채널이 없는 book.png는 검정 테두리가 생긴 걸 확인할 수 있다.padded=padding(img, 2)plt.imshow(padded)padded.shape상자필터는 다음과 같이 만들 수 있다.box_filter=np.array([[1/9, 1/9, 1/9],[1/9, 1/9, 1/9],[1/9, 1/9, 1/9]])다음과 같이 특정 영역에 필터를 적용하는 연산을 구현할 수 있다.def apply_filter(small_region, filter):conv=np.multiply(small_region, filter)return np.sum(conv)이렇게 특정 영역에 필터를 적용하는 일을 이미지 전체에 각 픽셀마다 적용하면 합성곱 연산이 된다. 스트라이드는 1로 가정한다. 이미지의 형태는 r, c, channels에 저장한다. 필터의 크기를 파악하기 위해 필터의 행과 열의 수를 rp, cp로 저장한다. 행 방향 두께는 th_r, 열 방향 두께는 th_c로 잡는다. 전체 두께가 아니고 중심점에서 필터를 벗어나는 데에 몇 칸의 행과 열을 이동해야 하는지를 나타내는 정보이다. 합성곱 연산을 적용하기 시작할 지점과 마지막 지점은 각각 start와 end로 저장한다. 저장되는 이미지는 0, 0부터 좌표가 시작되도록 하고, 원래의 이미지는 두께를 이용해 영역을 떼어낸다. 그리고 필터를 지정한다.def convolution(img, filter):r, c, channels = img.shaperp, cp = filter.shapeth_r, th_c = (rp-1)력 신호들 사이의 연결 개수를 크게 줄일 수 있다.● 파라미터 공유여러 영역에 적용되는 합성곱 필터는 많은 수의 데이터를 처리하여도 작은 크기로 유지될 수 있고, 파라미터의 수도 제한적이다. 이 적은 수의 파라미터를 모든 영역에 적용하는 것은 신호를 다음 계층으로 연결할 때 같은 파라미터를 공유하여 쓰는 것과 같다. 신경망 연산의 핵심이 연결 강도를 곱하는 것이라는 점에서 파라미터 공유는 연산량 감소에 큰 역할을 하고, 더 깊은 층을 쌓을 수 있도록 한다.● 등변성 표현등변성은 어떤 함수의 입력에 특정한 변경을 적용하면 출력도 같은 방식으로 변하는 것을 의미한다. 즉 f(g(x)) = g(f(x))의 성질을 갖는 함수 f를 등변 함수라고 한다. 합성곱 신경망은 이미지의 일부가 이동함녀, 그 결과가 같은 방ㅇ식으로 이동하여 나타나게 된다. 이것은 외곽선 추출과 같은 국소적인 함수가 어디서나 효과를 발휘한다는 것을 의미한다. 유의할 점은 이미지의 크기 변화나 회전 등에 대해서는 합성곱 연ㅅ나이 등변성을 보이지 못한다는 것이다. 제프리 힌튼 교수는 이러한 문제를 해결하기 위해 캠슐 신경망 개념을 제안했다.9. 전이학습전이학습은 이미 학습이 완료된 모델을 다른 목적에 맞춰 조금만 고쳐서 사용하는 것이다. 예를 들어 학습이 완료된 모델이 있다고 하자. 이 모델의 학습에 사용된 데이터와 동일한 형태의 데이터에 대해 같은 작업을 수행한다면 변경 없이 그대로 가져다 쓰면 된다. 그러나 많은 경우 우리가 실제로 수행해야하는 일은 사전 학습된 모델과 다른 데이터에 대해 다른 예측을 해야하는 경우가 많다. 이 경우 이미 학습된 모델을 가져다가 특징을 추출하는 용도로 사용하고, 이 특징 추출기의 출력을 이용하여 우리가 원하는 작업을 수행하는 다음과 같은 구조로 바꿀 수 있으면 좋을 것이다.위와 같이 사전 학습된 모델을 가져와 일부분을 우리의 새로운 일에 활용하려면 일부 계층을 잘라서 가져오고, 이 계층들이 가지고 있는 파라미터들은 변경되지 않도록 만들어야 한다. 변경되지 않는 계층_path = 'testing.dat': 테스트 데이터를 포함한 파일의 경로를 문자열로 지정.나. 데이터 읽기:training_data = read_data(training_file_path): read_data 함수를 사용하여 training.dat 파일에서 훈련 데이터를 읽어온다. 이 데이터는 training_data 변수에 저장된다.testing_data = read_data(testing_file_path): 동일한 방식으로 testing.dat 파일에서 테스트 데이터를 읽어와 testing_data 변수에 저장한다.이 코드는 기계 학습, 데이터 분석, 통계 등의 분야에서 자주 사용되는 패턴이다. 훈련 데이터(training_data)는 모델을 학습시키는 데 사용되며, 테스트 데이터(testing_data)는 학습된 모델의 성능을 평가하는 데 사용된다. training.dat와 testing.dat라는 파일은 각각 훈련 및 테스트 데이터를 포함하고 있으며, 이 데이터는 앞서 설명한 read_data 함수를 통해 읽혀진다.4. 헬퍼 함수가. 시그모이드 함수def sigmoid(x):return 1 / (1 + math.exp(-x))이 코드는 sigmoid라는 이름의 함수를 정의하고 있으며, 시그모이드(sigmoid) 함수를 구현한다. 시그모이드 함수는 주로 기계 학습과 통계학에서 사용되며, 특히 로지스틱 회귀와 신경망에서 활성화 함수로 자주 쓰인다. 함수의 작동 방식은 다음과 같다:1) 함수 정의 (def sigmoid(x)):sigmoid라는 이름의 함수를 정의한다. 이 함수는 x라는 하나의 매개변수를 받는다. 이 매개변수는 시그모이드 함수의 입력값을 나타낸다.2) 시그모이드 함수 계산 및 반환:return 1 / (1 + math.exp(-x)):math.exp(-x)는 자연 상수 e를 ?x의 지수로 하는 지수 함수를 계산한다. 여기서 e는 약 2.71828의 값을 가지는 수학 상수이다. 1 + math.exp(-x)는1+e ^{-x}를 계산한다. 다.