본문 바로가기

전체 글199

생활코딩 - 머신러닝의 분류 머신러닝 분야들을 비유를 통해서 쉽게 이해하도록 하겠지만 비유는 비슷한 것일 뿐, 진실이 아니라는 사실을 기억하자 1. 지도학습(Supervised Learning) 문제집에는 문제가 있고, 정답이 있다. 문제와 정답을 비교하고 맞추다 보면 문제풀이에 익숙해지게 된다. 이후에 비슷한 문제를 만나게 되면 정답을 맞출 확률이 올라가게 된다. 즉, 데이터로 컴퓨터(기계)를 학습시켜서 모델을 만드는 방식을 지도학습이라고 한다. 2. 비지도학습(Unsupervised Learning) 기계에게 데이터에 대한 통찰력을 부여하는 것으로 즉, 누가 정답을 알려주지 않아도 무언가에 대한 관찰을 통해 새로운 의미나 관계를 밝혀내는 것이다. 3. 강화학습(Reinforcement Learning) 문제집의 학습을 통해서 능.. 2021. 7. 2.
생활코딩 - 심리학 앞으로 머신러닝을 공부하다 보면 그만두고 싶은 생각이 드는 지점이 나타날 것이다. 이런 감정이 드는 것은 인내심이 부족해서인가? 아니면 공부를 통해 달성하고자 하는 목표가 없어서 그런 것인가? 그만두고 싶은 생각을 무시하고 계속하다 보면 뇌에서는 1차 경고로 지루함이라는 것을 준다. 지루함을 무시하고 계속하다 보면 언젠가는 지루함이 사라지고 계속 공부하고 싶다는 생각이 들 수 있지만, 초반에 지루함에 대해서 버텨내기가 힘든 경우가 많고 계속 공부를 해도 지루함 + 절망감이 생길 가능성이 있다. 그래서 앞으로의 공부전략을 나열하자면 1. 공부 -> 지루함 발생 -> 해당 공부를 유보하고 하고 싶은 공부를 한 후 나중에 다시 시작한다. 2. 공부 -> 지루함 발생 -> 지루함을 참고 계속 공부한다. 목표가 .. 2021. 7. 1.
생활코딩 - 모델 머신러닝에 관련된 용어들을 인간과 비유하자면 모델(판단력) - 인간의 뇌 학습(모델을 만드는 과정) - 일생동안 인간이 경험하고 공부하는 것들 학습이 잘 되어야 좋은 모델을 만들 수 있고, 좋은 모델은 정확하고 더 좋은 추측과 판단을 할 수 있다. 마찬가지로 인간도 어릴 때부터 학습이 잘 되어야 성인이 돼서 좋은 판단력과 두뇌를 가지게 되며 좋은 두뇌는 어떠한 문제가 발생하더라도 더 좋은 추측과 판단을 함으로써 해결할 가능성이 더 커지게 된다. 추가적인 생각) 뉴럴링크는 실현 가능한가? 생각만으로 게임을 플레이하거나 차를 운전할 수 있을까? 10년 뒤에는 AI, 머신러닝, 딥러닝과 관련된 것들이 IT의 대부분을 차지할 것인가? 당근 마켓(머신러닝 기술을 이용한 문제 게시글 자동 처리) 배달의 민족(허위 .. 2021. 7. 1.
M:M(다대다) 관계 한 명의 학생은 여러 수업에 참가할 수 있다. (1:M) 하나의 수업은 여러 학생을 수용 할 수 있다. (1:M) Question) 1. M:M(다대다)관계인 경우 두 개의 엔티티 사이에 관계 엔티티를 만들어서 다시 모델링을 하는 이유는 무엇인가? 2. 관계 엔티티를 만들지 않고 두 개의 엔티티만 만들어 놓으면 안 되는 이유는? 학생과 수업의 관계를 보면 논리적으로는 문제가 없는 것처럼 보일 수 있다. 하지만 여기에는 치명적인 문제가 있다. 학생테이블에 철수와 미나가 존재하고 철수는 파이썬과 자바 수업 2개를 수강 중이고 미나는 파이썬 수업 하나만 수강 중이라고 가정해보자. 수업 테이블에서 파이썬 수업의 경우는 철수와 미나 두명의 학생을 포함하고 있기 때문에 파이썬 수업 코드가 중복이 발생하게 되는 문제.. 2021. 6. 21.
식별자의 정의와 키의 종류 1. 식별자란? - Entitiy 내에서 각각의 인스턴스를 유일하게 구분 할 수 있는 단일 속성 또는 그룹 속성 - 테이블 내에서 각각의 튜플들을 유일하게 구분 가능한 속성이라고도 말함 2. 식별자의 특징 - Entity는 반드시 하나 이상의 식별자를 보유해야 하며 상황에 따라서 여러개의 식별자를 보유하는 경우도 있다. - 식별자를 보유해야 하는 이유는 식별자를 통해서 인스턴스 또는 튜플들의 구분을 할 수 있고 검색이나 조인시에 매우 중요하기 때문이다. 3. 후보키(Candidate Key) - 식별자 중에서 기본키(PK)가 될 수 있는 후보 속성 4. 기본키(Primary Key) - 각 인스턴스 또는 튜플들을 유일하게 식별하는데 가장 적합한 키 기본키가 가지는 특성) - Not Null - No Du.. 2021. 6. 21.
기본 개발용어 빌드 : 프로젝트 파일들을 출시하기 적합한 형태로 포장하는 일 ex) 요리한 여러개의 음식들을 도시락에 담아서 포장하는 과정 배포 : 빌드한 결과물을 사용자(클라이언트)에게 전달하는 것 - 앱 배포 : 플레이 스토어 또는 앱 스토어에 자신이 만든 앱을 올리는 것 - 웹 배포 : 서버(아파치 톰캣 또는 AWS)에 빌드한 프로젝트를 올리는 것 2021. 6. 10.