기본 콘텐츠로 건너뛰기

DP-13. 빈도수 오라클 (Frequency Oracle) 개요

용어의 유래

고대 신화에서 '오라클'은 신의 뜻을 전달하는 존재나 장소를 의미했습니다. 사람들은 직접 신을 볼 수는 없었지만, 오라클에게 질문을 던지면 신의 뜻에 대한 '답'이나 '예언'을 얻을 수 있었죠.

이 개념을 그대로 가져온 것입니다. 데이터 분석에서 서버(질문하는 사람)는 사용자의 '진짜 원본 데이터'(신)를 절대 직접 볼 수 없습니다. 하지만 "A라는 항목이 몇 번이나 등장했나요?"라고 질문을 던지면, 통계적으로 처리된 '답(빈도수)'은 얻을 수 있습니다.

즉, 원본 데이터에 접근하지 않고도 원하는 통계 정보(답)를 얻게 해주는 마법 같은 존재라는 의미에서 '오라클'이라는 단어를 사용합니다.

동작 방식

어떤 회사가 사용자들에게 가장 인기 있는 과일이 무엇인지 설문조사를 한다고 가정해 보겠습니다.

  • 기존 방식: 모든 사용자에게 "가장 좋아하는 과일은?"이라고 묻고 답변("사과", "바나나" 등)을 그대로 수집합니다.
    • 문제점: 서버는 'A라는 사용자가 사과를 좋아한다'는 민감할 수 있는 개인 정보를 직접 알게 됩니다. 만약 서버가 해킹당하면 모든 사용자의 응답이 유출될 수 있습니다.
  • 빈도수 오라클 방식:
    1. 각 사용자는 자신이 좋아하는 과일("사과")을 서버에 바로 보내지 않습니다.
    2. 대신, 정해진 규칙에 따라 자신의 답변을 무작위로 바꿉니다. 예를 들어, 50% 확률로 진짜 답변을 보내고, 50% 확률로 다른 과일 중 하나를 무작위로 선택해서 보냅니다.
    3. 서버는 'A 사용자가 사과를 보냈네'라고 수신했지만, 이것이 진짜 답변인지 무작위로 바뀐 답변인지 절대 확신할 수 없습니다. (→ Plausible Deniability, 그럴싸한 부인 가능성)
    4. 서버는 이렇게 노이즈가 섞인 수천, 수만 개의 응답을 모아서 "무작위 응답으로 인해 추가된 노이즈"를 통계적으로 제거합니다.
    5. 그 결과, "전체적으로 약 30%의 사용자가 사과를, 25%가 바나나를 가장 좋아한다"와 같은 전체적인 통계는 높은 정확도로 추정할 수 있습니다.

이처럼, 개인의 프라이버시는 강력하게 보호하면서도 그룹 전체의 유용한 인사이트는 얻을 수 있게 됩니다.

주요 기법들

Randomized Response는 가장 기본적인 기법이며, 더 효율적이고 정교한 여러 기법이 연구되었습니다.

  • Randomized Response (RR): '예/아니오'와 같은 이진(binary) 데이터나 선택지가 매우 적은 데이터에 효과적입니다.
  • k-Randomized Response (k-RR): 선택지가 k개인 경우로 확장한 기법입니다.
  • RAPPOR (Google): 해시(Hash) 기술을 이용해 답변 가능한 항목의 수가 매우 많을 때(예: 브라우저 홈페이지 주소)도 효율적으로 빈도를 추정할 수 있도록 구글에서 개발한 기술입니다.
  • Unary Encoding (UE) 기반 기법 (OUE, SUE): 답변 항목이 많을 때 k-RR보다 훨씬 높은 정확도를 보여주는 최신 기법들입니다. 각 항목을 0과 1로 구성된 긴 벡터로 변환(인코딩)한 뒤, 이 벡터의 각 비트(0 또는 1)를 무작위로 뒤집는 방식으로 작동합니다.

요약

빈도수 오라클은 지역 차등 정보보호의 철학을 구현하는 핵심 기술로, 사용자의 프라이버시를 최우선으로 보호하면서도 데이터 전체의 경향성(빈도)을 파악할 수 있게 해주는 강력한 도구입니다. 이 기술 덕분에 Apple, Google, Microsoft 같은 기업들은 수많은 사용자로부터 유용한 정보를 얻으면서도 개인정보를 보호할 수 있습니다.

댓글

이 블로그의 인기 게시물

Windows에 AMP와 MediaWiki 설치하기

1. 들어가기     AMP는 Apache + MySQL +  Perl/PHP/Python에 대한 줄임말이다. LAMP (Linux + AMP)라고 하여 Linux에 설치하는 것으로 많이 소개하고 있지만 Windows에서도 간편하게 설치하여 사용할 수 있다.       이 글은 Windows 7에 Apache + MySQL + PHP를 설치하고 그 기반에서 MediaWiki를 설치하여 실행하는 과정을 간략히 정리한 것이다. 2. MySQL     * 버전 5.6.12     1) 다운로드         http://dev.mysql.com/downloads/installer/         MySQL Installer 5.6.12         Windows (x86, 32-bit), MSI Installer         (mysql-installer-web-community-5.6.12.0.msi)     2) 다운로드한 MSI 파일을 더블클릭하여 설치를 진행한다.           설치 위치:                   C:\Program Files\MySQL               선택 사항:                       Install MySQL Products             Choosing a Se...

MATLAB Rutime 설치하기

MATLAB Rutime 설치하기 미설치시 에러 MATLAB Runtime 을 설치하지 않은 환경에서 MATLAB 응용프로그램이나 공유 라이브러리를 사용하려고 하면 아래와 같은 에러 메시지가 표시될 것입니다. 처리되지 않은 예외: System.TypeInitializationException: 'MathWorks.MATLAB.NET.Utility.MWMCR'의 형식 이니셜라이저에서 예 외를 Throw했습니다. ---> System.TypeInitializationException: 'MathWorks.MATLAB.NET.Arrays.MWArray'의 형식 이니셜라이저에서 예외를 Throw했습니다. ---> System.DllNotFoundException: DLL 'mclmcrrt9_3.dll'을(를) 로드할 수 없습니다. 지정된 모듈을 찾을 수 없습니다. (예외가 발생한 HRESULT: 0x8007007E) 위치: MathWorks.MATLAB.NET.Arrays.MWArray.mclmcrInitialize2(Int32 primaryMode) 위치: MathWorks.MATLAB.NET.Arrays.MWArray..cctor() --- 내부 예외 스택 추적의 끝 --- 위치: MathWorks.MATLAB.NET.Utility.MWMCR..cctor() --- 내부 예외 스택 추적의 끝 --- 위치: MathWorks.MATLAB.NET.Utility.MWMCR.processExiting(Exception exception) 해결 방법 이 문제를 해결하기 위해서는 MATLAB Runtime 을 설치해야 합니다. 여러 가지 방법으로 MATLAB Runtime 을 설치할 수 있습니다. MATLAB 이 설치되어 있는 경우에는 MATLAB 설치 폴더 아래에 있는 MATLAB Runtime 설치 프로그램을 실행하여 설치합니다. ...

Wi-Fi 카드 2.4GHz로만 동작시키기

Wi-Fi 카드 2.4GHz로만 동작시키기 별도의 Wi-Fi AP 장치를 두지 않고 아래와 같은 기기들로만 Wi-Fi 네트워크를 구성하고자 할 때 주변 기기들이 2.4GHz만 지원하기 때문에 PC에서 실행하는 AP가 항상 2.4GHz를 사용하도록 Wi-Fi 카드를 설정해 주어야 합니다. 기기 Wi-Fi 카드 주파수 대역 Wi-Fi Direct 지원 PC (Windows 10) 2.4GHz, 5GHz O 주변 기기들 2.4GHz X Wi-Fi 카드별 주파수 대역 선택 방법 Windows 시작 메뉴에서 설정 을 클릭합니다. Windows 설정 화면에서 네트워크 및 인터넷 을 클릭합니다. 설정 화면의 왼쪽 메뉴바에서 Wi-Fi 를 클릭합니다. 화면 오른쪽 관련 설정 구역에 있는 어댑터 옵션 변경 을 클릭합니다. 설정을 바꾸고자 하는 Wi-Fi 카드 항목을 선택하고 마우스 오른쪽을 누른 다음 속성 메뉴를 클릭합니다. 대화상자의 네트워킹 탭 화면에 있는 구성 버튼을 클릭합니다. 장치 속성 대화상자의 고급 탭 화면으로 이동합니다. 제시되는 속성 항목들은 제품별로 다르며 자세한 사항은 아래의 제품별 설명을 참고하여 값을 설정하시기 바랍니다. Intel Dual Band Wireless-AC 7265 기술 사양 주파수 대역: 2.4GHz, 5GHz 무선 표준: 802.11ac 주파수 대역 선택 장치 속성 대화상자에서 아래와 같이 선택합니다. Wireless Mode 1. 802.11a => 5GHz 4. 802.11b/g => 2.4GHz (이 항목 선택) 6. 802.11a/b/g => 2.4GHz, 5GHz Intel Dual Band Wireless-AC 8265 기술 사양 주파수 대역: 2.4GHz, 5GHz 무선 표준: 802.11ac 주파수 대역 선택 장치 속성 대화상자에서 아래와 같이 ...