Подбирайте простую модель локальных поддающихся толкованию объяснений модели агностических (LIME)
подбирает новую простую модель для заданной точки запроса (newresults
= fit(results
,queryPoint
,numImportantPredictors
)queryPoint
) при помощи конкретного количества или предикторов (numImportantPredictors
). Функция возвращает lime
объект newresults
это содержит новую простую модель.
fit
использует простые опции модели, которые вы задаете, когда вы создаете lime
объект results
. Можно изменить опции с помощью аргументов пары "имя-значение" fit
функция.
задает дополнительные опции с помощью одного или нескольких аргументов пары "имя-значение". Например, можно задать newresults
= fit(results
,queryPoint
,numImportantPredictors
,Name,Value
)'SimpleModelType','tree'
соответствовать модели дерева принятия решения.
Обучите модель регрессии и создайте lime
возразите, что использует линейную простую модель. Когда вы создаете lime
объект, если вы не задаете точку запроса и количество важных предикторов, затем программное обеспечение, генерирует выборки синтетического набора данных, но не подбирает простую модель. Используйте объектный функциональный fit
подбирать простую модель для точки запроса. Затем отобразите коэффициенты подбиравшей линейной простой модели при помощи объектного функционального plot
.
Загрузите carbig
набор данных, который содержит измерения автомобилей, сделанных в 1970-х и в начале 1980-х..
load carbig
Составьте таблицу, содержащую переменные предикторы Acceleration
, Cylinders
, и так далее, а также переменная отклика MPG
.
tbl = table(Acceleration,Cylinders,Displacement,Horsepower,Model_Year,Weight,MPG);
Удаление отсутствующих значений в наборе обучающих данных может помочь уменьшать потребление памяти и ускорить обучение fitrkernel
функция. Удалите отсутствующие значения в tbl
.
tbl = rmmissing(tbl);
Составьте таблицу переменных предикторов путем удаления переменной отклика из tbl
.
tblX = removevars(tbl,'MPG');
Обучите модель черного ящика MPG
при помощи fitrkernel
функция, и создает lime
объект. Задайте набор данных предиктора потому что mdl
не содержит данные о предикторе. Ваши результаты могут варьироваться от показанных из-за случайности fitrkernel
и lime
. Можно установить случайный seed при помощи rng
для воспроизводимости.
mdl = fitrkernel(tblX,tbl.MPG,'CategoricalPredictors',[2 5]); results = lime(mdl,tblX,'CategoricalPredictors',[2 5])
results = lime with properties: BlackboxModel: [1×1 RegressionKernel] DataLocality: 'global' CategoricalPredictors: [2 5] Type: 'regression' X: [392×6 table] QueryPoint: [] NumImportantPredictors: [] NumSyntheticData: 5000 SyntheticData: [5000×6 table] Fitted: [5000×1 double] SimpleModel: [] ImportantPredictors: [] BlackboxFitted: [] SimpleModelFitted: []
results
содержит сгенерированный синтетический набор данных. SimpleModel
свойство пусто ([]
).
Подбирайте линейную простую модель для первого наблюдения в tblX
. Задайте количество важных предикторов, чтобы найти как 3.
queryPoint = tblX(1,:)
queryPoint=1×6 table
Acceleration Cylinders Displacement Horsepower Model_Year Weight
____________ _________ ____________ __________ __________ ______
12 8 307 130 70 3504
results = fit(results,queryPoint,3);
Постройте lime
объект results
при помощи объектного функционального plot
. Чтобы отобразить существующее подчеркивание на любое имя предиктора, измените TickLabelInterpreter
значение осей к 'none'
.
f = plot(results);
f.CurrentAxes.TickLabelInterpreter = 'none';
График отображает два предсказания для точки запроса, которые соответствуют свойству BlackboxFitted и свойству SimpleModelFitted results
.
Горизонтальный столбчатый график показывает содействующие значения простой модели, отсортированной по их абсолютным значениям. LIME находит Horsepower
, Model_Year
, и Cylinders
как важные предикторы для точки запроса.
Обучите модель классификации и создайте lime
возразите, что использует дерево решений простая модель. Подбирайте многоуровневые модели для нескольких точек запроса.
Загрузите CreditRating_Historical
набор данных. Набор данных содержит идентификаторы клиентов и их финансовые отношения, промышленные метки и кредитные рейтинги.
tbl = readtable('CreditRating_Historical.dat');
Составьте таблицу переменных предикторов путем удаления столбцов идентификаторов клиентов и оценок от tbl
.
tblX = removevars(tbl,["ID","Rating"]);
Обучите модель черного ящика кредитных рейтингов при помощи fitcecoc
функция.
blackbox = fitcecoc(tblX,tbl.Rating,'CategoricalPredictors','Industry')
blackbox = ClassificationECOC PredictorNames: {'WC_TA' 'RE_TA' 'EBIT_TA' 'MVE_BVTD' 'S_TA' 'Industry'} ResponseName: 'Y' CategoricalPredictors: 6 ClassNames: {'A' 'AA' 'AAA' 'B' 'BB' 'BBB' 'CCC'} ScoreTransform: 'none' BinaryLearners: {21×1 cell} CodingName: 'onevsone' Properties, Methods
Создайте lime
объект с blackbox
модель. Ваши результаты могут варьироваться от показанных из-за случайности lime
. Можно установить случайный seed при помощи rng
для воспроизводимости.
results = lime(blackbox,'CategoricalPredictors','Industry');
Найдите две точки запроса, истинными номинальными значениями которых является AAA
и B
, соответственно.
queryPoint(1,:) = tblX(find(strcmp(tbl.Rating,'AAA'),1),:); queryPoint(2,:) = tblX(find(strcmp(tbl.Rating,'B'),1),:)
queryPoint=2×6 table
WC_TA RE_TA EBIT_TA MVE_BVTD S_TA Industry
_____ _____ _______ ________ _____ ________
0.121 0.413 0.057 3.647 0.466 12
0.019 0.009 0.042 0.257 0.119 1
Подбирайте линейную простую модель для первой точки запроса. Определите номер важных предикторов к 4.
newresults1 = fit(results,queryPoint(1,:),4);
Постройте результаты LIME newresults1
для первой точки запроса. Чтобы отобразить существующее подчеркивание на любое имя предиктора, измените TickLabelInterpreter
значение осей к 'none'
.
f1 = plot(newresults1);
f1.CurrentAxes.TickLabelInterpreter = 'none';
Соответствуйте линейной модели дерева принятия решения для первой точки запроса.
newresults2 = fit(results,queryPoint(1,:),6,'SimpleModelType','tree'); f2 = plot(newresults2); f2.CurrentAxes.TickLabelInterpreter = 'none';
Простые модели в newresults1
и newresults2
оба находят MVE_BVTD
и RE_TA
как важные предикторы.
Подбирайте линейную простую модель для второй точки запроса и постройте результаты LIME для второй точки запроса.
newresults3 = fit(results,queryPoint(2,:),4);
f3 = plot(newresults3);
f3.CurrentAxes.TickLabelInterpreter = 'none';
Предсказание от blackbox
моделью является B
, но предсказанием из простой модели не является B
. Когда эти два предсказания различные, можно задать меньший 'KernelWidth'
значение. Программное обеспечение подбирает простую модель с помощью весов, которые более фокусируются на выборках около точки запроса. Если точка запроса является выбросом или расположена около контура решения, то два значения предсказания могут отличаться, даже если вы задаете маленький 'KernelWidth'
значение. В таком случае можно изменить другие аргументы пары "имя-значение". Например, можно сгенерировать локальный синтетический набор данных (задайте 'DataLocality'
из lime
как 'local'
) для точки запроса и увеличивают число выборок ('NumSyntheticData'
из lime
или fit
) в синтетическом наборе данных. Можно также использовать различную метрику расстояния ('Distance'
из lime
или fit
).
Подбирайте линейную простую модель с маленьким 'KernelWidth'
значение.
newresults4 = fit(results,queryPoint(2,:),4,'KernelWidth',0.01); f4 = plot(newresults4); f4.CurrentAxes.TickLabelInterpreter = 'none';
Кредитными рейтингами для первых и вторых точек запроса является AAA
и B
, соответственно. Простые модели в newresults1
и newresults4
оба находят MVE_BVTD
, RE_TA
, и WC_TA
как важные предикторы. Однако их содействующие значения отличаются. Графики показывают, что эти предикторы действуют по-другому в зависимости от кредитных рейтингов.
results
— Результаты LIMElime
объектLIME заканчивается в виде lime
объект.
queryPoint
— Точка запросаТочка запроса, вокруг который fit
функция подбирает простую модель в виде вектора-строки из числовых значений или таблицы одной строки. queryPoint
значение должно иметь совпадающий тип данных и одинаковое число столбцов как данные о предикторе (результаты.
или X
результаты.
) в SyntheticData
lime
объект results
.
Типы данных: single
| double
| table
numImportantPredictors
— Количество важных предикторов, чтобы использовать в простой моделиКоличество важных предикторов, чтобы использовать в простой модели в виде положительного значения целочисленного скаляра.
Если 'SimpleModelType'
'linear'
, затем программное обеспечение выбирает конкретное количество важных предикторов и подбирает линейную модель выбранных предикторов.
Если 'SimpleModelType'
'tree'
, затем программное обеспечение задает максимальное количество разделений решения (или узлы ветви) как количество важных предикторов так, чтобы подходящее дерево решений использовало самое большее конкретное количество предикторов.
Типы данных: single
| double
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
'NumSyntheticData',2000,'SimpleModelType','tree'
определяет номер выборок, чтобы сгенерировать для синтетического набора данных к 2 000 и задает простой тип модели как дерево решений.'Cov'
— Ковариационная матрица для метрики расстояния MahalanobisКовариационная матрица для метрики расстояния Mahalanobis в виде разделенной запятой пары, состоящей из 'Cov'
и K-by-K положительная определенная матрица, где K является количеством предикторов.
Этот аргумент допустим только если 'Distance'
'mahalanobis'
.
Значением по умолчанию является 'Cov'
значение, которое вы задаете при создании lime
объект results
. 'Cov'
по умолчанию значение
lime
cov(PD,'omitrows')
, где PD
данные о предикторе или синтетические данные о предикторе. Если вы не задаете 'Cov'
значение, затем программное обеспечение использует различные ковариационные матрицы при вычислении расстояний и для данных о предикторе и для синтетических данных о предикторе.
Пример: 'Cov',eye(3)
Типы данных: single
| double
'Distance'
— Метрика расстоянияМетрика расстояния в виде разделенной запятой пары, состоящей из 'Distance'
и вектор символов, строковый скаляр или указатель на функцию.
Если данные о предикторе включают только непрерывные переменные, то fit
поддержки эти метрики расстояния.
Значение | Описание |
---|---|
'euclidean' | Евклидово расстояние. |
'seuclidean' | Стандартизированное Евклидово расстояние. Каждое координатное различие между наблюдениями масштабируется путем деления на соответствующий элемент стандартного отклонения, |
'mahalanobis' | Расстояние Mahalanobis с помощью выборочной ковариации |
'cityblock' | Расстояние городского квартала. |
'minkowski' | Расстояние Минковскего. Экспонента по умолчанию равняется 2. Чтобы задать различную экспоненту, используйте |
'chebychev' | Расстояние Чебычева (максимум координируют различие). |
'cosine' | Один минус косинус включенного угла между точками (обработанный как векторы). |
'correlation' | Один минус корреляция выборки между точками (обработанный как последовательности значений). |
'spearman' | Один минус порядковая корреляция демонстрационного Копьеносца между наблюдениями (обработанный как последовательности значений). |
@ | Пользовательский указатель на функцию расстояния. Функция расстояния имеет форму function D2 = distfun(ZI,ZJ) % calculation of distance ...
Если ваши данные не разреженны, можно обычно вычислять расстояние более быстро при помощи встроенной метрики расстояния вместо указателя на функцию. |
Если данные о предикторе включают и непрерывные и категориальные переменные, то fit
поддержки эти метрики расстояния.
Значение | Описание |
---|---|
'goodall3' | Модифицированное расстояние Гудолла |
'ofd' | Расстояние частоты вхождения |
Для определений смотрите Метрики Расстояния.
Значением по умолчанию является 'Distance'
значение, которое вы задаете при создании lime
объект results
. 'Distance'
по умолчанию значение
lime
'euclidean'
если данные о предикторе включают только непрерывные переменные или 'goodall3'
если данные о предикторе включают и непрерывные и категориальные переменные.
Пример: 'Distance','ofd'
Типы данных: char |
string
| function_handle
'KernelWidth'
— Ширина ядраШирина ядра экспоненциала в квадрате (или Гауссов) ядро функционирует в виде разделенной запятой пары, состоящей из 'KernelWidth'
и значение числового скаляра.
fit
функция вычисляет расстояния между точкой запроса и выборками в синтетическом наборе данных предиктора, и затем преобразует расстояния до весов при помощи экспоненциальной функции ядра в квадрате. Если вы понижаете 'KernelWidth'
значение, затем fit
веса использования, которые более фокусируются на выборках около точки запроса. Для получения дополнительной информации смотрите LIME.
Значением по умолчанию является 'KernelWidth'
значение, которое вы задаете при создании lime
объект results
. 'KernelWidth'
по умолчанию значение
lime
0.75.
Пример: 'KernelWidth',0.5
Типы данных: single
| double
'NumNeighbors'
— Количество соседей точки запросаКоличество соседей точки запроса в виде разделенной запятой пары, состоящей из 'NumNeighbors'
и положительное значение целочисленного скаляра. Этот аргумент допустим только когда DataLocality
свойство results
'local'
.
fit
функционируйте оценивает параметры распределения данных о предикторе с помощью конкретного количества самых близких соседей точки запроса. Затем функция генерирует синтетические данные о предикторе с помощью предполагаемого распределения.
Если вы задаете значение, больше, чем количество наблюдений в наборе данных предиктора (результаты.
) в X
lime
объект results
, затем fit
использование все наблюдения.
Значением по умолчанию является 'NumNeighbors'
значение, которое вы задаете при создании lime
объект results
. 'NumNeighbors'
по умолчанию значение
lime
1500.
Пример: 'NumNeighbors',2000
Типы данных: single
| double
'NumSyntheticData'
— Количество выборок, чтобы сгенерировать для синтетического набора данныхresults.NumSyntheticData
(значение по умолчанию) | положительное значение целочисленного скаляраКоличество выборок, чтобы сгенерировать для синтетического набора данных в виде разделенной запятой пары, состоящей из 'NumSyntheticData'
и положительное значение целочисленного скаляра. Этот аргумент допустим только когда DataLocality
свойство results
'local'
.
Значением по умолчанию является NumSyntheticData
значение свойства results
.
Пример: 'NumSyntheticData',2500
Типы данных: single
| double
'P'
— Экспонента для метрики расстояния МинковскегоЭкспонента для метрики расстояния Минковскего в виде разделенной запятой пары, состоящей из 'P'
и положительная скалярная величина.
Этот аргумент допустим только если 'Distance'
'minkowski'
.
Значением по умолчанию является 'P'
значение, которое вы задаете при создании lime
объект results
. 'P'
по умолчанию значение
lime
2.
Пример: 'P',3
Типы данных: single
| double
'Scale'
— Значение масштабного коэффициента для стандартизированной Евклидовой метрики расстоянияЗначение масштабного коэффициента для стандартизированной Евклидовой метрики расстояния в виде разделенной запятой пары, состоящей из 'Scale'
и неотрицательный числовой вектор из длины K, где K является количеством предикторов.
Этот аргумент допустим только если 'Distance'
'seuclidean'
.
Значением по умолчанию является 'Scale'
значение, которое вы задаете при создании lime
объект results
. 'Scale'
по умолчанию значение
lime
std(PD,'omitnan')
, где PD
данные о предикторе или синтетические данные о предикторе. Если вы не задаете 'Scale'
значение, затем программное обеспечение использует различные масштабные коэффициенты при вычислении расстояний и для данных о предикторе и для синтетических данных о предикторе.
Пример: 'Scale',quantile(X,0.75) - quantile(X,0.25)
Типы данных: single
| double
'SimpleModelType'
— Тип простой модели'linear'
| 'tree'
Тип простой модели в виде разделенной запятой пары, состоящей из 'SimpleModelType'
и 'linear'
или 'tree'
.
'linear'
— Программное обеспечение подбирает линейную модель при помощи fitrlinear
для регрессии или fitclinear
для классификации.
'tree'
— Программное обеспечение соответствует модели дерева принятия решения при помощи fitrtree
для регрессии или fitctree
для классификации.
Значением по умолчанию является 'SimpleModelType'
значение, которое вы задаете при создании lime
объект results
. 'SimpleModelType'
по умолчанию значение
lime
'linear'
.
Пример: 'SimpleModelType','tree'
Типы данных: char |
string
Метрика расстояния является функцией, которая задает расстояние между двумя наблюдениями. fit
поддерживает различные метрики расстояния для непрерывных переменных и соединения непрерывных и категориальных переменных.
Метрики расстояния для непрерывных переменных
Учитывая mx-by-n матрица данных X, который обработан как mx (1 n) векторы-строки x1, x2..., xmx и my-by-n матрица данных Y, который обработан как my (1 n) векторы-строки y1, y2..., ymy, определяются следующим образом различные расстояния между векторным xs и yt:
Евклидово расстояние
Евклидово расстояние является особым случаем расстояния Минковскего, где p = 2.
Стандартизированное Евклидово расстояние
где V является n-by-n диагональная матрица, j которой th диагональный элемент (S (j)) 2, где S является вектором из масштабных коэффициентов для каждой размерности.
Расстояние Mahalanobis
где C является ковариационной матрицей.
Расстояние городского квартала
Расстояние городского квартала является особым случаем расстояния Минковскего, где p = 1.
Расстояние Минковскего
Для особого случая p = 1, расстояние Минковскего дает расстояние городского квартала. Для особого случая p = 2, расстояние Минковскего дает Евклидово расстояние. Для особого случая p = ∞, расстояние Минковскего дает расстояние Чебычева.
Расстояние Чебычева
Расстояние Чебычева является особым случаем расстояния Минковскего, где p = ∞.
Расстояние косинуса
Расстояние корреляции
где
и
Расстояние копьеносца
где
Метрики расстояния для соединения непрерывных и категориальных переменных
Модифицированное расстояние Гудолла
Это расстояние является вариантом расстояния Гудолла, которое присваивает маленькое расстояние, если совпадающие значения являются нечастыми независимо от частот других значений. Для несоответствий вклад расстояния предиктора равняется 1 / (количество переменных).
Расстояние частоты вхождения
Для соответствия расстояние частоты вхождения присваивает нулевое расстояние. Для несоответствия расстояние частоты вхождения присваивает более высокое расстояние на менее частом значении и более низкое расстояние на более частом значении.
Чтобы объяснить предсказание модели машинного обучения использование LIME [1], программное обеспечение генерирует синтетический набор данных и подбирает простую поддающуюся толкованию модель к синтетическому набору данных при помощи lime
и fit
, как описано в шагах 1-5.
Если вы задаете queryPoint
и numImportantPredictors
значения lime
, затем lime
функция выполняет все шаги.
Если вы не задаете queryPoint
и numImportantPredictors
и задайте 'DataLocality'
как 'global'
(значение по умолчанию), затем lime
функция генерирует синтетический набор данных (шаги 1-2), и fit
функционируйте подбирает простую модель (шаги 3-5).
Если вы не задаете queryPoint
и numImportantPredictors
и задайте 'DataLocality'
как 'local'
, затем fit
функция выполняет все шаги.
lime
и fit
функции выполняют эти шаги:
Сгенерируйте синтетический набор данных предиктора Xs с помощью многомерного нормального распределения для непрерывных переменных и распределения многочлена для каждой категориальной переменной. Можно задать количество выборок, чтобы сгенерировать при помощи 'NumSyntheticData'
аргумент пары "имя-значение".
Если 'DataLocality'
'global'
(значение по умолчанию), затем программное обеспечение оценивает параметры распределения от целого набора данных предиктора (X
или данные о предикторе в blackbox
).
Если 'DataLocality'
'local'
, затем программное обеспечение оценивает параметры распределения с помощью k - самые близкие соседи точки запроса, где k является 'NumNeighbors'
значение. Можно задать метрику расстояния, чтобы найти самых близких соседей при помощи 'Distance'
аргумент пары "имя-значение".
Программное обеспечение игнорирует отсутствующие значения в наборе данных предиктора при оценке параметров распределения.
В качестве альтернативы можно обеспечить предсгенерированный, пользовательский синтетический набор данных предиктора при помощи customSyntheticData
входной параметр lime
.
Вычислите предсказания Ys для синтетического набора данных Xs. Предсказания являются предсказанными ответами для регрессии или классифицированными метками для классификации. Программное обеспечение использует predict
функция blackbox
модель, чтобы вычислить предсказания. Если вы задаете blackbox
как указатель на функцию, затем программное обеспечение вычисляет предсказания при помощи указателя на функцию.
Вычислите расстояния d между точкой запроса и выборками в синтетическом наборе данных предиктора с помощью метрики расстояния, заданной 'Distance'
.
Вычислите значения веса wq выборок в синтетическом наборе данных предиктора относительно точки запроса q с помощью экспоненциала в квадрате (или Гауссов) функция ядра
xs является выборкой в синтетическом наборе данных предиктора Xs.
d (xs, q) является расстоянием между демонстрационным xs и точкой запроса q.
p является количеством предикторов в Xs.
σ является шириной ядра, которую можно задать при помощи 'KernelWidth'
аргумент пары "имя-значение". 'KernelWidth'
по умолчанию значение 0.75.
Значение веса в точке запроса равняется 1, и затем это сходится, чтобы обнулить как повышения стоимости расстояния. 'KernelWidth'
значение управляет, как быстро значение веса сходится, чтобы обнулить. Ниже 'KernelWidth'
значение, быстрее значение веса сходится, чтобы обнулить. Поэтому алгоритм дает больше веса выборкам около точки запроса. Поскольку этот алгоритм использует такие значения веса, выбранные важные предикторы и подбирал простую модель, эффективно объясняют предсказания для синтетических данных локально, вокруг точки запроса.
Подбирайте простую модель.
Если 'SimpleModelType'
'linear'
(значение по умолчанию), затем программное обеспечение выбирает важные предикторы и подбирает линейную модель выбранных важных предикторов.
Выберите n важные предикторы () при помощи алгоритма ортогонального преследования соответствия (OMP) группы [2][3], где n является numImportantPredictors
значение. Этот алгоритм использует синтетический набор данных предиктора (Xs), предсказания (Ys) и значения веса (wq).
Подбирайте линейную модель выбранных важных предикторов () к предсказаниям (Ys) с помощью значений веса (wq). Использование программного обеспечения fitrlinear
для регрессии или fitclinear
для классификации. Для модели мультикласса программное обеспечение использует one-all схему создать бинарную проблему классификации. Положительный класс является предсказанным классом для точки запроса от blackbox
модель и отрицательный класс относятся к другим классам.
Если 'SimpleModelType'
'tree'
, затем программное обеспечение соответствует модели дерева принятия решения при помощи fitrtree
для регрессии или fitctree
для классификации. Программное обеспечение задает максимальное количество разделений решения (или узлы ветви) как количество важных предикторов так, чтобы подходящее дерево решений использовало самое большее конкретное количество предикторов.
[1] Рибейру, Марко Тулио, С. Сингх и К. Гуестрин. "'Почему я должен Доверять Вам?': Объяснение Предсказаний Любого Классификатора". В Продолжениях 22-й Международной конференции ACM SIGKDD по вопросам Открытия Знаний и Анализа данных, 1135–44. Сан-Франциско Калифорнийские США: ACM, 2016.
[2] Świrszcz, Гжегож, Наоки Абэ и Орели К. Лозано. "Сгруппированное ортогональное соответствие с преследованием для выбора переменной и предсказания". Усовершенствования в нейронных системах обработки информации (2009): 1150–58.
[3] Лозано, Орели К., Гжегож Świrszcz и Наоки Абэ. "Группа ортогональное соответствие с преследованием для логистической регрессии". Продолжения четырнадцатой международной конференции по вопросам искусственного интеллекта и статистики (2011): 452–60.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.