일반화

최근 수정 시각: (5년 전)
목차
1. 수학에서2. 비형식 논리에서
2.1. 모든 일반화가 오류라는 잘못된 오해2.2. 절대성과의 혼동
2.2.1. 일부 드립
2.3. 필요성
3. 추론통계학연구방법론에서4. 심리학에서5. 프로그래밍에서6. 관련 문서

1. 수학에서 [편집]

수학에서 일반화 개념은 수학 그 자체라고 할 수 있다.[1] 어떤 집합에서 성립하는 성질을 그 집합을 포함하는 집합으로 확장하거나, 개별적이고 특수한 대상에 적용되고 그치는 것이 아닌 일반적이고 보편적인 법칙을 유도하는 것이다.

2. 비형식 논리에서 [편집]

Generalization

특정한 사용 목적이나 용례가 당연시 되는 것이나 특정 사실로부터 전체상을 추론하는 행위. 보편화와 유사하다. 보통 일반화를 하기 위해서는 귀납적인 추론을 한다고 여기지만 귀납적 추론은 일반화를 충족시키기는 위해서 거칠 과정이고, 일반성으로서의 실체를 규정하는 것이야말로 일반화의 핵심이다. 귀납법에서는 이 일반화가 필수적인데, 현실적으로 일반화하는 대상 전부를 검사할 수가 없기 때문이다. 이런 점에서 귀납법은 연역법에 비해 경험적인 차원을 강조하게 된다.

2.1. 모든 일반화가 오류라는 잘못된 오해 [편집]

인터넷 커뮤니티내에서 일반화에 대한 기피 현상이 잦아지면서, 일반화 자체를 오류로 취급하는 경향이 늘고 있다. 그 예시 하나로 성급한 일반화의 오류가 아닌, 일반화의 오류로 언급하는 일이 많은 비율을 차지하고 있다. 인터넷상에서는 후술한 성급한 일반화의 오류가 아닌, 모든 일반화를 비난하는 경향이 있는데, 이는 둘의 차이를 잘 고려하지 못한 행동이다. '일반화의 오류'는 상술한 수학에 쓰이는 표현이다.

그런데 개개인의 감정이나 공감을 중요시하는 커뮤니티에서는 일반화가 백안시될 수 밖에 없는데, 일반화는 경향성을 논하기 때문에 집단의 감성과는 거리가 있을 수밖에 없기 때문이다. 물론 이는 모든 일반화가 그른 행위라는 의미는 결코 아니며, 집단 이기주의가 오히려 논리적 사고를 가로막고 있다고 받아들이는 게 합당하다.

2.2. 절대성과의 혼동 [편집]

일반적 ≠ 절대적

일반화나 귀납법은 '개연성'이 '크다', '작다'를 따지는 것이지 '필연적으로 확실하다'를 논하는 것이 아니다. 이도 모른 채 충분히 큰 자료가 있음에도 '반례 하나'가 있다는 이유로 '성급화 일반화 오류'를 시전하며 상대 주장을 매도하는데 가장 멍청한 주장이다. 일반적이라는 것은 개연성이 충분히 크다는 뜻에 불과하므로 수학과 달리 반례 하나 갖고 모든 것이 부정되는 절대성을 요구하지 않는다.

일례로 흰색 백조 10만 마리가 발견되는 와중에 같은 종의 흑조 1 마리가 발견되었다고 해서 ‘백조가 희다.’라는 귀납논증이 부정되는 건 아니다. 그 외에도 "A와 B를 두고 유전자 검사를 했으나 99.998% 일치가 나왔다. 0.002%가 부족하므로 친자 관계가 성립할 수 없다."라고 하는 명제는 생물학적 사실(논리적 건전성)에 기인하지도 않는 바보 같은 주장이다.

그렇다면 일반화 범주에 들어갈 수 있는 확률적 퍼센테이지는 얼마인지에도 대해서 의문이 들 것이다. 이는 섣불리 일반화할 수 없는 부분이며, 학계나 연구에 따라 취할 수 있는 하한선이 제각각이다. 일단 통계학 추정에서는 95%~99%를 유의미한 일반화 합의 범위로 보고 있다.

2.2.1. 일부 드립 [편집]

위처럼 절대성와 일반성의 차이를 모르면 아래와 같은 '일부 드립'으로 논쟁을 벌이는 일이 있으며, 아래처럼 개연성이 충분히 보장되어 있음에도 '일부를 보고 전부를 매도하지 말라'는 주장에 제대로 된 반박을 못 하게 된다. 그러므로 '절대'과 '일반'의 개념을 구별할 필요가 있다.

파일:f0000044_4fbf30f79d12b.jpg
이 정도(95~99%)면 충분히 일반화할 수 있는 수준이다. 절대적(100%)이 아니고 전부를 매도해서도 안 될 뿐. 매도하고 싶으면 차라리 대부분을 매도하라는 뜻이면 말이 다를 수 있다. 이처럼 대부분이라는 이유로 성급하게 결론을 내리면 은밀하게 감춰진 한정어의 오류가 될 수 있다.

'일부 드립'이란 특정 집단에 속한 사람들이 사회적 문제를 일으킬 때, 그 특정 집단의 다른 구성원들이 그런 문제를 일으키는 집단은 일부일 뿐이기 때문에 전부가 그러는 것이 아니라고 말하는 것을 그 집단과 대립하는 측에서 '드립'이라고 비꼬아 부르는 명칭이다. 이러는 식의 '일부 드립'은 대부분의 정당이나 단체에서 사고를 저지를 때마다 가장 쉽게 둘러댈 수 있는 변명이다. 실제로 특정 단체나 집단에서 소수의 잘못을 그 집단 모두의 잘못으로 보는 것은 원론적·원칙적으로 피해야 되지만 일부 드립이 쓰이는 경우는 대개 조치할 의지조차 없이 사건을 묻으려고 할 때나 자신이 속한 곳에도 잘못이 있는데 이를 무시하여 다른 곳으로 돌리는 시도를 하기 때문이다.

이를 비꼬고자 단어 '일부 리거'[4]를 쓰거나 아예 로마자 'ilbu'[5]로 쓰기도 한다. 이를 비꼬는 문장이 "전체를 보고 일부를 매도하지 마세요!"다.

'일부 드립'이라는 단어를 쓰는 쪽에서도 마찬가지로 문제점이 있다. 우선 '일부'는 '소수'라는 뜻이 아니다. 즉, '일부'라는 단어를 사용했다고 해서 그 문장이 틀린 문장이 되는 것은 아니다. '일부' 단어 사용에 일부 드립이라는 주장을 남용하면 논리적 오류성급한 일반화의 오류가 되지만, '일부'라는 단어 사용 자체는 논리적 오류가 아니다. 일부 드립을 싫어하는 사람들은 '일부=소수'라는 뜻으로 착각하여, 그 단어 사용이 잘못되었다고 생각하기 때문이다. 하지만 '일부'는 소수라는 뜻도 아니고 다수라는 뜻도 아니다. '일부'는 중립적인 단어로서 기사에서도 널리 쓰이는 단어이다.

또한, 이러한 일부 드립의 일부를 판단하는 기준이 없는 것이 큰 문제이다. 극단적으로 전부 역시 일부에 해당한다. 전부의 몇 퍼센트를 차지해야만 일부에 해당하는지에 대한 정의, 기준조차 없는 상대적인 의미이다. 이 때문에 한 집단에서 어쩌다가 사건이 하나 터질 때 "저건 일부일 뿐이다."라고 말하면 일부 드립이라며 조롱하는 일이 잦아지고 있다. 성급한 일반화의 오류로 인하는 피해로, 상황을 가려가며 합당한 상황에만 조심히 사용해야 한다.

극히 일부라 해도 일단 보이는 시점에서는 전부로 판단할 수밖에 없다. 사람은 편향에서 벗어날 수 없다. 사람들이 모르는 상황에도 끊임 없이 변화한다. 언어 변화도 그 예. 이것 하나 때문에 표본조사가 생겼고, '일부' 단어 사용에 굳이 반박하고 싶으면 일부 드립이라고 조롱하기보다는 그 '일부'가 구체적으로 '몇 퍼센트'인지 객관적인 통계로써 반박하는 것이 좋다. 예를 들어, "일부 한국인의 종교가 기독교다."라는 주장에 반박하고 싶으면 "종교를 가진 한국인 중 약 43.9%의 종교가 기독교다.(2015년 기준)"[6]라고 하자.

그런데 규모 자체가 워낙에 커서 한 5% 이하도 매우 많게 느껴지면 무작정 성급한 일반화의 오류로 단정하기도 어렵다. 해당 사례로 유엔에서 'IS는 이단이고, 이들에게 동조하는 사람은 전 아랍 인구의 0.01%에 불과하다'며 이슬람 근본주의를 전 아랍인의 생각으로 일반화하지 말라고 말한 중동국가 대표에 영국 대표가 대해서 '전 세계 아랍인구가 약 20억 명이니 IS에 동조하는 사람은 20만 명이라는 이야기이고, 자기들은 20만 명의 지지를 받고 있는 테러리스트들에게서 위협되고 있으며 나머지 13억 명이 넘은 사람들은 이 테러리스트들에게 대해서 침묵하고 모르고 있는 척한다'며 이를 꼬집었다.

2.3. 필요성 [편집]

사람은 기계가 아니므로 모든 경향성을 특정 잣대에 맞추어 논할 수 없다. 규범주의와 기술주의 논란과 불규칙 활용의 원인이기도 하다.

예를 들어, '자주'라는 단어의 기준을 3회 이상으로 잡을지 5회 이상으로 잡을지, 특정 내용에 따라 다르게 잡을지 똑같지 잡을지 등등 단어 하나의 기준조차 사회적인 합의로써 정하고자 하면 수많은 애로사항이 따를 수 밖에 없다. 따라서 'A는 카레를 자주 먹는다' 같은 단순한 사실을 말할 때 '자주'라는 일반화는 암묵적으로 용인할 수밖에 없고, 우리 모두가 실제로 그런다.

그러나 인터넷상에 있는 일반화와 관련된 수많은 논란은 이러한 암묵적인 합의를 무시하고 있다. 일상 생활에선 '통계'의 'ㅌ'도 꺼낼 일이 없으면서 자신과 반대되는 의견을 제시하는 사람에게는 신뢰도가 높고 절대적 비율의 통계를 요구하는 건 비일비재하다. 심지어 90%를 넘긴 통계조차 100%가 아니므로 케바케라고 단정하는 억지 주장도 심심치 않게 목격된다. 이는 소수를 무시하지 말라는 뜻으로서 방어기제와 유관해 보인다.

이런 비건설적인 토론을 회피하기는 위해서 일반화의 필요성을 모두가 용인하는 성숙한 시민 의식이 필요 불가결하다. 100%가 아니면 공격의 구실로 삼는 꼬투리 잡기는 사회적인 에너지 낭비에 불과함을 명심하자.

3. 추론통계학연구방법론에서 [편집]

통계를 실시하는 연구자는 현실적으로 모든 모집단(population)에 대한 전수조사를 못 하는 상황에 빠지는 일이 많다. 이 경우는 부득이 일부만 택하여 표본(sample)으로 삼고, 그들을 연구하여 얻은 정보를 바탕으로 전체 모집단에 적용할 수밖에 없다. 물론 이 경우가 문제가 되는 것은 아무리 표본이라지만 도대체 얼마나 많은 수가 확보되어야 되냐는 것. 물론 통계학자들이 날마다 갈려나간 게 있는지라 희망하는 신뢰수준과 모집단의 수, 분석기법 등에 따라서 필요로 하는 최소한의 표본 수가 이미 정해져 있다.

자세한 내용은 <표본조사> 문서 참고. 유의용어인 <생태학적 타당도> 문서도 참고.

4. 심리학에서 [편집]


행동과학 용어로, 정확한 용어는 '자극 일반화(stimulus generalisation)'다.

비둘기를 데려다가 초록색 불빛이 나올 때마다 원판을 쪼도록 조건화한다고 가정하자. 이 비둘기는 파란색, 빨간색 등의 불빛에는 반응을 보이지 않겠지만, 초록색 불빛에는 냅다 원판을 쪼기 시작할 것이다. 그런데 이 비둘기에게 미묘하게 노란색이 섞인 초록색 불빛을 보여주면? 또한, 미묘하게 파란색이 섞인 초록색 불빛을 보여주면? 이 비둘기는 과연 어디까지 반응을 보일까?

과학자들이 관찰한 결과, 비둘기가 원판을 쪼아 댄 횟수를 꺾은선그래프로 나타내자 정규분포와 유사한 종형 곡선이 나타났다. 초록색 불빛에 훈련된 비둘기가 그와 유사한 자극에는 (칼같이 안 반응하는 것이 아니고) 그것도 적당히 쪼아 본 것이다. 물론 초록색과 차이가 점점 클수록 비둘기가 쪼아 대는 횟수도 그만큼 감소한다. 이처럼 초록색 파장 양 옆으로 나타나는 기울기를 두고 '자극 일반화 기울기(stimulus generalisation gradient)' 또는 좀 어려운 단어를 써서 '일반화 구배'라고도 한다.

5. 프로그래밍에서 [편집]

C++에서는 템플릿(Template), C#이나 Java에서는 '제너릭(generics)'으로 불리는 기능을 통하는 일반화 프로그래밍(Generic Programming)이 있다.

함수나 클래스 등을 구상할 때, 동작하는 논리는 같으나 매개변수로 입력되는 데이터의 형식만 다르게 똑같은 코드를 다시 만들어야 되는 상황이 발생하는데, 이때 일일이 오버로딩을 통해 각각의 데이터 형식에 따라 구현하는 번거로운 방법 말고 이들을 하나의 형식으로 일반화해 코드를 간결하게 유지할 수 있다.

C#을 예로 들어 구현하면
using System;


namespace TestCopy
{
    class Test
    {
        public void Copy(int a, out int b)
        {
            b = a;
        }
        
        public void Copy(string a, out string b)
        {
             b = a;
        }

        public void Copy(float a, out float b)
        {
             b = a;
        }
    }
}

이렇게 논리가 똑같고 매개변수 형식만 다른, 사실상은 똑같은 메소드를 3개씩 일일이 구현하는 상황이 발생한다. 3개이면 어찌어찌 구현하겠지만, 30개가 필요한 상황이면 코드 길이가 기하급수적으로 늘어나니 프로그래머가 정말로 싫어할 문제가 생긴다. 이러면 코드를 쓰는 시간이 늘어나는 감과 동시에 관리도 어려워져 디버깅 작업을 하는 데 애로사항이 생길 수 있다.
using System;


namespace TestCopy
{
    class Test
    {
        public void Copy<T>(T a, out T b)
        {
            b = a;
        }
    }
}

그러나 이렇게 int, string, float 3개의 서로 다른 데이터 형식을 T 하나로 일반화하면 코드를 매우 간결하게 만들 수 있다. 이는 데이터 형식이 3개 말고 300개, 3000개도 아무런 수정 없이 정상적으로 작동하며 형식 변환에서 일어나는 성능 저하도 발생하지 않는다.

6. 관련 문서 [편집]

[1] 수학이 모든 것들을 추상화시키고 형식화시키는 학문이기에 그렇다.[2] 팩토리얼감마 함수로 정의역을 확장한 것이 그 예.[3] 정삼각형정사면체정오포체 → n-단체[4] 1부 리그의 선수인 '1부 리거'에서 따온 말. '일부 = 1부'. 일부일 뿐이라고 말을 돌리지만 실제는 주류, 1부에 있는 사람들이라는 뜻이다.[5] 어원은 'ilbe'다.[6] 통계청 자료
  • 문서 삭제식 이동 ('일부드립' → '일반화' 리다이렉트)
  • 사유: 상당수 겹쳐진 내용이 있고 관련성이 크기 때문.

라이선스를 별도로 명시하지 않은 문서는 CC BY-NC-SA 2.0 KR에 따라 이용할 수 있습니다.
기여하신 문서의 저작권은 각 기여자에게 있으며, 각 기여자는 기여하신 부분의 저작권을 갖습니다.

문서의 기여자는 역사 탭에서 확인할 수 있습니다.
접두어의 N: - 나무위키 사용자, R: - 리그베다 위키의 사용자를 뜻합니다.
자세한 사항은 나무위키에서 동일한 문서의 역사를 참고하시기 바랍니다.