최근 수정 시각 : 2020-03-06 13:05:13

일반화

1. 수학에서2. 비형식 논리에서
2.1. 일반화의 정의와 특징2.2. 일반화가 오류라는 잘못된 오해
2.2.1. 절대성과의 혼동
2.2.1.1. 일부드립
2.2.1.1.1. 관련 문서
2.3. 일반화의 필요성
3. 추론통계학연구방법론에서
3.1. 관련 문서
4. 심리학에서5. 프로그래밍에서

1. 수학에서

수학에서는 일반화의 개념은 존재할 수밖에 없다.[1] 어떤 집합에서 성립하는 성질을 그 집합을 포함하는 집합으로 확장하는 것이다.

2. 비형식 논리에서

2.1. 일반화의 정의와 특징

Generalisation

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

2.2. 일반화가 오류라는 잘못된 오해

인터넷 커뮤니티내에서 일반화에 대한 기피 현상이 잦아지면서, 일반화 자체를 오류로 취급하는 경향이 늘고있다. 그 예시중 하나로 성급한 일반화의 오류가 아닌, 일반화의 오류로 언급하는 경우가 많은 비율을 차지하고 있다. 인터넷 상에서는 후술할 성급한 일반화의 오류가 아닌, 모든 일반화를 비난하는 경향이 있는데 이는 논리적인 사고 자체를 부정하는 것과 다름없다.

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

2.2.1. 절대성과의 혼동

일반적이다 ≠ 절대적이다

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

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

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

다만 일상 생활에 있어 95%이상의 확률에 한정하여 일반화가 허용된다는건 매우 효율이 나쁘다. 예를들어 10명의 아이들이 나눠먹을 과자를 사갈 때, 9명 이상이 맛있다고 동의하는 과자만 고르는건 현실적으로 불가능에 가깝고, 5~6명이 맛있다고 생각하는 과자를 여럿 사가는것이 효율이 좋다. 즉, 50%에 가까우면 현실적인 일반화(이 경우 아이들이 맛있다고 생각하는 과자의 기준)가 이루어질 수 있다고 받아들여져야 합당하다.

인터넷상에서 일반화로 인해 일어나는 논란은 위와같이 일상생활에서 허용될 수준의 일반화임에도 불구학고 발생하는 경우가 많다. 예를들어 한국인의 상당수는 기독교인이라고 하면 여타 종교를 가진 이들의 반발이 발생할 수 있지만 한국에서 기독교인은 약 44%로 상당수 라는 정의를 충분히 만족시키는 일반화이다. 이와 같이, 일반화에 대한 반발 심리에는 순수한 반론이라기 보다는 집단 이기주의(종교, 성별, 세대 등)적 경향을 띄고 있다고 하여도 과언이 아니다.
2.2.1.1. 일부드립
위처럼 절대성와 일반성의 차이를 모르면 아래와 같은 '일부 드립'으로 논쟁을 벌이는 경우가 있으며, 아래처럼 충분히 개연성이 보장되어있음에도 "일부를 매도하지 말라"는 주장에 제대로 된 반박을 못하게 된다. 그러므로 '절대'과 '일반'의 개념을 구분할 수 있어야 한다.

파일:f0000044_4fbf30f79d12b.jpg
이 정도면 충분히 일반화(95~99%)가 가능한 수준이다. 절대적(100%)이지 못할 뿐.

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

이를 비꼬기 위해 일부 리거[4]란 단어를 쓰거나, 아예 영어로 ilbu[5]라고 쓰는 경우도 있다. 이를 비꼬는 문장이 "전체를 보고 일부를 매도하지 마세요!"다. 특정지을 수 있는 단체가 아니더라도 각종 팬 카페들 중에 존재하는 사생팬 같은 과격한 팬이나 핸드폰을 좋아하는 사람들 중 나타나는 앱등이와 같이, 한 집단 또는 비슷한 부류의 사람들이 모인 가운데 과하게 행동하고 안 좋은 일을 벌이는 이들이 나올 때도 "그런 사람은 일부예요." 라 말하면 "일부 좋아하시네." 하는 것을 볼 수 있다.

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

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

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

이 문단은 토론을 통해 현실 예시를 등재하지 않고 추가하는 것을 금지(으)로 합의되었습니다. 합의된 부분을 토론 없이 수정할 시 제재될 수 있습니다.
2.2.1.1.1. 관련 문서

2.3. 일반화의 필요성

사람은 기계가 아니므로 모든 경향성을 특정 잣대에 맞추어 논하는것은 불가능하다.
예를 들어, '자주'라는 단어의 기준을 3회 이상으로 잡을지 5회 이상으로 잡을지, 특정 내용에 따라 다르게 잡을지 똑같지 잡을지 등등 단어 하나의 기준 조차 사회적인 합의를 통해 정하고자 하려면 수많은 애로사항이 따를 수 밖에 없다.
따라서 'A는 카레를 자주 먹는다' 같은 단순한 사실에 있어서 '자주'라는 일반화는 암묵적으로 용인을 할 수 밖에 없고, 우리 모두가 실제로 그렇게 하고 있다.

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

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

3. 추론통계학연구방법론에서


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

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

3.1. 관련 문서

4. 심리학에서


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

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

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

5. 프로그래밍에서

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

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

C#을 예로 들어 구현한다면
#!syntax csharp
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개가 필요한 상황이라면 코드 길이가 기하급수적으로 늘어나게 되는 프로그래머가 정말 싫어할 문제가 생긴다. 이렇게되면 코드를 쓰는 시간이 늘어나는 감과 동시에 관리도 힘들어져 디버깅 작업을 하는 데 애로사항이 생길 수 있다.
#!syntax csharp
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개라도 아무런 수정 없이 정상적으로 작동하며 형식 변환에서 일어나는 성능 저하도 발생하지 않는다.


[1] 수학이 모든 것들을 추상화시키고 형식화시키는 학문이기에 그렇다.[2] 팩토리얼감마 함수로 정의역을 확장한 것이 그 예.[3] 정삼각형정사면체정오포체 → n-단체[4] 1부 리그의 선수인 1부 리거에서 따온말. 일부 = 1부. 일부일 뿐이라고 말을 돌리지만 실제는 주류, 1부에 있는 사람들이라는 소리다.[5] 어원은 ilbe다.[6] 통계청 자료

파일:크리에이티브 커먼즈 라이선스__CC.png 이 문서의 내용 중 전체 또는 일부는 일부 문서의 r25 판에서 가져왔습니다. 이전 역사 보러 가기


파일:크리에이티브 커먼즈 라이선스__CC.png 이 문서의 내용 중 전체 또는 일부는 일부드립 문서의 r75 판에서 가져왔습니다. 이전 역사 보러 가기

  • 문서 삭제식 이동 ('일부드립' → '일반화' 리다이렉트)
  • 사유: 상당수 겹치는 내용이 있고 관련성이 크기 때문.