본문 바로가기

분류 전체보기68

로지스틱 회귀 이번 포스팅에서는 로지스틱 회귀에 대해 혼공머신이 설명한 내용을 리뷰하도록 하겠습니다. - Logistic regression(로지스틱 회귀) 로지스틱 회귀는 선형 회귀와 동일하게 선형 방정식을 학습합니다. 가령 식으로 표현하면, z = a * w + b * L + c * D + e와 같습니다. 여기서 a, b, c는 각 가중치 혹은 계수가 되고 e는 편차 혹은 절편으로 상수값이 됩니다. 이 식은 다중 회귀의 선형 방정식과 같다고 볼 수 있습니다. 이때 z값을 확률로써 표현하기 위해 시그모이드 함수를 사용합니다. 식과 그래프는 다음과 같습니다. 선형 방정식의 출력 z의 음수를 사용하여 자연 상수 거듭제곱하여 1을 더한 값의 역수를 취합니다. 이 함수 식은 딥러닝의 활성화 함수로도 자주 사용되니 알아두면 .. 2023. 1. 4.
신경망을 이용한 회귀: 주택 가격 예측 분류 문제와 달리 이번에는 회귀 문제를 다뤄보도록 하겠습니다. 회귀 문제는 개별적인 레이블을 예측하는 것이 아닌 연속적인 값들을 예측하는 것을 의미합니다. 가령, '기상 데이터로 내일의 기온을 예측하기'가 이에 해당할 것입니다. -보스턴 주택 가격 데이터 셋 보스턴 데이터 셋을 활용하여 주택 가격을 예측해 보겠습니다. 해당 데이터 셋은 1970년대 중반 보스턴 외곽 지역의 범죄율, 지방세율 등의 데이터 셋입니다. 데이터 샘플은 총 506개이며, 404개는 훈련 샘플, 나머지 102개는 테스트 샘플입니다. 보스턴 주택 데이터 셋도 케라스에서 간편하게 로드할 수 있습니다. from tensorflow.keras.datasets import boston_housing (train_data, train_targ.. 2022. 12. 29.
신경망을 이용한 다중 분류 문제: 뉴스 기사 분류 이전 포스트에서 2개의 클래스를 분류하는 모델을 만들어보고 예측까지 해보았습니다. 이번 포스트에서는 2개 이상의 클래스를 분류하는 다중 분류 모델을 만들어보겠습니다. 이전 포스트와 거의 유사하니 이전 포스트를 참고해주세요! https://sanmldl.tistory.com/15 신경망을 이용한 이진 분류: 영화 리뷰 분류 지금까지 다룬 내용을 바탕으로 신경망에서 가장 많이 다루는 이진 분류, 다중 분류, 회귀의 실제 문제를 풀어볼 예정입니다. 이번 포스트에서는 그 중에서 이진 분류의 문제를 다뤄보도록 하겠 sanmldl.tistory.com 뉴스 기사 분류: 다중 분류 -로이터(Reuter) 데이터셋 로이터 데이터셋은 짧은 뉴스기사와 토픽을 매칭한 데이터 셋입니다. 46개의 토픽이 있으며 각 토픽은 최소.. 2022. 12. 29.
신경망을 이용한 이진 분류: 영화 리뷰 분류 지금까지 다룬 내용을 바탕으로 신경망에서 가장 많이 다루는 이진 분류, 다중 분류, 회귀의 실제 문제를 풀어볼 예정입니다. 이번 포스트에서는 그 중에서 이진 분류의 문제를 다뤄보도록 하겠습니다. 영화 리뷰 분류: 이진 분류 이진 분류는 머신 러닝 문제에서 가장 많이 다루는 문제 중 하나입니다. 이 예제를 통해 리뷰 텍스트를 기반으로 영화 리뷰를 긍정/부정으로 분류하는 모델을 만들어보겠습니다. - IMDB 데이터셋 영화 리뷰 분류를 위해 사용할 데이터는 IMDB데이터셋입니다. 인터넷 영화 데이터베이스로부터 가져온 5만 개로 이뤄진 데이터셋 입니다. 해당 데이터 셋은 훈련데이터 2만 5000개 테스트 데이터 2만 5000개, 긍정/부정이 각각 50%로 구성되어 있습니다. 케라스에 IMDB데이터 셋이 있기 때.. 2022. 12. 28.
다중회귀 & 릿지, 라쏘회귀 이전 포스팅에서 선형 회귀에 대해 알아보았습니다. 이번 포스팅에서는 다중 회귀와 릿지, 라쏘 회귀를 알아보겠습니다. 이전 포스팅에서의 선형 회귀는 하나의 특성(feature)를 사용하여 모델에 학습시켰습니다. 하나의 특성만을 통해 회귀 모델을 만들어내는 것은 과소적합의 문제가 발생할 수 있습니다. 즉, 모델이 적절하게 학습하지 못한 것을 의미합니다. 이를 해결하기 위한 하나의 방법으로 다중회귀가 있습니다. 1. 다중 회귀 다중회귀는 여러 개의 특성을 사용한 선형 회귀를 의미합니다. 특성이 하나면 직선을 학습하고, 특성이 두개면 평면을 학습합니다. 그림1을 보면 더욱 쉽게 이해할 수 있습니다. 오른쪽 그림처럼 특성이 2개이면 타깃값을 기준으로 3차원 공간을 형성하고 선형 회귀 방정식은 직선이 아닌 평면이 .. 2022. 12. 8.
기본적인 회귀 알고리즘: 선형회귀, 다항회귀 앞선 포스팅에서 지도학습이 무엇인지 확인했습니다. 지도학습에는 대표적으로 회귀, 분류와 같은 문제에 적용되어 해결책을 제시해줍니다. 그렇다면 회귀에는 어떠한 종류가 있을까요? 다양한 종류가 있지만 이번 포스팅에서는 이해하기 쉽고, 기본이 되는 선형회귀와 다항회귀에 대해 알아보겠습니다. 1.선형회귀 우선, 선형회귀는 말 그대로 선형의 형태의 학습 알고리즘으로 값을 예측하는 것입니다. 즉, 선형회귀는 특성과 타깃 사이의 관계를 가장 잘 나타내는 선형 방정식을 찾는 것을 의미합니다. 일차 방정식의 형태는 특성이 하나인 경우에 적합합니다. 일차 방정식의 직선은 하나의 특성을 잘 표현하는 형태로 나타나야 학습도 잘 이뤄졌다고 할 수 있겠습니다. 수학시간에 배운 일차방정식을 생각해보세요. y = ax + b 꼴의 .. 2022. 12. 7.
텐서플로우를 통한 딥러닝 모델 직접 구현 앞선 포스트에서는 keras를 이용하여 딥러닝의 간단한 구조를 이해하고 모델을 만들어서 학습해보았습니다. 이번 포스트에서는 그 과정을 직접 코드로 구현하여 보다 완전하고 명확하게 딥러닝의 구조를 이해해보고자 합니다. 기본적인 텐서연산과 역전파는 직접 구현하진 않지만 케라스의 기능을 사용하지 않는 저수준의 구현을 해보겠습니다. 이번에 나오는 내용이 이해가 안되더라도 계속해서 포스트에서 설명할 것이기 때문에 일일히 모든 것을 이해할 필요는 없습니다. 다만, 각각의 구체적인 구현에서 어떠한 부분이 핵심 내용인지 짚고 넘어가는 것은 필수적입니다. 우선 단순한 dense클래스를 구현해보겠습니다. output = activation(dot(W, input) + b)의 식을 기억하실겁니다. W는 가중치, b는 편향으.. 2022. 12. 7.
keras API를 통한 간단한 딥러닝 모델 만들기 이전 포스팅에서는 딥러닝을 위해 필요한 기본적인 개념들에 대해 알아보았습니다. 이번에는 딥러닝이 이뤄지는 구조를 알아보고, 그 구조를 직접 예제를 통해 구현해보는 시간을 가져보겠습니다. 딥러닝의 구조는 다음 그림1과 같습니다. 층이 서로 연결되어 모델을 구성하고, 모델은 입력데이터로 예측을 합니다. 그 다음 예측과 실제 값을 비교하여 손실 값을 계산하고(모델이 얼마나 잘 예측했는지 파악함), 옵티마이저를 통해 이 손실값을 최소화하는 방향으로 모델의 가중치를 업데이트 하는 것입니다. 이러한 구조를 keras API를 사용하여 구현해보겠습니다. from tensorflow import keras from tensorflow.keras.datasets import mnist 우선, keras와 mnist데이터.. 2022. 12. 5.
데이터 전처리 기초 with python (2) 이번 포스트에서는 머신러닝에서 올바른 결과 도출을 위해 데이터 전처리 하는 법을 예제 코드를 통해 알아보겠습니다. 그 중 표준 점수로 특성의 스케일을 변환하는 법에 대해 알아보도록 하겠습니다. 데이터를 먼저 준비하겠습니다. 이전 포스트에서 계속 다루던 도미와 빙어 데이터로 준비했습니다. import numpy as np fish_length = [25.4, 26.3, 26.5, 29.0, 29.0, 29.7, 29.7, 30.0, 30.0, 30.7, 31.0, 31.0, 31.5, 32.0, 32.0, 32.0, 33.0, 33.0, 33.5, 33.5, 34.0, 34.0, 34.5, 35.0, 35.0, 35.0, 35.0, 36.0, 36.0, 37.0, 38.5, 38.5, 39.5, 41.0,.. 2022. 11. 24.