Remove ads
З Вікіпедії, вільної енциклопедії
Ба́єсова мере́жа, мере́жа Ба́єса, мере́жа перекона́нь, ба́єсова моде́ль або ймові́рнісна орієнто́вана ациклі́чна гра́фова моде́ль (англ. Bayesian network, Bayes network, belief network, Bayes(ian) model, probabilistic directed acyclic graphical model) — це ймовірнісна графова модель (різновид статистичної моделі), яка представляє набір випадкових змінних та їхніх умовних залежностей[en] за допомогою орієнтованого ациклічного графу (ОАГ, англ. directed acyclic graph, DAG). Наприклад, баєсова мережа може представляти ймовірнісні зв'язки між захворюваннями та симптомами. Таку мережу можна використовувати для обчислення ймовірностей наявності різних захворювань за наявних симптомів.
Ця стаття містить перелік посилань, але походження окремих тверджень залишається незрозумілим через брак внутрішньотекстових джерел-виносок. (грудень 2016) |
Формально баєсові мережі є ОАГ, чиї вершини представляють випадкові змінні у баєсовому сенсі: вони можуть бути спостережуваними величинами, латентними змінними, невідомими параметрами або гіпотезами. Ребра представляють умовні залежності; не з'єднані вершини (такі, що в Баєсовій мережі не існує шляху від однієї змінної до іншої) представляють змінні, що є умовно незалежними[en] одна від одної. Кожну вершину пов'язано із функцією ймовірності, що бере на вході певний набір значень батьківських вершин, і видає (на виході) ймовірність (або розподіл імовірності, якщо застосовно) змінної, представленої цією вершиною. Наприклад, якщо батьківських вершин представляють булевих змінних, то функцію ймовірності може бути представлено таблицею записів, по одному запису для кожної з можливих комбінацій істинності або хибності її батьків. Схожі ідеї можуть застосовуватися до неорієнтованих та, можливо, циклічних графів, таких як марковські мережі.
Існують ефективні алгоритми, що виконують висновування та навчання в баєсових мережах. Баєсові мережі, що моделюють послідовності змінних (наприклад, сигнали мовлення, або послідовності білків), називають динамічними баєсовими мережами. Узагальнення баєсових мереж, що можуть представляти та розв'язувати задачі ухвалення рішень за умов невизначеності, називають діаграмами впливу[en].
Припустімо, що існують дві події, які можуть спричинити мокрість трави: або увімкнено розбризкувач, або йде дощ. Також припустімо, що дощ має прямий вплив на використання розбризкувача (а саме, коли йде дощ, розбризкувач зазвичай не увімкнено). Тоді цю ситуацію може бути змодельовано баєсовою мережею (показаною праворуч). Всі три змінні мають два можливі значення, T (істина, англ. True) та F (хиба, англ. False).
Функцією спільного розподілу ймовірності є
де назви змінних є скороченнями G = трава мокра (англ. Grass wet, так/ні), S = розбризкувач увімкнено (англ. Sprinkler, так/ні) та R = іде дощ (англ. Raining, так/ні).
Ця модель може відповідати на такі питання, як «Якою є ймовірність того, що йде дощ, якщо трава мокра?» шляхом застосування формули умовної ймовірності та підбиття сум за всіма завадними змінними[en]:
Використовуючи розклад спільної функції ймовірності , та умовні ймовірності з таблиць умовної ймовірності[en], зазначених у діаграмі, можна оцінити кожен член у сумах чисельника та знаменника. Наприклад,
Тоді числовими результатами (з пов'язаними значеннями змінних в індексах) є
З іншого боку, якщо ми хочемо відповісти на втручальницьке питання «Яка ймовірність того, що піде дощ, якщо ми намочимо траву?», то відповідь визначатиметься післявтручальною функцією спільного розподілу , отриманою усуненням коефіцієнту із довтручального розподілу. Як і очікувалося, на ймовірність дощу ця дія не впливає: .
Понад те, якщо ми хочемо передбачити вплив умикання розбризкувача, то ми маємо
з усуненим членом , що показує, що ця дія має вплив на траву, але не на дощ.
Ці передбачення не можуть бути здійсненними, якщо якісь змінні є неспостережуваними, як у більшості задач оцінки стратегій. Вплив дії все ще можна передбачувати, проте лише якщо задовольняється критерій «чорного ходу».[1][2] Він заявляє, що якщо може спостерігатися множина вузлів Z, яка о-розділює[3] (або блокує) всі чорні ходи (англ. back-door paths) з X до Y, то . Чорний хід є таким, що закінчується стрілкою в X. Множини, які задовольняють критерій чорного ходу, називають «достатніми» (англ. sufficient) або «прийнятними» (англ. admissible). Наприклад, множина Z = R є прийнятною для передбачування впливу S = T на G, оскільки R о-розділює (єдиний) чорний хід S ← R → G. Проте якщо S не спостерігається, то не існує іншої множини, яка би о-розділювала цей шлях, і вплив умикання розбризкувача (S = T) на траву (G) не може бути передбачено з пасивних спостережень. Тоді ми кажемо, що множина P(G | do(S = T)) є не пізннаною (англ. not identified). Це віддзеркалює той факт, що за умови браку даних втручання ми не можемо визначити, чи завдячує спостережувана залежність між S та G випадковому зв'язкові або є фальшивою (видима залежність, що випливає зі спільної причини, R). (див. парадокс Сімпсона)
Для з'ясування того, чи є причинний зв'язок пізнанним із довільної баєсової мережі з неспостережуваними змінними, можна застосовувати три правила числення дій (англ. do-calculus),[1][4] і перевіряти, чи всі do-члени може бути усунено з виразу для цього співвідношення, підтверджуючи таким чином, що бажана величина є оцінкою із частотних даних.[5]
Застосування баєсової мережі може заощаджувати значні обсяги пам'яті, якщо залежності в спільному розподілі є розрідженими. Наприклад, наївний спосіб зберігання умовних імовірностей для 10 двозначних змінних як таблиці вимагає простору для зберігання значень. Якщо локальні розподіли жодної зі змінних не залежать більше ніж від трьох батьківських змінних, то представлення як баєсової мережі потребує зберігання щонайбільше значень.
Однією з переваг баєсових мереж є те, що людині інтуїтивно простіше розуміти (розріджені набори) прямих залежностей та локальні розподіли, ніж повні спільні розподіли.
Для баєсових мереж існує три основні завдання для висновування.
Оскільки баєсова мережа є повною моделлю змінних та їхніх взаємозв'язків, її можна використовувати для отримання відповідей на ймовірнісні запити стосовно них. Наприклад, цю мережу можна використовувати для з'ясовування уточненого знання про стан якоїсь підмножини змінних, коли спостерігаються інші змінні (змінні свідчення, англ. evidence). Цей процес обчислення апостеріорного розподілу змінних для заданого свідчення називається ймовірнісним висновуванням (англ. probabilistic inference). Це апостеріорне дає універсальну достатню статистику для застосувань для виявлення, коли потрібно підбирати значення підмножини змінних, які мінімізують певну функцію очікуваних втрат, наприклад, імовірність помилковості рішення. Баєсову мережу відтак можна розглядати як механізм автоматичного застосування теореми Баєса до комплексних задач.
Найпоширенішими методами точного висновування є: виключення змінних[en], яке виключає (інтегруванням або підсумовуванням) неспостережувані не запитові змінні одну по одній шляхом розподілу суми над добутком; поширення деревом злук[en], яке кешує обчислення таким чином, що одночасно можна робити запит до багатьох змінних, а нові свідчення можуть поширюватися швидко; та рекурсивне обумовлювання й пошук ТА/АБО, які передбачають просторово-часовий компроміс та підбирають ефективність виключення змінних при використанні достатнього простору. Всі ці методи мають експоненційну складність відносно деревної ширини мережі. Найпоширенішими алгоритмами наближеного висновування[en] є вибірка за значимістю, стохастична імітація МКМЛ, міні-блокове виключення (англ. mini-bucket elimination), петельне поширення переконання[en], поширення узагальненого переконання[en] та варіаційні методи[en].
Щоби повністю описати баєсову мережу, і відтак повністю представити спільний розподіл імовірності, необхідно для кожного вузла X вказати розподіл імовірності X, обумовлений батьками X. Цей розподіл X, обумовлений батьками X, може мати будь-який вигляд. Є звичним працювати з дискретними або ґаусовими розподілами, оскільки це спрощує обчислення. Іноді відомі лише обмеження на розподіл; тоді можна застосовувати принцип максимальної ентропії[en] для визначення єдиного розподілу, який має найбільшу ентропію для заданих обмежень. (Аналогічно, в конкретному контексті динамічних баєсових мереж зазвичай вказують такий умовний розподіл розвитку в часі прихованих станів, щоби максимізувати ентропійну швидкість цього неявного стохастичного процесу.)
Ці умовні розподіли часто включають параметри, які є невідомими, і мусять бути оцінені з даних, іноді із застосуванням підходу максимальної правдоподібності. Пряма максимізація правдоподібності (або апостеріорної ймовірності) часто є складною, коли є неспостережувані змінні. Класичним підходом до цієї задачі є алгоритм очікування-максимізації, який чередує обчислення очікуваних значень неспостережених змінних за умови спостережуваних даних із максимізацією повної правдоподібності (або апостеріорного), виходячи з припущення про правильність попередньо обчислених очікуваних значень. За м'яких умов закономірності цей процес збігається до значень параметрів, які дають максимальну правдоподібність (або максимальне апостеріорне).
Повнішим баєсовим підходом до параметрів є розгляд параметрів як додаткових неспостережуваних змінних і обчислення повного апостеріорного розподілу над усіма вузлами за умови спостережуваних даних, із наступним відінтегровуванням параметрів. Цей підхід може бути витратним і вести до моделей великої розмірності, тому на практиці поширенішими є класичні підходи встановлення параметрів.
У найпростішому випадку баєсова мережа задається фахівцем, і потім застосовується для виконання висновування. В інших застосуваннях задача визначення цієї мережі є занадто складною для людей. В такому випадку структури мережі та параметрів локальних розподілів треба навчатися з даних.
Автоматичне навчання структури баєсової мережі є проблемою, якою займається машинне навчання. Основна ідея сходить до алгоритму виявлення, розробленого Ребане та Перлом 1987 року,[6] який спирається на розрізнення між трьома можливими типами суміжних трійок, дозволеними в орієнтованому ациклічному графі (ОАГ):
Типи 2 та 3 представляють однакові залежності ( та є незалежними за заданого ), і, відтак, є нерозрізнюваними. Проте тип 3 може бути унікально виявлено, оскільки та є відособлено незалежними, а всі інші пари є залежними. Таким чином, в той час як кістяки (англ. skeletons, графи із зачищеними стрілками) цих трьох трійок є однаковими, напрямок стрілок частково підлягає виявленню. Таке саме розрізнення застосовується й тоді, коли та мають спільних батьків, тільки спочатку треба зробити обумовлення за цими батьками. Було розроблено алгоритми для систематичного визначення кістяка графу, що лежить в основі, а потім спрямовуванні всіх стрілок, чия спрямованість диктується спостережуваними умовними незалежностями.[1][7][8][9]
Альтернативний метод навчання структури застосовує пошук на основі оптимізації. Він потребує оцінкової функції[en] та стратегії пошуку. Поширеною оцінковою функцією є апостеріорна ймовірність структури за заданих тренувальних даних, така як БІК або BDeu. Часові вимоги вичерпного пошуку, що повертає структуру, яка максимізує оцінку, є суперекспоненційними відносно числа змінних. Стратегія локального пошуку робить поступові зміни, спрямовані на поліпшення оцінки структури. Алгоритм глобального пошуку, такий як метод Монте-Карло марковських ланцюгів, може уникати потрапляння в пастку локального мінімуму. Фрідман та ін.[10][11] обговорюють застосування взаємної інформації між змінними, та пошуку структури, яка її максимізує. Вони роблять це шляхом обмеження набору кандидатів у батьки k вузлами, і вичерпним пошуком серед таких.
Особливо швидким методом точного навчання БМ є розгляд цієї задачі як задачі оптимізації, й розв'язання її із застосуванням цілочисельного програмування. Обмеження ациклічності додаються цілочисельній програмі під час розв'язання у вигляді січних площин[en].[12] Такий метод може впоруватися із задачами, що мають до 100 змінних.
Щоби мати справу із задачами з тисячами змінних, необхідно застосовувати інший підхід. Одним з них є спочатку вибирати одне впорядкування, і потім знаходити оптимальну структуру БМ по відношенню до цього впорядкування. Це означає роботу на просторі пошуку можливих впорядкувань, що є зручним, оскільки він менший за простір мережних структур. Потім вибираються й оцінюються декілька впорядкувань. Було доведено, що цей метод є найкращим із доступних в наукових працях, коли число змінних є величезним.[13]
Інший метод полягає в зосередженні на підкласах розкладаних моделей, для яких оцінка максимальної правдоподібності має замкнений вигляд. Тоді можливо виявляти цілісну структуру для сотень змінних.[14]
Баєсова мережа може доповнюватися вузлами та ребрами із застосуванням методик машинного навчання на основі правил. Для добування правил та створення нових вузлів може застосовуватися індуктивне логічне програмування[en].[15] Підходи статистичного навчання відношень[en] (СНВ, англ. statistical relational learning, SRL) використовують оцінкову функцію[en], що ґрунтується на структурі баєсової мережі, для спрямовування структурного пошуку та доповнення мережі.[16] Поширеною оцінковою функцією СНВ є площа під кривою РХП.
Як зазначено раніше, навчання баєсових мереж із обмеженою деревною шириною є необхідним для уможливлення точного розв'язного висновування, оскільки складність висновування в найгіршому випадку є експоненційною по відношенню до деревної ширини k (за гіпотези експоненційного часу). Проте, будучи глобальною властивістю графу, вона значно підвищує складність процесу навчання. В цьому контексті для ефективного навчання можливо застосовувати поняття k-дерева.[17]
Для заданих даних та параметру простий баєсів аналіз починається з апріорної ймовірності (апріорного) та правдоподібності для обчислення апостеріорної ймовірності .
Часто апріорне залежить у свою чергу від інших параметрів , які не згадуються в правдоподібності. Отже, апріорне мусить бути замінено правдоподібністю , і потрібним апріорним нововведених параметрів , що дає в результаті апостеріорну ймовірність
Це є найпростішим прикладом ієрархічної баєсової моделі (англ. hierarchical Bayes model).[прояснити: <span style="border-bottom:1px dotted; cursor:help;" title='Що робить її ієрархічною? Ми говоримо про ієрархія (математика)[en], чи ієрархічна структура? Поставте посилання на відповідне. (грудень 2016)'>ком.]
Цей процес може повторюватися; наприклад, параметри можуть у свою чергу залежати від додаткових параметрів , які потребуватимуть свого власного апріорного. Зрештою цей процес мусить завершитися апріорними, які не залежать від жодних інших незгаданих параметрів.
Цей розділ потребує доповнення. (грудень 2016) |
Припустімо, що ми виміряли величини , кожна із нормально розподіленою похибкою відомого стандартного відхилення ,
Припустімо, що нас цікавить оцінка . Підходом буде оцінювати із застосуванням методу максимальної правдоподібності; оскільки спостереження є незалежними, правдоподібність розкладається на множники, і оцінкою максимальної правдоподібності є просто
Проте, якщо ці величини є взаємопов'язаними, так що, наприклад, ми можемо думати, що окремі було й самі вибрано з розподілу, що лежав в основі, то цей взаємозв'язок руйнує незалежність, і пропонує складнішу модель, наприклад,
з некоректними апріорними flat, flat. При це є пізнанною моделлю (тобто, існує унікальний розв'язок для параметрів моделі), а апостеріорні розподіли окремих будуть схильні рухатися, або стискатися[en] (англ. shrink) від оцінок максимальної правдоподібності до свого спільного середнього. Це стискання (англ. shrinkage) є типовою поведінкою ієрархічних баєсових моделей.
При виборі апріорних в ієрархічній моделі потрібна деяка обережність, зокрема на масштабних змінних на вищих рівнях ієрархії, таких як змінна у цьому прикладі. Звичайні апріорні, такі як апріорне Джеффріса[en], часто не працюють, оскільки апостеріорний розподіл буде некоректним (його неможливо буде унормувати), а оцінки, зроблені мінімізуванням очікуваних втрат будуть неприйнятними[en].
Існує декілька рівнозначних визначень баєсової мережі. Для всіх наступних, нехай G = (V,E) є орієнтованим ациклічним графом (або ОАГ), і нехай X = (Xv)v ∈ V є множиною випадкових змінних, проіндексованою за V.
X є баєсовою мережею по відношенню до G, якщо функцію її спільної густини ймовірності (по відношенню до добуткової міри) може бути записано як добуток окремих функцій густини, обумовлених їхніми батьківськими змінними:[18]
де pa(v) є множиною батьків v (тобто, тих вершин, які вказують безпосередньо на v через єдине ребро).
Для будь-якої множини випадкових змінних імовірність будь-якого члену спільного розподілу може бути обчислено з умовних імовірностей із застосуванням ланцюгового правила (для заданого топологічного впорядкування X) наступним чином:[18]
Порівняйте це із наведеним вище визначенням, що його може бути записано наступним чином:
Різницею між цими двома виразами є умовна незалежність[en] змінних від будь-якого з їхніх не-нащадків за заданих значень їхніх батьківських змінних.
X є баєсовою мережею по відношенню до G, якщо вона задовольняє локальну марковську властивість (англ. local Markov property): кожна змінна є умовно незалежною[en] від своїх не-нащадків за заданих її батьківських змінних:[19]
де de(v) є множиною нащадків, а V \ de(v) є множиною не-нащадків v.
Це також може бути виражено в подібних до першого визначення термінах як
Зауважте, що множина батьків є підмножиною множини не-нащадків, оскільки граф є ациклічним.
Для розробки баєсових мереж ми часто спочатку розробляємо такий ОАГ G, що ми переконані, що X задовольняє локальну марковську властивість по відношенню до G. Іноді це робиться шляхом створення причинного[en] ОАГ. Потім ми з'ясовуємо умовні розподіли ймовірності для кожної змінної за заданих її батьків у G. В багатьох випадках, зокрема, в тому випадку, коли змінні є дискретними, якщо ми визначаємо спільний розподіл X як добуток цих умовних розподілів, то X є баєсовою мережею по відношенню до G.[20]
Марковське покриття вузла є множиною вузлів, яка складається з його батьківських вузлів, його дочірніх вузлів, та всіх іншиї батьків його дочірніх вузлів. Марковське покриття робить вузол незалежним від решти мережі; спільний розподіл змінних у марковському покритті вузла є достатнім знанням для обчислення розподілу цього вузла. X є баєсовою мережею по відношенню до G, якщо кожен вузол є умовно незалежним від всіх інших вузлів мережі за заданого його марковського покриття.[19]
Це визначення можна зробити загальнішим через визначення о-розділеності (англ. d-separation) двох вузлів, де «о» значить «орієнтована» (англ. directional).[21][22] Нехай P є ланцюгом від вузла u до v. Ланцюг — це ациклічний неорієнтований шлях між двома вузлами (тобто, напрям ребер при побудові цього шляху ігнорується), в якому ребра можуть мати будь-який напрям. Тоді про P кажуть, що він о-розділюється множиною вузлів Z, якщо виконуються будь-які з наступних умов:
X є баєсовою мережею по відношенню до G, якщо для будь-яких двох вузлів u та v
де Z є множиною, яка о-розділює u та v. (Марковське покриття є мінімальним набором вузлів, які о-відділюють вузол v від решти вузлів.)
Термін ієрархічна модель (англ. hierarchical model) іноді вважається окремим типом басової мережі, але він не має формального визначення. Іноді цей термін резервують для моделей з трьома або більше шарами випадкових змінних; в інших випадках його резервують для моделей із латентними змінними. Проте в цілому «ієрархічною» зазвичай називають будь-яку помірно складну баєсову мережу.
Хоч баєсові мережі й використовують часто для представлення причинних взаємозв'язків, це не обов'язково повинно бути так: орієнтоване ребро з u до v не вимагає, щоби Xv причинно залежало від Xu. Про це свідчить той факт, що баєсові мережі на графах
є рівнозначними: тобто, вони накладають точно такі ж вимоги умовної незалежності.
Причи́нна мере́жа (англ. causal network) — це баєсова мережа з явною вимогою того, що взаємозв'язки є причинними. Додаткова семантика причинних мереж вказує, що якщо вузлові X активно спричинено перебування в заданому стані x (дія, що записується як do(X = x)), то функція густини ймовірності змінюється на функцію густини ймовірності мережі, отриманої відсіканням з'єднань від батьків X до X, і встановленням X у спричинене значення x.[1] Застосовуючи ці семантики, можна передбачувати вплив зовнішніх втручань на основі даних, отриманих до втручання.
1990 року під час праці в Стенфордському університеті над великими застосунками в біоінформатиці Грег Купер довів, що точне висновування в баєсових мережах є NP-складним.[23] Цей результат спричинив сплеск досліджень алгоритмів наближення з метою розробки розв'язного наближення ймовірнісного висновування. 1993 року Пол Деґам та Майкл Любі довели два несподівані результати стосовно складності наближення ймовірнісного висновування в баєсових мережах.[24] По-перше, вони довели, що не існує розв'язного детермінованого алгоритму, який міг би наближувати ймовірнісне висновування в межах абсолютної похибки ɛ< 1/2. По-друге, вони довели, що не існує розв'язного увипадковленого алгоритму, який міг би наближувати ймовірнісне висновування в межах абсолютної похибки ɛ < 1/2 з довірчою ймовірністю понад 1/2.
Приблизно в той же час Ден Рот[en] довів, що точне висновування в баєсових мережах фактично є #P-повним[en] (і відтак настільки ж складним, як і підрахунок числа задовільних присвоєнь КНФ-формули), і що наближене висновування, навіть для баєсових мереж із обмеженою архітектурою, є NP-складним.[25][26]
З практичної точки зору, ці результати стосовно складності підказали, що хоча баєсові мережі й були цінними представленнями для застосунків ШІ та машинного навчання, їхнє застосування у великих реальних задачах вимагатиме пом'якшення або топологічними структурними обмеженнями, такими як наївні баєсові мережі, або обмеженнями на умовні ймовірності. Алгоритм обмеженої дисперсії (англ. bounded variance algorithm)[27] був першим алгоритмом довідного швидкого наближення для ефективного наближення ймовірнісного висновування в баєсових мережах з гарантією похибки наближення. Цей потужний алгоритм вимагав другорядних обмежень умовних імовірностей баєсової мережі, щоби отримати відмежування від нуля та одиниці на 1/p(n), де p(n) є будь-яким поліномом від числа вузлів мережі n.
Баєсові мережі застосовують для моделювання переконань в обчислювальній біології та біоінформатиці (аналізі генних регуляторних мереж, структур білків, експресії генів,[28] навчанні епістазів із наборів даних GWAS[en][29]), медицині,[30] біомоніторингу[en],[31] класифікації документів, інформаційному пошуку,[32] семантичному пошуку[en],[33] обробці зображень, злитті даних, системах підтримки ухвалення рішень,[34] інженерії, ставках на спорт,[35][36] іграх, праві,[37][38][39] розробці досліджень[40] та аналізі ризиків.[41] Існують праці про застосування баєсових мереж в біоінформатиці[42][43] та фінансовій і маркетинговій інформатиці.[44][45]
Термін «баєсові мережі» (англ. Bayesian networks) було запроваджено Йудою Перлом 1985 року для підкреслення трьох аспектів:[46]
Наприкінці 1980-х років праці Йуди Перла «Імовірнісне міркування в інтелектуальних системах»[48] та Річарда Неаполітана «Імовірнісне міркування в експертних системах»[49] підсумували властивості баєсових мереж та утвердили баєсові мережі як область дослідження.
Неофіційні варіанти таких мереж було вперше застосовано 1913 року юристом Джоном Генрі Вігмором у вигляді діаграм Вігмора[en] для аналізу процесуальних доказів.[38] Інший варіант, що називається діаграмами шляхів[en], було розроблено генетиком Сьюелом Райтом,[50] і застосовано в суспільній та поведінковій науці (переважно в лінійних параметричних моделях).
В своїй книзі 2018 року «Книга про Чому» Перл зізнався, що хоч і признає їх успішність в цілому, баєсові мережі не виправдали його сподівань (наблизити машинний інтелект до людського). Він також пояснив чому: мережі виводили висновки через спостережені ймовірності, але не враховували причинність. Думка про ймовірну помилковість конструкції баєсових мереж виникла у нього одразу ж після публікації книги «Імовірнісне міркування в інтелектуальних системах»[51], що і призвело до появи причинних мереж[1].
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.