Skip to main content
Summary

비슷한 사람끼리 자연스럽게 모이게 하기

지난 장에서 우리는 비지도학습을 "정답표 없이 데이터 속 구조를 찾는 일"이라고 보았습니다. 이번 장에서는 그중에서도 가장 대표적인 방법인 군집화를 조금 더 가까이 들여다보겠습니다.

군집화는 말 그대로 데이터를 비슷한 것끼리 묶는 작업입니다. 여기서 중요한 점은 처음부터 정답 그룹이 주어지지 않는다는 것입니다. "이 고객은 VIP", "저 고객은 이탈 위험 고객", "이 사용자는 할인 쿠폰에 민감한 사람" 같은 라벨이 미리 붙어 있지 않습니다. 대신 모델은 데이터의 모양을 보고 이렇게 묻습니다.

"서로 가까운 데이터끼리 묶으면 어떤 무리가 생길까?"

예를 들어 온라인 쇼핑몰 고객 데이터가 있다고 해 봅시다. 각 고객에 대해 최근 방문일, 한 달 구매 횟수, 평균 결제 금액, 할인 쿠폰 사용 비율, 장바구니 담기 횟수 같은 정보가 있습니다. 이때 우리는 아직 고객 유형을 모릅니다. 하지만 데이터를 펼쳐 놓고 보면 어떤 고객들은 자주 방문하고 자주 구매합니다. 어떤 고객들은 가끔 들어오지만 한 번 살 때 금액이 큽니다. 또 어떤 고객들은 할인 쿠폰이 있을 때만 움직입니다.

군집화는 이런 고객들을 비슷한 행동 패턴끼리 묶어 줍니다. 지도학습이 "정답을 맞히는 모델"에 가깝다면, 군집화는 "데이터 속에 숨어 있는 자연스러운 무리를 발견하는 모델"에 가깝습니다.

군집화와 K-means

군집화에서 말하는 '비슷하다'는 무엇일까

사람에게 "비슷하다"는 말은 꽤 자연스럽습니다. 키가 비슷하다, 취향이 비슷하다, 소비 패턴이 비슷하다, 생활 리듬이 비슷하다고 말할 수 있습니다. 하지만 모델에게는 이 말을 숫자로 바꾸어 알려 주어야 합니다.

머신러닝에서 데이터 하나하나는 보통 여러 특징으로 표현됩니다. 고객 한 명을 다음과 같이 나타낼 수 있습니다.

고객월 방문 횟수월 구매 횟수평균 결제 금액쿠폰 사용률
A20845,0000.10
B18750,0000.15
C31120,0000.05
D41110,0000.08
E12325,0000.80

사람이 보기에도 A와 B는 비슷해 보입니다. 자주 방문하고 자주 구매하며, 평균 결제 금액도 비슷합니다. C와 D도 서로 비슷해 보입니다. 방문과 구매는 적지만 한 번 결제할 때 금액이 큽니다. E는 또 다른 성격을 가집니다. 방문은 어느 정도 하지만 쿠폰 사용률이 매우 높습니다.

모델은 이런 비슷함을 주로 거리로 계산합니다. 여기서 거리는 지도에서 서울과 부산 사이의 거리처럼 생각해도 됩니다. 다만 지도 위 위치가 위도와 경도로 표현되듯, 고객은 방문 횟수, 구매 횟수, 결제 금액, 쿠폰 사용률 같은 특징으로 표현됩니다. 두 고객의 특징값이 비슷하면 거리가 가깝고, 많이 다르면 거리가 멉니다.

군집화의 기본 감각은 단순합니다.

가까운 데이터끼리는 같은 그룹으로 묶고, 먼 데이터끼리는 다른 그룹으로 나눈다.

물론 실제 데이터에서는 이 말이 생각보다 까다로워집니다. 방문 횟수는 0부터 30 정도일 수 있지만, 결제 금액은 0부터 수십만 원까지 갈 수 있습니다. 이 상태에서 거리를 계산하면 결제 금액처럼 숫자 규모가 큰 특징이 지나치게 큰 영향력을 가질 수 있습니다. 그래서 군집화를 하기 전에는 각 특징의 크기를 비슷한 범위로 맞추는 전처리가 자주 필요합니다. 이것을 보통 스케일링이라고 부릅니다. 쉽게 말해 "서로 다른 단위의 숫자들이 공정하게 비교되도록 맞추는 일"입니다.

K-means의 핵심 아이디어

군집화 방법은 여러 가지가 있지만, 그중 가장 입문하기 쉬운 모델이 K-means입니다. 한국어로는 보통 K-평균 알고리즘이라고도 부릅니다.

이름을 쪼개 보면 원리가 보입니다. 여기서 K는 만들고 싶은 군집의 개수입니다. K를 3으로 정하면 데이터를 3개 그룹으로 나누고, K를 5로 정하면 5개 그룹으로 나눕니다. means는 평균을 뜻합니다. K-means는 각 그룹의 중심을 평균 위치로 잡고, 데이터들을 가장 가까운 중심에 배정하는 방식으로 움직입니다.

마치 넓은 운동장에 학생들이 흩어져 있고, 선생님이 "세 팀으로 나누어 모여 보자"라고 말하는 상황을 떠올려 봅시다. 처음에는 임시로 팀 대표 세 명을 세웁니다. 학생들은 자기와 가장 가까운 대표에게 갑니다. 그러면 세 무리가 생깁니다. 그런데 대표가 무리의 한쪽 끝에 서 있으면 이상합니다. 그래서 각 팀의 대표 위치를 그 팀 학생들의 한가운데로 옮깁니다. 대표가 옮겨지면 몇몇 학생은 "어? 이제 저쪽 팀 대표가 더 가까운데?" 하고 팀을 바꿀 수 있습니다. 다시 각 팀의 대표를 한가운데로 옮깁니다. 이 과정을 더 이상 큰 변화가 없을 때까지 반복합니다.

K-means가 하는 일이 바로 이것입니다.

중심점을 정하고, 가까운 곳에 배정하고, 다시 중심을 옮긴다

K-means의 과정은 다음처럼 정리할 수 있습니다.

  1. 만들고 싶은 군집 수 K를 정한다.

  2. K개의 중심점을 임시로 놓는다.

  3. 각 데이터를 가장 가까운 중심점에 배정한다.

  4. 각 군집에 속한 데이터들의 평균 위치로 중심점을 다시 옮긴다.

  5. 배정이 더 이상 크게 바뀌지 않을 때까지 3번과 4번을 반복한다.

여기서 중심점은 보통 센트로이드라고 부릅니다. 센트로이드는 실제 데이터 한 점일 수도 있고 아닐 수도 있습니다. 중요한 것은 그 군집의 "가운데쯤"을 대표하는 위치라는 점입니다.

예를 들어 고객을 두 가지 특징으로만 표현해 보겠습니다. 하나는 월 구매 횟수, 다른 하나는 평균 결제 금액입니다. K를 3으로 정하면 K-means는 고객들을 세 무리로 나누려고 합니다. 처음에는 중심점 세 개를 아무 위치에나 놓습니다. 그러고 나서 고객마다 가장 가까운 중심점을 찾습니다.

첫 번째 반복에서는 다소 어색한 그룹이 만들어질 수 있습니다. 중심점의 시작 위치가 우연히 좋지 않았기 때문입니다. 하지만 각 그룹의 평균 위치로 중심점을 옮기면 조금 더 자연스러운 중심이 생깁니다. 다시 고객들을 가까운 중심에 배정하면 그룹 경계가 바뀝니다. 이 과정을 반복하다 보면 중심점들이 데이터의 덩어리 한가운데로 점점 자리를 잡습니다.

여기서 "학습한다"는 말은 지도학습 때와 조금 다르게 들릴 수 있습니다. 선형회귀나 로지스틱 회귀에서는 예측값과 실제 라벨을 비교해 오차를 줄였습니다. 하지만 K-means에는 정답 라벨이 없습니다. 대신 K-means는 각 데이터가 자기 군집의 중심과 너무 멀어지지 않도록 중심점을 조정합니다. 즉, 같은 군집 안의 데이터들이 되도록 서로 가깝게 모이도록 만드는 방향으로 학습합니다.

정답과 비교해서 틀린 정도를 줄이는 것이 아니라, 군집 내부의 흩어짐을 줄이는 것입니다.

K-means가 보는 세상: 둥근 덩어리 찾기

K-means를 이해할 때 꼭 기억해야 할 이미지가 있습니다. K-means는 데이터를 여러 개의 둥근 구름처럼 바라보는 경향이 있습니다. 중심점이 있고, 그 주변으로 데이터들이 모여 있는 모양을 좋아합니다.

예를 들어 카페 손님 데이터를 생각해 봅시다. 어떤 손님들은 아침마다 아메리카노를 삽니다. 어떤 손님들은 주말 오후에 디저트와 함께 라떼를 삽니다. 또 어떤 손님들은 시험 기간에만 매장을 오래 이용합니다. 이들이 특징 공간에서 비교적 둥근 덩어리처럼 모여 있다면 K-means는 꽤 잘 작동합니다.

하지만 모든 데이터가 둥글게 모여 있는 것은 아닙니다. 초승달 모양으로 휘어진 데이터, 길쭉하게 늘어진 데이터, 한 군집 안에서도 밀도가 크게 다른 데이터에서는 K-means가 어색한 결과를 낼 수 있습니다. 또한 극단적으로 튀는 값, 즉 이상치가 있으면 중심점이 그쪽으로 끌려갈 수도 있습니다.

이 한계를 안다는 것은 K-means를 비판하기 위해서가 아닙니다. 오히려 좋은 도구를 제대로 쓰기 위해서입니다. 망치는 못을 박을 때 훌륭하지만, 나사를 조이는 데는 드라이버가 더 낫습니다. K-means도 마찬가지입니다. 비슷한 크기의 둥근 군집을 찾는 상황에서는 간단하고 빠르며 이해하기 쉽지만, 모든 군집화 문제의 정답은 아닙니다.

K는 누가 정할까

K-means에서 가장 중요한 선택은 K입니다. 몇 개의 그룹으로 나눌 것인가를 사람이 정해야 합니다. 바로 이 지점에서 군집화가 흥미로워집니다.

지도학습에서는 정답 라벨이 있었습니다. 스팸 메일 분류기라면 스팸인지 아닌지 알 수 있고, 집값 예측이라면 실제 거래 가격과 비교할 수 있습니다. 하지만 군집화에서는 "정답 군집 수"가 명확하지 않은 경우가 많습니다.

온라인 쇼핑몰 고객을 3개 그룹으로 나눌 수도 있습니다. 예를 들어 고빈도 구매 고객, 저빈도 고액 구매 고객, 쿠폰 민감 고객으로 해석할 수 있습니다. 그런데 같은 데이터를 5개 그룹으로 나누면 더 세밀한 구분이 생길 수 있습니다. 고빈도 구매 고객 안에서도 프리미엄 상품을 선호하는 사람과 생활용품을 반복 구매하는 사람이 나뉠 수 있습니다. 쿠폰 민감 고객도 단순히 할인만 노리는 사람과 할인 쿠폰을 계기로 장기 고객이 될 가능성이 있는 사람으로 나뉠 수 있습니다.

그렇다면 K는 3이 맞을까요, 5가 맞을까요?

여기에는 완전히 하나로 정해지는 답이 없습니다. K를 정하는 일은 단순한 기술 문제가 아니라 해석의 문제입니다. 데이터가 얼마나 자연스럽게 나뉘는지도 봐야 하고, 나눈 그룹을 실제로 사용할 수 있는지도 봐야 합니다.

군집 수를 정할 때는 보통 다음 질문을 함께 던집니다.

  • K를 늘렸을 때 군집 내부의 흩어짐이 충분히 줄어드는가?

  • 각 군집은 사람이 이해할 수 있는 특징을 가지는가?

  • 나눈 군집을 실제 의사결정에 사용할 수 있는가?

  • 너무 많은 군집 때문에 오히려 설명이 어려워지지는 않는가?

K가 너무 작으면 서로 다른 고객들이 한 그룹에 섞입니다. 마치 "모든 고객은 그냥 구매 고객입니다"라고 말하는 것과 비슷합니다. 반대로 K가 너무 크면 그룹이 지나치게 잘게 쪼개져서 해석하기 어려워집니다. 마치 고객 10만 명을 5만 개 그룹으로 나눈 뒤 "분석이 끝났습니다"라고 말하는 것과 같습니다. 그것은 분석이라기보다 정리에 실패한 상태에 가깝습니다.

좋은 K는 데이터의 구조와 비즈니스 목적 사이에서 결정됩니다. 쇼핑몰 운영팀이 캠페인을 세 종류로만 운영할 수 있다면 K=3이 실용적일 수 있습니다. 반대로 개인화 추천을 정교하게 하고 싶다면 더 많은 군집이 도움이 될 수 있습니다. 중요한 것은 K가 모델의 숫자이면서 동시에 해석의 언어라는 점입니다.

고객 행동 데이터로 군집을 읽는 법

이제 조금 더 현실적인 장면으로 들어가 보겠습니다. 온라인 서비스의 고객 행동 데이터를 이용해 사용자 그룹을 만든다고 해 봅시다. 각 고객에 대해 다음과 같은 특징을 만들 수 있습니다.

  • 최근 30일 방문 횟수

  • 최근 30일 구매 횟수

  • 평균 결제 금액

  • 마지막 방문 이후 지난 일수

  • 쿠폰 사용 비율

  • 장바구니에 담고 구매하지 않은 횟수

이 데이터를 K-means에 넣으면 각 고객은 어느 군집에 속하는지 배정됩니다. 하지만 여기서 끝내면 안 됩니다. 군집화의 진짜 가치는 "0번 군집, 1번 군집, 2번 군집"이라는 번호 자체에 있지 않습니다. 그 번호가 무엇을 의미하는지 사람이 읽어야 합니다.

예를 들어 K=4로 군집화를 했더니 다음과 같은 결과가 나왔다고 해 봅시다.

군집방문 횟수구매 횟수평균 결제 금액마지막 방문 이후 일수쿠폰 사용률해석
0높음높음중간낮음낮음충성 고객
1낮음낮음높음중간낮음가끔 크게 사는 고객
2중간중간낮음낮음높음할인 반응 고객
3낮음낮음낮음높음중간이탈 위험 고객

이 표에서 중요한 것은 군집 번호가 아닙니다. 0번이라는 숫자는 아무 의미가 없습니다. 모델이 임의로 붙인 이름일 뿐입니다. 우리가 해야 할 일은 각 군집의 특징 평균을 보고, 그 군집이 어떤 행동 패턴을 가진 고객들인지 해석하는 것입니다.

0번 군집은 방문과 구매가 모두 높고 최근에도 방문했습니다. 쿠폰 사용률이 낮다면 할인 없이도 서비스를 이용하는 고객일 가능성이 큽니다. 이 그룹에는 무리한 할인보다 멤버십 혜택이나 신상품 우선 안내가 어울릴 수 있습니다.

1번 군집은 자주 오지는 않지만 한 번 구매할 때 금액이 큽니다. 이들에게는 고가 상품, 선물 세트, 프리미엄 패키지 추천이 효과적일 수 있습니다.

2번 군집은 쿠폰 사용률이 높습니다. 할인에 반응하는 고객입니다. 단, 이들을 단순히 "할인만 좋아하는 고객"으로 단정하면 위험합니다. 쿠폰이 첫 구매의 계기가 되는지, 반복 구매를 만드는지, 아니면 할인 없이는 전혀 움직이지 않는지 추가 분석이 필요합니다.

3번 군집은 방문도 구매도 낮고 마지막 방문 이후 시간이 오래 지났습니다. 이탈 위험 고객일 가능성이 큽니다. 이들에게는 재방문 쿠폰이나 관심 상품 알림이 필요할 수 있습니다.

이처럼 K-means는 데이터에 숨은 고객 유형을 처음으로 꺼내 보는 도구가 될 수 있습니다. 시장 세분화, 사용자 그룹 분석, 캠페인 대상 선정, 추천 전략 설계의 출발점으로 자주 쓰이는 이유도 여기에 있습니다.

군집화는 이름 붙이기 전까지 끝난 것이 아니다

군집화 결과를 처음 보면 묘한 만족감이 있습니다. 데이터가 여러 색깔로 나뉘고, 각 점이 어떤 그룹에 속하는지 표시됩니다. 마치 복잡하던 방이 한순간에 정리된 것처럼 보입니다.

하지만 조심해야 합니다. 군집화는 모델이 그룹을 나누는 순간 끝나는 것이 아닙니다. 오히려 그때부터 사람이 해야 할 일이 시작됩니다.

첫째, 각 군집의 특징을 살펴봐야 합니다. 평균값, 중앙값, 분포를 보면서 이 군집이 어떤 성격을 가지는지 읽어야 합니다. 평균 결제 금액은 높은데 구매 횟수는 낮은지, 방문은 잦지만 구매 전환은 낮은지, 쿠폰 사용률이 유난히 높은지 같은 신호를 봐야 합니다.

둘째, 군집에 이름을 붙여야 합니다. "0번 군집"보다 "충성 고객", "가격 민감 고객", "잠재 이탈 고객" 같은 이름이 훨씬 강력합니다. 이름을 붙이는 순간 분석 결과는 숫자 표에서 의사결정의 언어로 바뀝니다.

셋째, 그 이름이 실제 행동으로 이어지는지 확인해야 합니다. 충성 고객으로 보이는 그룹에 멤버십 혜택을 제공했을 때 반응이 좋은지, 이탈 위험 고객에게 재방문 메시지를 보냈을 때 돌아오는지 실험해야 합니다. 군집화는 가설을 만들어 주지만, 그 가설이 맞는지는 이후 행동 데이터로 확인해야 합니다.

이 점에서 군집화는 탐험에 가깝습니다. 지도학습처럼 정답지를 채점하는 느낌이 아니라, 낯선 섬에 들어가 지형을 살피고 이름 없는 마을에 이름을 붙이는 일에 가깝습니다. 모델은 길을 비춰 주지만, 그 길이 어디로 이어지는지는 사람이 해석해야 합니다.

K-means를 사용할 때 자주 생기는 실수

K-means는 단순해서 좋지만, 단순하기 때문에 실수도 자주 생깁니다. 가장 흔한 실수는 숫자 데이터를 그대로 넣고 결과를 믿어 버리는 것입니다. 앞서 말했듯이 특징마다 단위와 크기가 다르면 거리 계산이 왜곡될 수 있습니다. 결제 금액처럼 숫자 규모가 큰 특징이 군집화를 거의 혼자 결정해 버릴 수도 있습니다. 그래서 K-means를 쓰기 전에는 특징 스케일을 확인해야 합니다.

또 다른 실수는 K를 아무렇게나 정하는 것입니다. "그냥 보기 좋게 5개로 나누자"라고 시작할 수는 있지만, 결과를 해석할 때는 왜 5개가 적절한지 설명할 수 있어야 합니다. K를 바꿔 가며 군집의 모양과 해석 가능성을 비교해야 합니다. 때로는 K=4보다 K=3이 더 단순하고 유용할 수 있고, 때로는 K=6이 실제 캠페인 전략에 더 잘 맞을 수 있습니다.

군집 번호를 의미 있는 순서로 착각하는 것도 조심해야 합니다. 0번 군집이 1번 군집보다 더 좋거나, 3번 군집이 2번 군집보다 더 높은 등급이라는 뜻은 아닙니다. 군집 번호는 단순한 이름표입니다. 의미는 번호가 아니라 그 안에 들어 있는 데이터의 특징에서 나옵니다.

마지막으로, 군집화 결과를 사람에 대한 절대적 판단으로 받아들이면 안 됩니다. "이 고객은 할인형 인간이다"처럼 딱지를 붙이는 순간 분석은 위험해집니다. 데이터는 특정 기간의 행동을 보여 줄 뿐입니다. 고객은 상황에 따라 달라지고, 서비스 경험에 따라 변합니다. 군집화는 사람의 본질을 정의하는 도구가 아니라, 현재 관찰된 행동 패턴을 이해하는 도구입니다.

새 데이터는 어떻게 처리할까

K-means로 군집을 만들고 나면 새로 들어온 고객도 어느 군집에 가까운지 배정할 수 있습니다. 새 고객의 특징을 같은 방식으로 계산한 뒤, 이미 학습된 중심점들 중 가장 가까운 곳을 찾으면 됩니다.

예를 들어 새 고객이 최근 30일 동안 자주 방문했고 구매도 여러 번 했으며 쿠폰 사용률은 낮다면 충성 고객 군집의 중심점에 가까울 수 있습니다. 반대로 마지막 방문 이후 오래 지났고 구매 횟수도 적다면 이탈 위험 고객 군집에 가까울 수 있습니다.

이 과정은 지도학습의 예측과 조금 비슷해 보입니다. 하지만 차이가 있습니다. 지도학습에서는 "정답 라벨을 맞히기 위해" 모델을 훈련했습니다. K-means에서는 정답 라벨 없이 중심점을 찾았고, 새 데이터는 그 중심점 중 어디에 가까운지 배정됩니다. 그래서 K-means의 결과는 "정답"이라기보다 "현재 데이터 구조에서 가장 가까운 그룹"이라고 이해하는 편이 좋습니다.

이 차이를 이해하면 비지도학습을 더 건강하게 사용할 수 있습니다. 군집화 결과는 강력한 출발점이지만, 그것만으로 모든 결정을 자동화해서는 안 됩니다. 해석하고, 검증하고, 필요하면 다시 특징을 만들고, K를 바꿔 보고, 다른 방법과 비교해야 합니다.

좋은 군집은 좋은 특징에서 나온다

K-means에서 많은 사람이 알고리즘 자체에 집중합니다. 중심점을 어떻게 초기화하는지, 거리를 어떻게 계산하는지, 몇 번 반복하는지 같은 질문도 물론 중요합니다. 하지만 실제 프로젝트에서는 그보다 더 중요한 질문이 있습니다.

"무엇을 기준으로 비슷하다고 볼 것인가?"

고객을 군집화할 때 나이와 성별만 넣으면 인구통계학적 그룹이 나올 것입니다. 방문 횟수와 구매 횟수를 넣으면 행동 기반 그룹이 나올 것입니다. 상품 카테고리별 구매 비율을 넣으면 취향 기반 그룹이 나올 것입니다. 같은 K-means를 쓰더라도 어떤 특징을 넣느냐에 따라 전혀 다른 군집이 만들어집니다.

이것은 머신러닝 전체에서 반복되는 중요한 원리입니다. 모델은 데이터에서 패턴을 배우지만, 어떤 데이터를 어떤 형태로 보여 줄지는 사람이 결정합니다. 좋은 특징은 모델이 의미 있는 패턴을 찾도록 돕습니다. 나쁜 특징은 모델을 엉뚱한 방향으로 이끕니다.

예를 들어 고객의 총 구매 금액만 넣으면 부자 고객과 그렇지 않은 고객 정도로 나뉠 수 있습니다. 하지만 구매 빈도, 최근성, 평균 주문 금액, 관심 카테고리, 할인 반응도까지 함께 넣으면 훨씬 풍부한 행동 패턴을 볼 수 있습니다. 군집화에서 특징 만들기는 단순한 준비 작업이 아니라, 어떤 관점으로 고객을 이해할지 정하는 일입니다.

K-means가 열어 주는 다음 문

K-means는 비지도학습을 처음 만나는 사람에게 좋은 출발점입니다. 원리가 직관적이고, 결과를 그림이나 표로 설명하기 쉬우며, 고객 분석이나 시장 세분화 같은 현실 문제와도 잘 연결됩니다.

이 장에서 기억해야 할 핵심은 분명합니다. 군집화는 비슷한 데이터 포인트를 그룹으로 나누는 작업입니다. K-means는 K개의 중심점을 두고, 각 데이터를 가까운 중심에 배정한 뒤, 다시 중심을 옮기는 과정을 반복합니다. K를 정하는 일은 단순히 숫자를 고르는 문제가 아니라, 데이터와 목적을 함께 고려하는 해석의 문제입니다. 그리고 고객 행동 데이터에서는 각 군집의 특징을 읽고 이름을 붙이는 과정이 무엇보다 중요합니다.

우리는 이제 정답 없이도 데이터 속 구조를 찾는 방법을 하나 배웠습니다. 하지만 현실의 데이터는 늘 보기 좋게 펼쳐져 있지 않습니다. 특징이 너무 많으면 사람의 눈으로는 데이터가 어떻게 생겼는지 상상하기 어렵습니다. 고객을 2개의 특징으로 보면 그림을 그릴 수 있지만, 20개, 100개, 1,000개의 특징으로 표현하면 어떨까요?

다음 장에서는 이런 문제를 다룹니다. 많은 특징을 가진 데이터를 더 적은 축으로 압축해, 중요한 구조를 보존하면서도 이해하기 쉽게 만드는 방법입니다. 그 대표적인 출발점이 바로 PCA입니다.

책 목록

처음 만나는 머신러닝: 데이터가 스스로 규칙을 배우는 법

전체 목차 보기

이 노트는 보도·비평·교육·연구 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.

틸노트는 사용자가 AI를 활용해 노트를 쉽게 작성하거나 편집할 수 있는 서비스입니다.

AI 스퀘어 단톡방에 함께해요

AI 활용과 틸노트 사용 팁을 나누는 오픈채팅방입니다. 입장 비밀번호는 tilnote입니다.

참여하기