Класс точности н станка: Класс точности станка | MoscowShpindel

alexxlab | 22.10.1981 | 0 | Разное

Содержание

Класс точности станка | MoscowShpindel

На каждом виде станков проводится испытание на соответствие норме точности. Результаты испытания записываются в акт, который вкладывается в паспорт станка. Каждый тип станков имеет ГОСТ, который регламентирует допустимые отклонения во всех проверках. Количество проверок для разных типов станков бывает различным. Некоторые модели настольных широкоуниверсальных фрезерных станков с ЧПУ имеют несколько десятков проверок. Все станки классифицируются по точности работы делением на классы:

  1. На станках нормальной точности обрабатываются заготовки из проката, литья и поковок. Обозначаются буквой Н.
  2. На станках повышенной точности (они выпускаются на базе станков с нормальной точностью, но их монтаж отличается особой тщательностью) можно обрабатывать заготовки такого же производства, но с более точным выполнением всех работ. Обозначаются буквой П.
  3. На станках высокой точности (обозначаются буквой В) и особо высокой точности (буквой
    А
    ) более высокая точность достигается за счет специальных конструктивных особенностей и высокой точности изготовления их узлов, а также благодаря специальным условиям эксплуатации.
  4. На особо точных станках можно достичь наивысшей точности обработки очень ответственных деталей: делительных дисков, зубчатых колес, измерительного инструмента и других видов. Обозначаются буквой С.

Допустимые отклонения по проверкам соседних классов точности станков отличаются друг от друга в 1,6 раза. Вот таблица величин допускаемых отклонений при прямолинейном движении для станков, имеющих различный класс точности.

Класс точности станка

НПВА
С

Допустимые отклонения, микроны

10642,51,6

 

ГОСТ 8-82 для всех видов металлорежущих станков, в том числе и настольных с ЧПУ, устанавливает стандарт общих требований к испытаниям на точность. По нему точность всех станков этого типа определяется по трем группам показателей:

  1. точность обработки испытываемых образцов;
  2. геометрическая точность самих станков;
  3. дополнительные показатели.

Этот стандарт устанавливает порядок присвоения группе станков одинакового класса точности, который должен обеспечивать одинаковую точность обработки идентичных по форме и размеру образцов изделий.

Точность станков с ЧПУ | Станки с ЧПУ

 

Точность станков в ненагруженном состоянии называют геометрической. В зависимости от точностной характеристики станки с ЧПУ подразделяют в порядке возрастания точности на четыре класса: нормальной Н; повышенной П; высокой В; особо высокой А.

Станки повышенной точности отличаются от станков нормальной точности в основном более точным выполнением или подбором деталей, а также отдельными особенностями монтажа и эксплуатации у потребителей. Они обеспечивают точность обработки в среднем в пределах 0,6 отклонений, получаемых на станках нормальной точности. Станки с ЧПУ высокой точности класса В обеспечивают точность обработки в пределах 0,4, а станки класса А – в пределах 0,25 отклонений, получаемых на станках нормальной точности. Станки классов В и А получают в результате специального конструктивного исполнения, их узлов и элементов, а также высокой точности изготовления.

При проверке норм точности станков устанавливают* точность геометрических форм и относительного положения опорных поверхностей, базирующих заготовку и инструмент; точность движений по направляющим рабочих органов станка; точность расположения осей вращения и траекторий перемещений рабочих органов станка, несущих заготовку и инструмент, относительно друг друга и относительно базирующих поверхностей; точность обработанных поверхностей образца; шероховатость обработанных поверхностей образца.

Проверка точности

Точность станков с ЧПУ выявляется дополнительно следующими специфическими проверками: точностью линейного позиционирования рабочих органов; величиной зоны нечувствительности, т. е. отставанием в смещении рабочих органов при смене направления движения; точностью возврата рабочих органов в исходное положение; стабильностью выхода рабочих органов в заданную точку; точностью отработки круга в режиме круговой интерполяции; стабильностью положения инструментов после автоматической смены.

При проверках выявляют как точность, так и стабильность, т. е. многократную повторяемость прихода рабочих органов в одно и то же положение, причем зачастую стабильность важнее для достижения точности обработки на станках с ЧПУ, чем сама точность.

Общая допускаемая ошибка при позиционировании рабочих органов Δр = Δ + δ.

Исходя из допускаемых отклонений, наибольшая погрешность в отработке перемещения, например, длиной в 300 мм по осям X и Y для станка класса П составит 17,2 мкм, а для станка класса В – 8,6 мкм.

Для сохранения станком точности в течение длительного времени эксплуатации нормы геометрической точности почти на все проверки при изготовлении станка, по сравнению с нормативными, ужесточают на 40 %. Тем самым завод-изготовитель резервирует в новом станке запас на износ.

Похожие материалы

Станки отделочно-расточные вертикальные. Нормы точности – РТС-тендер

     
     ГОСТ 594-82

Группа Г81

МЕЖГОСУДАРСТВЕННЫЙ СТАНДАРТ

ОКП 38 1262

Дата введения 1983-07-01

Постановлением Государственного комитета СССР по стандартам от 9 августа 1982 г. N 3129 дата введения установлена 01.07.83

Ограничение срока действия снято по протоколу N 2-92 Межгосударственного Совета по стандартизации, метрологии и сертификации (ИУС 2-93)

ВЗАМЕН ГОСТ 594-77

ПЕРЕИЗДАНИЕ. Июль 2002 г.

Настоящий стандарт распространяется на одношпиндельные вертикальные отделочно-расточные станки общего назначения классов точности П и В с фланцевым креплением шпиндельного узла.

1.1. Общие требования к испытаниям на точность – по ГОСТ 8-82.

1.2. Нормы точности станков классов точности П и В не должны превышать значений, указанных в пп.1.3-1.12.

1.3. Плоскостность рабочей поверхности стола (плиты)


Черт.1

     
Таблица 1

Длина измерения, мм

Допуск, мкм, для станков класса точности

П

В

До 500

16

12

Св. 500 до 800

20

16

 ”    800  ”  1250

25

20

 ” 1250   ”  2000

30

25

Выпуклость не допускается

Измерения – по ГОСТ 22267-76 (разд.4, метод 3) не менее чем в двух продольных, трех поперечных и двух диагональных сечениях стола (плиты). Крайние сечения должны быть расположены от края стола на расстоянии 0,2 ширины или длины стола (плиты) – см. черт.1.

1.4. Прямолинейность траектории продольного и поперечного перемещений стола в вертикальной и горизонтальной плоскостях (в поперечном направлении для станков с отсчетным устройством на столе)

     

     
Черт.2

     
Таблица 2

Длина перемещения, мм

Допуск, мкм, для станков класса точности

П

В

До 320

10

8

Св. 320 до 500

12

10

 ”    500  ”    800

16

12

 ”    800  ” 1250

20

16

Измерения – по ГОСТ 22267-76, разд.3, метод 1б.

При измерениях стол перемещают на всю длину хода (черт.2).

1.5. Постоянство положения стола в плоскости, перпендикулярной направлению его перемещения


Черт.3

Допуск, мм/м, для станков класса точности:

Измерения – по ГОСТ 22267-76, разд.13, метод 1.

На рабочей поверхности стола 2, в его средней части, перпендикулярно направлению его перемещения устанавливают уровень 1.

Стол перемещают на всю длину хода (черт.3).

Расстояние между точками измерения не должно превышать 0,2 длины хода стола.

Измерения проводят в трех положениях стола в поперечном направлении.

1.6. Параллельность боковых сторон направляющего паза стола траектории перемещения стола


Черт.4

     

Таблица 3

Длина перемещения, мм

Допуск, мкм, для станков класса точности

П

В

До 500

16

12

Св. 500 до 800

20

16

 ”    800  ” 1250

25

20

На неподвижной части станка укрепляют показывающий измерительный прибор 1 так, чтобы его измерительный наконечник касался проверяемой поверхности (черт.4).

Стол 2 перемещают на всю длину хода, но не более длины паза.

Параллельность измеряют по обеим боковым сторонам направляющего паза стола.

Допускается проводить измерение по контрольной кромке стола.

Отклонение от параллельности траектории перемещения равно наибольшей алгебраической разности показаний показывающего измерительного прибора на всей длине хода.

1.7. Перпендикулярность направления поперечного перемещения стола продольному перемещению (для станков с отсчетным устройством на столе)


Черт.5

Допуск, мкм, для станков класса точности:

Измерения – по ГОСТ 22267-76, разд.8, метод 1.

При измерении стол в продольном направлении устанавливают в среднее положение (черт.5).

1.8. Радиальное биение контрольного пояска шпинделя


Черт.6

     

Таблица 4

Диаметр фланца шпинделя, мм

Допуск, мкм, для станков класса точности

П

В

До 200

6

4

Св. 200 до 250

8

5

 ”    250   ”   320

10

6

Измерения – по ГОСТ 22267-76, разд.15, метод 1 (черт.6).

1.9. Радиальное биение внутреннего конуса шпинделя:
     

    а) у торца шпинделя;
     

    б) на расстоянии .


Черт.7

     

Таблица 5

Диаметр фланца шпинделя, мм

Номер пункта

, мм

Допуск, мкм, для станков класса точности

П

В

До 200

1.7а

6

4

1.7б

200

8

5

Св. 200 до 250

1.7а

8

5

1.7б

300

10

6

Св. 250 до 320

1.7а

10

6

1.7б

300

12

8

Измерения – по ГОСТ 22267-76, разд.15, метод 2 (черт.7).

1.10. Перпендикулярность оси вращения шпинделя рабочей поверхности стола (плиты) в продольном и поперечном направлениях


Черт.8

     

Таблица 6

Ширина стола, мм

, мм

Допуск, мкм, для станков класса точности

П

В

До 500

200

16

10

Св. 500 до 800

300

20

12

Измерения – по ГОСТ 22267-76, разд.10, метод 1.

Перед измерением подвижный стол закрепляют в среднем положении.

Измерения проводят в двух крайних положениях шпиндельной бабки по высоте (черт.8).

Допускается проводить измерение по поверочной линейке.

1.11. Перпендикулярность траектории перемещения шпиндельной бабки рабочей поверхности стола (плиты) в продольном и поперечном направлениях


Черт.9

     

Таблица 7

Длина перемещения, мм

Допуск, мкм, для станков класса точности

П

В

До 320

16

12

Св. 320 до 500

20

16

  ”  500  ”   800

25

20

  ”  800  ” 1250

30

25

Допускается наклон шпиндельной бабки только к колонне

Измерения – по ГОСТ 22267-76, разд.9, метод 1б (черт.9).

1.12. Точность установки стола по штриховым мерам (для станка с отсчетным устройством на столе)


Черт.10

     

Таблица 8

Длина перемещения, мм

Допуск, мкм, для станков класса точности

П

В

До 320

20

12

Св. 320 до 500

25

16

  ”  500  ”   800

30

20

  ”  800  ” 1250

40

25

Измерения – по ГОСТ 22267-76, разд.19, метод 1.

Стол перемещают на длину хода и закрепляют (черт.10).

Измерения проводят с интервалами, равными 0,1 наибольшего перемещения, но не более 100 мм.

Нормы точности образца-изделия для станков классов точности П и В не должны превышать значений, указанных в табл.9, 10 и 12.

Для измерения используют чугунный образец. Отверстия образца должны быть предварительно обработаны. Основание и грани, используемые в качестве измерительных баз, обработаны окончательно.

2.1. Точность цилиндрической внутренней поверхности образца-изделия (черт.11):

а) цилиндричность;
     

    б) круглость


– наибольший диаметр растачиваемого отверстия на станке.

Черт.11

     

Таблица 9

Наибольший диаметр растачиваемого отверстия образца, мм

Номер пункта

Допуск, мкм, для станков класса точности

П

В

До 65

2.1а

8

5

2.1б

3

2

Св. 65 до 125

2.1а

10

6

2.1б

4

2,5

Св. 125 до 250

2.1а

12

8

2.1б

5

3

Круглость измеряют с помощью кругломера и универсальных средств для измерения диаметров отверстий.

Цилиндричность – с помощью специальных средств для проверки цилиндричности.

Отклонение от круглости равно наибольшему расстоянию от точек реального профиля до прилегающей окружности.

Отклонение от цилиндричности равно наибольшему расстоянию от точек реальной поверхности до прилегающего цилиндра в пределах нормируемого участка.

Допускается вместо цилиндричности проводить измерения постоянства диаметра в любых сечениях.

2.2. Перпендикулярность осей обработанных отверстий образца-изделия измерительной базе основания

Образец – прямоугольный параллелепипед


– наибольший диаметр растачиваемого отверстия на станке

Черт.12

     

Таблица 10

Длина растачиваемого отверстия образца, мм

Допуск, мкм, для станков класса точности

П

В

До 200

12

8

Св. 200 до 320

16

10

 ”     320  ”   500

20

12

Для станков с подвижным столом допуск увеличивают в 1,25 раза

Образец закрепляют на столе станка и производят чистовую расточку отверстия.

Образец устанавливают боковой гранью на контрольную плиту 2 и с помощью показывающего измерительного прибора 1 измеряют расстояние от плиты до нижней образующей отверстия у обоих торцев (черт.12).

Затем образец поворачивают на другую грань, расположенную под углом 90° к первой, и повторяют указанные измерения.

Отклонение от перпендикулярности равно наибольшей алгебраической разности показаний измерительного прибора в каждой плоскости с учетом конусности обработанного отверстия.

2.3. Точность межосевых расстояний отверстий образца-изделия после чистовой обработки (для станков с отсчетным устройством на столе)


Черт.13

     

Таблица 11

     
мм

Ширина стола


До 400

150

100

  ”  500

250

150

  ”  630

350

200

     

Таблица 12

Расстояние между осями отверстий, мм

Допуск, мкм, для станков класса точности

П

В

До 200

25

16

Св. 200 до 320

30

20

 ”     320  ”   500

36

22

 ”     500  ”   800

40

25

Измерения проводят с помощью координатно-измерительной машины или оправок, вставляемых в обработанные отверстия (черт.13), и плоскопараллельных концевых мер длины (плиток).

Поле допуска диаметра растачиваемого отверстия образца-изделия не должно превышать Н7 для станков класса точности П и Н6 для станков класса точности В.

Погрешность межосевых расстояний равна разности заданного и фактического расстояний между осями любых двух отверстий.

2.4. Шероховатость обработанной цилиндрической внутренней поверхности образца – см. черт.11.

Параметр шероховатости по ГОСТ 2789-73 для станков класса точности П – 2,5 мкм, класса точности В – 1,25 мкм.

Параметр шероховатости обработанной поверхности измеряют универсальными средствами для контроля шероховатости поверхности.

высокой класс точности фрезерных cnc

Огромную роль при выборе  станка с ЧПУ  играет такой параметр, как его точность. В ходе оценочной деятельности, которая проводится с целью определения возможности эксплуатации устройства в будущем, проводится комплекс диагностических действий, в том числе и определение класса точности устройства. Именно от этой характеристики зависит то, насколько качественными будут изделия, созданные с помощью конкретного устройства, и насколько они будут соответствовать параметрам, заданным оператором.

Класс точности станков с ЧПУ высокой точности

Точность станков с компьютерным управлением напрямую зависит от показателей суммарной погрешности, которая складывается из нескольких параметров:

  • точность самого устройства;
  • точность управляющей системы станка;
  • погрешности, которые допускаются при креплении заготовки на рабочем столе;
  • неточности, допущенные при отладке инструментов;
  • погрешности, допущенные при производстве фрез;
  • износ рабочего оборудования, в том числе фрез;
  • жесткость системы СПИД.

Точность позиционирования оси станка с ЧПУ является обобщенной величиной, которая показывает пределы нахождения реальных координат после того, как процедура позиционирования завершена. Точность этого показателя зависит от повторяемости, но при этом включает в себя не только размер разброса ошибок позиционирования, но и их промежуточные значения. Все это делает точность позиционирования универсальной характеристикой.

Этот параметр предназначен для того, чтобы показать, насколько большой может быть ошибка позиционирования координатных осей устройства.

Точность – основополагающая характеристика станка с ЧПУ. Этот параметр зависит от большого количества факторов, в том числе – вероятного люфта направляющих и передач, неточности направляющих осей, нарушение их перпендикулярного расположения и др. На характеристику также напрямую влияют качество станины и ее жесткость.

В зависимости от того, насколько высока эта характеристика, станки с ЧПУ делятся на четыре группы:

  • нормальной точности;
  • повышенной точности;
  • высокой точности;
  • особо высокой точности.

В зависимости от класса точности, который присвоен станку, различается и качество обработки деталей.

Станки с повышенной точностью обеспечивают точность обработки изделий в пределах 0,6 отклонений, получаемых на станках с нормальной точностью.

У станков с высокой точностью этот параметр равняется 0,4, а станки особо высокой точности позволяют обрабатывать детали с точностью в пределах до 0,25 отклонений.

Особо точные и станки с высокой точностью создаются в результате применения специальных конструктивных решений.

Для проверки точности станков с ЧПУ проводится оценка следующих параметров:

  • точности линейного позиционирования рабочего инструмента;
  • размера нечувствительной зоны;
  • возвратной точности рабочего инструмента;
  • стабильности выхода рабочих органов в заданную точку координатной сетки;
  • точности круговой обработки;
  • стабильности положения фрез после их смены в автоматическом режиме.

Эти проверки направлены на выявление не только точности работы станка, но и на оценку стабильности в ходе производственного процесса, то есть многократности прихода рабочих органов станка в заданное положение. При этом показатели стабильности нередко оказываются более важными, чем непосредственно точность. Именно от стабильности во многом зависит качество обработки изделия.

Параметры допустимой ошибки при определении положения рабочего инструмента определяются по формуле Δр = Δ + δ.

Для того чтобы сохранить точность станка во время его длительной эксплуатации, характеристики геометрической точности на все возможные проверки ужесточают в сравнении с нормативными более чем на 40 %. Это позволяет производителю оборудования заложить запас на возможный износ станка.

Разрешение позиционирования

Дискретность станка с числовым программным управлением определяется максимально возможной точностью перемещения, которую может задать оператор.

Например, если ось Y оснащена шаговым двигателем с шагом 1,8 градуса, т. е. его производительность составляет 200 шагов/об, и драйвером, который предполагает наличие режима деления шага по принципу 1 к 16, и при этом соединенным с винтом ШВП 1605, шаг которого составляет 5 мм на один оборот.

Каждый импульс STEP обеспечивает движение вала двигателя, соответствующего движению идеальной оси (без учета возможного люфта, погрешностей и т. д. на 1/(200 × 16) × 5 = 0,0015625 мм. Эта характеристика определяет разрешение позиционирования оси Y. На протяжении последующих производственных процессов ее характеристики в управляющей программе будут позиционироваться именно с таким обозначением. Задать перемещение в точку на координатной сетке с параметрами Y = 2,101 не представляется возможным, программа самостоятельно округлит значение до максимально подходящего в соответствии с заданными настройками.

Цифры после запятой

Количество цифр после запятой напрямую зависит от того, какой тип двигателей установлен на станке с ЧПУ.

Если установлены шаговые двигатели, рабочее поле будет иметь непосредственные размеры 600 × 900 мм.

Станки, оборудованные серводвигателями, отличаются наличием от 3 до 5 нулей после запятой. Чаще всего этим параметрам соответствуют металлообрабатывающие станки прецизионного типа.

 ВАЖНО!  Чем больше знаков после запятой способен обработать станок с ЧПУ, тем выше его точность.

Что влияет на точность фрезерных станков с ЧПУ?

На характеристики, отвечающие за точность позиционирования станка, оказывают непосредственное влияние следующие факторы:

  • перпендикулярность расположения координатных осей;
  • качество направляющих;
  • наличие люфтов при движении подвижных частей устройства;
  • стабильность рамы, ее жесткость и конструктивные особенности, в том числе – высота;
  • качество сборки устройства;
  • особенности программной и технической настройки оборудования;
  • качество комплектующих, которые используются в работе;
  • отсутствие перепада высот на поверхности, на которой находится устройство, и др.

Точность повторного позиционирования

Точность повторного позиционирования станка с ЧПУ зависит от следующих факторов:

  • механического воздействия фрезы;
  • перпендикулярности установки шпинделя;
  • режима резания, который установлен на станке;
  • типа обрабатываемых материалов.

Превосходной точностью считается параметр, равный 0,05 мм. Станки с точностью 0,2 мм считаются всего лишь удовлетворительными.

Когда управляющий блок отдает команду для возврата рабочей головки в начальную точку координат, конечный результат всегда незначительно отличается от параметров, заданных первоначально. Различия зависят от возможных люфтов в передаче. Для производства важно понимание того, насколько стабильна возникающая при позиционировании ошибка. Чаще всего повторяемость в несколько раз превышает точность, что делает такой станок пригодным для работы.

Современные станки, оснащенные модулями числового программного управления, позволяют обрабатывать детали из различных материалов с максимально возможной точностью, не снижая при этом производительность. Точность станков с ЧПУ – один из самых важных параметров, от которого напрямую зависит качество обработки любых изделий. На эту характеристику влияют самые разные факторы – от качества сборки станка до температуры, которая установлена в рабочем помещении.

  • 23 ноября 2020
  • 1199

Точность станка ЧПУ

Если система состоит из двух последовательно расположенных элементов с коэффициентами жесткости С1 и С2, установленных с предварительным натягом (рис. 3, б), то Спр=С1+С2,

так как приложение силы вызывает одинаковую деформацию обоих упругих элементов, один из которых дополнительно нагружается, а другой разгружается.

При последовательном соединении элементов (рис. 3, в) складываются их податливости.

Статическая жесткость систем, состоящих из нескольких последовательно соединенных деталей, зависит от собственной жесткости этих деталей, контактной жесткости стыков между ними, жесткости масляных слоев, передаваемых нагрузок, сил трения, возникающих при относительном перемещении деталей вследствие нагружения системы. Понятие жесткости системы в некоторой мере условно, так как оно включает также влияние сил трения на способность системы противостоять деформациям под действием нагрузок.

Если при значительных нагрузках, возникающих в станках при черновой обработке, в общем балансе большой удельный вес имеют упругие деформации собственно деталей (определяемые известными формулами из сопротивления материалов) влияющие на точность станка ЧПУ, то при отделочной обработке основными являются контактные сближения.

Контактные сближения δ, мкм, для неподвижных плоских стыков имеют нелинейную зависимость (рис. 4, α)

Нелинейная зависимость σ=f(σ) может быть условно разбита на три линейных участка различной жесткости (рис. 4, б): 1 – незатянутый стык в пределах деформации микронеровностей – шероховатости при σ ≤ σ1; 2 – затянутый стык в пределах деформации макронеровностей – волнистости при σ1 < σ < σ2; 3 – плотный стык в пределах деформации макронеровностей – волнистости при σ2 < σ ≤ σ3 (при σ > σз – металл разрушается или течет). Таким образом, для всех трех участков может быть зависимость δi = Kiσi (где i = 1, 2, 3).

Например, в незатянутых и подвижных (направляющие скольжения и др.) стыках, если давление от внешней нагрузки намного меньше начального (участок 1 рис. 4, б), то δ=Kσ,

где К – коэффициент контактной податливости, равный для пары сталь-чугун 1…2.

Класс точности станка Н

⇐ ПредыдущаяСтр 3 из 3
Технические характеристики станков 6У312
п/п Параметры Ед. измер. Величины параметров
1. Наибольшие размеры обрабатываемых деталей:
ширина мм.
высота мм.
2. Размеры рабочей поверхности стола:
ширина мм.
длина мм.
3. Продольный ход стола мм.
4. Ход вертикальной бабки мм.
5. Расстояние от зеркала стола до торца выдвинутого шпинделя:
наибольшее мм
наименьшее мм
6. Расстояние от оси стола до стойки мм.
7. Ход гильзы шпинделя мм.
8. Количество ступеней скорости шпинделя шт.
9. Пределы частоты вращения шпинделя об./мин. 25-1250
10. Максимальный диаметр торцовой фрезы мм.
11. Наибольшее усилие допускаемое механизмами:
стола кг.
бабок кг.
вертикального шпинделя кг.
горизонтального шпинделя кг.
12. Габаритные размеры станка:
длина мм.
ширина мм.
высота мм.
13. Наибольшая масса обрабатываемой детали кг.
14. Масса станка кг.
НОРМА ТОЧНОСТИ
15. Плоскостность рабочей поверхности стола мкм.
16. Прямолинейность перемещения стола, проверяемая в горизонтальной плоскости мкм.
17. Параллельность рабочей поверхности стола к направлению его перемещения мкм.
18. Радиальное биение наружной центрирующей поверхности шпинделя под фрезу мкм.
19. Радиальное биение конического отверстия шпинделя под фрезу:
у торца шпинделя мкм.
на расстоянии 300 мм. мкм.
20. Осевое биение шпинделей фрезерных головок мкм.
21. Параллельность оси вращения горизонтального шпинделя к рабочей поверхности стола / на 300 мм. /
при вдвинутой гильзе (в зафиксированном положении головки и гильзы) мкм.
при выдвинутой гильзе (в зафиксированном положении головки и гильзе) мкм.
22. Перпендикулярность оси вращения горизонтального шпинделя к рабочей поверхности стола:
при вдвинутой гильзе (в зафиксированном положении головки и гильзе) мкм.
при выдвинутой гильзе (в зафиксированном положении головки и гильзе) мкм.
23. Перпендикулярность оси вращения вертикального шпинделя к рабочей поверхности стола:
при вдвинутой гильзе (в зафиксированном положении головки и гильзе) мкм.
при выдвинутой гильзе (в зафиксированном положении головки и гильзе) мкм.
24. Параллельность перемещения вертикальной головки по поперечине относительно рабочей поверхности стола мкм.
25. Прямолинейность перемещения поперечины по стойке / постоянство углового положения / мм/м 0,08
26. Стоимость станка договорная
27. Срок гарантии мес.
28. Система управления и тип индикации перемещений могут быть установлены любые по желанию Заказчика

 

ЖЁСТКОСТЬ СТАНКА Ед. измер. Норма допуска
Относительное перемещение под внешней нагрузкой, действующее на шпиндель и стол, проверяемое:
1. В вертикальном направлении
вертикальный шпиндель мм. 0,34
горизонтальный шпиндель мм. 0,17
2. В горизонтальном направлении
вертикальный шпиндель мм. 0,34
горизонтальный шпиндель мм. 0,34

 

 

 
Горизонтально-фрезерный консольный станок FW450R  

 

 

К основным узлам станка относят: главная плита, суппорт крестовый, салазки и стол выполненный из чугунного материала марки СЧ25, которая имеет большую и стабильную жесткость. Высокая точность станка позволяет создавать высококачественные материалы. Сегодня, данные станки работают на многих заводах США, Германии, Белоруссии, России и является аналогом станков мод, 6Т82, 6Т83, 6Т12, 6Т13, 6Т83Ш, изготовляемых в России, при этом, по техническим возможностям и качественным характеристикам их превосходит.   Главные особенности станков:
  • Возможность обработки кривых поверхностей. Автоматический и ручной цикл обработки позволяют применять данные станки в крупносерийном производстве. Управление осуществляется по трем осям.
  • Механизм попутной подачи исключает вибрацию и обеспечивает жесткость.
  • Все станки производятся только в экспортном исполнении. Большой популярностью пользуются не только в России но и США.
  • Модульная конструкция обеспечивает удобства при ремонте станков.
  • Эргономика и шумовые характеристики станков отвечают всем требованиям международных стандартов.
  Технические характеристики станка:
Модель FW450R
Тип Горизонтальный
Рабочая поверхность стола, мм 1600×400
Количество пазов для зажима
Продольное перемещение стола, мм
Поперечное перемещение салазок, мм
Вертикальное перемещение консоли, мм
Поворот стола в обе стороны, град нет
Мощность привода шпинделя, кВт
Максимальный крутящий момент на шпинделе, Нм
Конус шпинделя ISO 50
Максимальный диаметр фрезы при черновой обработке, мм
Перемещение пиноли, мм нет
Диапазон частот вращения, мин -1 28…1400
Фрезерный шпиндель универсальной поворотной головки Приводная мощн. кВт нет
Диапазон чисел, об/мин нет
Конус шпинделя нет
Продольные и поперечные подачи, мм/мин 16…800
Вертикальные подачи, мм/мин 5…250
Приводная мощность, кВт 2,2
Ускоренный ход, вдоль и поперек, мм/мин
Ускоренный ход по вертикали, мм/мин
Общая потребляемая мощность, кВт 14,5
Габаритные размеры станка, мм  
– длина
– ширина
– высота
Масса станка с электрооборудованием, кг

 

 

Насос для охлаждающей жидкости:

Производительность, 22 л/мин

Примечание: обработка чугуна при всех способах фрезерования и обработка сталей охлаждения режущего инструмента.

Охлаждение рекомендуется применять при работе быстрорежущими фрезами по стали.

©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.

Точность позиционирования, повторяемость и точность станка с ЧПУ

Содержание:

1. Разрешение позиционирования

2. От чего зависят цифры после запятой?

3. Что ещё влияет на точность позиционирования?

4. Точность повторного позиционирования

5. Точность позиционирования фрезерного станка

Когда становишься перед выбором станка, знающие люди говорят о важности таких понятий, как точность позиционирования и точность репозиционирования, или повторного позиционирования станка. 

Разрешение позиционирования

Действительно ли этот фактор имеет такое большое значение, и в первую очередь, как разобраться и понять, что это такое. И начать стоит с разрешения позиционирования.

Давайте представим, что Вы решили поиграть в морской бой, и не на телефоне, как все сейчас делают, а на листочке бумаги для наглядности.

Первым делом мы чертим на листе поле для игры, которое в классической игре имеет размеры 10 на 10 квадратов. Так вот, к примеру, станок с габаритами 600 на 900 мм – это по сути тоже самое поле со стороной квадрата 1 мм. Вот только станок способен видеть больше нулей после запятой и чем больше этих самых нулей тем точнее станок.

От чего зависят цифры после запятой?

В первую очередь от двигателей которыми оборудован наш станок, если станок имеет шаговые двигатели, то фактически рабочее поле будет иметь размеры 600,00мм на 900,00мм. В станке с рабочим полем 6090 или 1300,00 на 2500,00 в станке с полем 1325.

С серводвигателями станок будет иметь от трех до пяти нулей после запятой. Как правило, это станки по металлу или сверхточные станки, так называемые прецизионные станки.

Если вернуться к нашим аллегориям, у такого станка очень много клеточек для игры в морской бой, и они очень маленькие.

Что ещё влияет на точность позиционирования?

Так же, разрешение позиционирования ограничено настройкой и возможностями системы управления, настроены они всегда так, чтобы исключить ошибку и всегда показывают точность меньшую чем может дать шаговый или серводвигатель.

Точность позиционирования показывает как велика может быть ошибка позиционирования по той или иной оси, показывает нам в каких пределах может находится координата заданная оператором.

На точность позиционирования влияют такие факторы как: перпендикулярность осей и качество их исполнения, люфты от направляющих, жесткость и качество выполнения рамы и огромное количество других факторов.

Можно сказать что на точность станка влияют: качество его сборки, настройка, используемые комплектующие, неровность поверхности на которой находится станок и тд.

Стоит сказать, что по раме станка уже многое становится понятно, если мы говорим про станки для деревообработки. Многие производители экономят на металле, не осуществляют предварительный обжиг станины или же экономят на сварочных работах, если речь идет о сварных станинах.

Один из внешних факторов заставляющих задуматься и пройти стороной это высота рамы, как правило низкокачественные рамы не достигают и 60-ти см в высоте, делается это для того чтобы компенсировать небольшую массу и уменьшить возникающую инерцию при боковых нагрузках.

Точность повторного позиционирования

Когда мы дадим станку команду вернуться в заданные изначально координаты, мы получим немного разный результат. Он зависит от люфтов в передачах, все что нам нужно понимать – это насколько стабильна ошибка позиционирования. Как правило, повторяемость в четыре раза выше точности позиционирования. Станок может быть не точным, а повторяемость стабильной.

Точность позиционирования фрезерного станка

Для него этот показатель означает, насколько точно рабочая голова станка окажется в точке с заданными координатами. Например, если в управляющей программе будет задана точка 150,150, но станок в зависимости от его точности позиционирования может приехать в точку 150.1, 149.9

Чем больше рабочее поле станка, тем сложнее добиться точности позиционирования. Кстати, при большой длине на этот показатель влияет ещё и температура в помещении, так как под воздействием тепла материал станка расширяется. Таким образом, уменьшается и жёсткость станка.

Кроме того, есть ещё несколько факторов, влияющих на позиционирование станка – класс точности направляющих, система передачи движения, шаговые двигатели, у которых разница между шагами может быть до 30%

Точность позиционирования нашего фрезерного оборудования составляет от 0,01 до 0,05 мм

Повторяемость – это погрешность, с которой станок приезжает в одну и ту же точку. 

Допустим, если вы задали станку команду приехать в определенную точку, затем отправили обратно и вернули назад, и повторили несколько раз. При этом, станок будет приезжать в точку с разбросом – это и есть повторяемость. 

Как правило, у всех станков она от 0,02-0,05 мм, что считается неплохо. 

И именно этот показатель обычно указывается в параметре “точность” у станка.

Точность взвешивания – краткая информация для покупателей из Индии

Точность взвешивания

По научному определению, точность измерительной системы – это то, насколько близок результат к истинному значению или стандарту.

В нашей повседневной жизни, когда мы видим такое измерение, как скорость 25 км / ч на спидометре или вес 12,2 кг на весах, мы считаем это значение правильным, не задумываясь об ошибках, которые могут иметь эти значения. Распространено мнение, что «то, что мы ВИДИМ, является ПРАВИЛЬНЫМ И ТОЧНЫМ значением». .

Это восприятие еще больше усиливается в эпоху «цифровой» индикации, когда приборы производят прямое считывание числовых значений, устраняя неоднозначность аналоговой индикации, такой как стрелка / указатель, существовавших ранее. Однако факт остается фактом: каждое измерение , выполненное аналоговым или цифровым прибором, имеет ошибку, и мы не можем сказать, насколько точное измерение, если не знаем истинное значение, чтобы сравнить его с .

Весовое оборудование как «система»

Измерительная система может состоять из множества компонентов, но всегда есть по крайней мере один критический компонент, который определяет и ограничивает общую точность измерительной системы.

В современных электронных системах взвешивания самым важным измерительным компонентом является преобразователь , который преобразует приложенную нагрузку в пропорциональный электрический сигнал. Большинство весоизмерительных машин, используемых в коммерческих целях, имеют в качестве преобразователя тензодатчики тензодатчики . Генерируемый сигнал напряжения обрабатывается и преобразуется в цифровую форму весовыми приборами, широко известными как «дигитайзер», для отображения веса и дальнейшего использования.Перед использованием систему взвешивания необходимо откалибровать с использованием стандартных грузов.

Точность системы взвешивания не может быть выше точности используемых в ней тензодатчиков .

Роль наименьшего количества

Все измерительные приборы имеют калиброванный диапазон, известный как ‘span’, с Мин. и Макс. предел. Этот диапазон или интервал представляет собой градуированную шкалу, и минимальное значение отображаемой градуировки составляет «наименьшее количество» или «разрешение» прибора.

Например: весы с минимальным счетом 10 кг будут показывать вес только с шагом 10 кг, т.е. если вес объекта измеряется как 1016 кг, весы могут показывать его как 1010 кг, так и 1020 кг. Здесь не имеет никакого отношения, было ли измерение 1016 кг правильным или нет. Речь идет только об отображении результата. Наименьшее число на шкале может быть только 1, 2, 5, 10 и их кратными.

Наименьший счет / разрешение больше относится к читаемости весов, а не к точности .

Перспективы законодательной метрологии

Большинство весов, которые мы видим и используем каждый день, такие как платформенные весы, платформенные весы, настольные / счетные весы и т. Д., Классифицируются индийской законодательной метрологией как неавтоматические весы. Далее они подразделяются на четыре класса точности – I, II, III и IV в зависимости от допустимых ошибок измерения, причем класс I является наиболее точным, а класс IV – наименьшим.

Большинство весов, используемых в «юридических целях для торговли», сертифицированы для мин.класс III.

Все весы, используемые в торговых целях, должны ежегодно проверяться и проштамповаться в соответствии с классом точности отделом метрологии.

Классы точности весов

Одна важная спецификация, действующая только для классов I и II, заключается в том, что точность весов может быть в 1, 2, 5 или 10 раз меньше наименьшего количества весов. Например: шкала 10 кг x 0,1 г может иметь точность, в 10 раз превышающую разрешение, которое составляет 1 г (10 x0.1 г), т. Е. Показание 5000,1 г может иметь погрешность до 1 г.

Эта спецификация не применима к машинам Класса III и Класса IV. Для этих машин точность показаний составляет от 0,5x до 1,5x разрешения шкалы или 1x в среднем (упрощено для простоты понимания). Например: на шкале с 50000 кг x 10 кг показание 25050 может иметь максимальную ошибку 10 кг, то есть истинный вес объекта может быть от 25040 до 25060 кг.

Для машин класса III точность обычно рассматривается как +/- 1 деление (наименьший счет).

Международные стандарты

OIML (Международная организация законодательной метрологии) является наиболее распространенным международным стандартом, официально подписанным более чем 120 странами, включая Индию. Кроме того, существует стандарт NTEP (Национальная программа оценки типов), которому в первую очередь следуют США и Канада.

OIML определила классы точности для датчиков веса (OIML R-60), а также весов (OIML R-76) с их взаимосвязью, как показано ниже –

Класс точности весоизмерительного датчика (R-60)

Класс точности весов (R-76)

Количество делений шкалы

А

Я

> 50 000

Б

II

5,000 ~ 1,00,000

С

III

500 ~ 10 000

D

IV

50 ~ 1000

В соответствии с положениями МОЗМ 50% погрешности системы взвешивания связано с погрешностью тензодатчиков.

Для весов проверки совместимости МОЗМ между тензодатчиками и весами включают:

a) Количество сертифицированных делений весоизмерительных датчиков> = делений весов

b) Класс точности тензодатчика соответствует приведенной выше таблице или выше

Международные руководящие принципы по точности взвешивания подчеркивают важность для проверки точности тензодатчика для обеспечения достижения желаемой общей точности .

Практическое применение и этические аспекты

К настоящему времени должно быть достаточно ясно, что датчик (и) веса, используемый в весах, должен обеспечивать точность, выраженную в количестве делений, равную или лучшую, чем деления весов, для достижения желаемой точности.

В качестве примера для мостовых весов 50 т x 10 кг (т. Е. 50000/10 = 5000 делений) весоизмерительный датчик должен быть как минимум точным и сертифицирован на 5000 делений (OIML R-60 C5) или более высокий класс точности. Точно так же платформенные весы 60 кг x 20 г (т. Е. 60000/20 = 3000 делений) должны использовать датчик веса, сертифицированный на 3000 делений (OIML R-60 C3) или выше.

К сожалению, Законодательная метрология Индии, несмотря на соблюдение руководящих принципов МОЗМ, еще не установила правила сертификации весоизмерительных датчиков.В результате рынок переполнен дешевыми весами, использующими неутвержденные датчики веса, и наименьшее количество весов часто прогнозируется как «точность».

Однако индийские компании, соблюдающие мировые стандарты и этические нормы, используют датчики веса, одобренные МОЗМ, для мостовых весов, соответствующих классам точности производимых ими весов.

Точность датчика веса

Весоизмерительные ячейки

– это датчик, используемый в весах и других устройствах для измерения силы или веса.Они могут работать в неблагоприятных условиях, часто имеют степень защиты от IP64 до IP69K.

Весоизмерительные ячейки

являются высокоточными устройствами, но имеют разные классы точности, эти классы могут дать больше информации о том, насколько точна весоизмерительная ячейка, что, в свою очередь, может помочь при выборе для определенных приложений.

Точность датчика веса

D1 – C2 – этот класс точности весоизмерительного датчика относительно низкий.Этого достаточно для применения в простых весах для строительных материалов, которые используются для взвешивания цемента, песка или воды, а также для неторговых применений.

C3 (0,0230%) – класс точности C3 является наиболее распространенным в машиностроении. Типичные приложения включают; ленточные весы, платформенные весы и другие электронные весы. Из предоставляемых нами тензодатчиков C3 является наиболее распространенным классом точности.

C4 – C5 (0,0174% – 0,0140%) – этот класс точности выше и используется для весов, используемых для торговых прилавков, разливочных машин, динамического контрольного взвешивания, а также платформенных и ленточных весов, требующих более высокой точности.

C6 (0,0116%) – класс точности весоизмерительных датчиков C6 обеспечивает очень высокий уровень точности, они используются для высокоточного контрольного взвешивания и тестирования транспортных средств

OIML – Одобрение OIML гарантирует, что тензодатчики подходят и «законны для торговли», что означает, что они соответствуют общему согласованному набору требований. Чтобы получить одобрение OIML, весоизмерительная ячейка должна пройти сертификацию R60.

Классы точности весоизмерительных датчиков

продолжаются до As и B, хотя эти классы не входят в наш портфель.

Факторы, влияющие на точность тензодатчика

При выборе тензодатчика важно также учитывать факторы, которые могут повлиять на точность тензодатчика, некоторые из них:

Температура – экстремальные температуры могут повлиять на точность датчика веса и, следовательно, на его работу. Лучше всего понять температурный диапазон окружающей среды вашего приложения и сравнить его с «рабочей температурой» в таблице данных весоизмерительного датчика перед покупкой.

Влажность – со временем влажность также может влиять на точность датчика веса, хотя это влияние не так сильно, как влияние температуры. Если ваше приложение находится во влажной среде, важно убедиться, что датчик веса предназначен для этого. Если ваш весоизмерительный датчик будет работать в среде с высокой влажностью, потребуется степень защиты IP не ниже IP51, IP61 и т. Д. В зависимости от требуемой защиты от твердых частиц. Все наши весоизмерительные ячейки имеют более высокий рейтинг защиты, начиная с IP64.

Боковые и эксцентрические нагрузки – если датчик нагрузки подвергается давлению и весу под разными углами или смещением от центра, со временем это может снизить точность датчика нагрузки. Если ваше приложение специально требует, чтобы датчик веса постоянно принимал нецентральные нагрузки, это повлияет на то, какие датчики веса доступны. Одноточечные весоизмерительные ячейки могут воспринимать нецентральные нагрузки, поэтому они часто являются хорошим выбором для такого типа приложений.

Монтаж – аналогично проблеме боковой и эксцентрической нагрузки, угол и расположение установки могут повлиять на распределение веса тензодатчика и, следовательно, повлиять на точность.Мы можем предоставить ряд монтажного оборудования, чтобы помочь в борьбе с этим.

Ползучесть – ползучесть – это изменение точности датчика веса, которое может происходить со временем и при многократном использовании. Ползучесть может повлиять на сам датчик веса или, если другие компоненты также находятся под давлением, они могут со временем деформироваться, что может затем повлиять на сам датчик веса. Чтобы преодолеть это, важно регулярно калибровать датчики веса.

Тензодатчики от Variohm

Мы поставляем тензодатчики в различные отрасли на протяжении многих лет и располагаем обширным портфолио.

Весоизмерительные ячейки

доступны в различных формах и конструкциях, некоторые из наиболее популярных типов весоизмерительных ячеек;

Для получения дополнительной информации о тензодатчиках, точности тензодатчиков или для обсуждения вашего приложения, пожалуйста, свяжитесь с нами.

Машинное обучение

– Почему точность не лучший показатель для оценки моделей классификации?

Стандартная точность определяется как отношение правильных классификаций к количеству выполненных классификаций.

\ begin {align *} точность: = \ frac {\ text {правильные классификации}} {\ text {количество классификаций}} \ end {align *}

Таким образом, это общий показатель по всем классам, и, как мы вскоре увидим, это не лучший показатель для определения oracle, кроме собственно полезного теста. Оракул – это функция классификации, которая возвращает случайное предположение для каждого образца. Точно так же мы хотим иметь возможность оценивать эффективность классификации нашей функции классификации. Точность может быть полезной мерой , если у нас одинаковое количество выборок для каждого класса, но если мы иметь несбалансированный набор сэмплов: точность вообще бесполезна.Более того, тест может иметь высокую точность. но на самом деле выполнить хуже, чем тест с меньшей точностью.

Если у нас есть такое распределение выборок, что $ 90 \% $ выборок принадлежит классу $ \ mathcal {A} $, $ 5 \% $ принадлежит $ \ mathcal {B} $, а другой $ 5 \% $ принадлежит классу $ \ mathcal {C} $, то следующая функция классификации будет иметь точность 0,9 $:

\ begin {align *} classify (образец): = \ begin {cases} \ mathcal {A} & \ text {if} \ top \\ \ end {case} \ end {align *}

Тем не менее, учитывая то, что мы знаем, как работает $ classify $, очевидно, что он не может сказать классам врозь вообще.Аналогичным образом мы можем построить классификационную функцию

\ begin {align *} classify (пример): = \ text {угадать} \ begin {case} \ mathcal {A} & \ text {с p} = 0,96 \\ \ mathcal {B} & \ text {с p} = 0,02 \\ \ mathcal {C} & \ text {с p} = 0,02 \\ \ end {case} \ end {align *}

, который имеет точность $ 0,96 \ cdot 0,9 + 0,02 \ cdot 0,05 \ cdot 2 = 0,866 $ и не всегда будет предсказывать $ \ mathcal {A} $, но все же, учитывая, что мы знаем, как работает $ classify $, очевидно, что он не может различать классы.Точность в этом случае лишь говорит нам, насколько хорошо наша классификационная функция угадывает. Это означает, что точность – не лучший способ отличить оракул от полезного теста.

Точность по классу

Мы можем вычислить точность индивидуально для каждого класса, указав только нашу функцию классификации образцы из того же класса и запомнить и подсчитать количество правильных классификаций и неправильных классификации затем вычисляют точность $: = \ text {правильно} / (\ text {правильно} + \ text {неверно}) $.Мы повторяем это для каждого класса. Если у нас есть функция классификации, которая может точно распознавать класс $ \ mathcal {A} $, но выведет случайное предположение для других классов, тогда это приведет к точности 1,00 $ для $ \ mathcal {A} $ и точность $ 0,33 $ для остальных классов. Это уже дает нам гораздо лучший способ судить о производительности нашей классификационной функции. Оракул, всегда предполагающий один и тот же класс, произведет точность на класс составляет 1 доллар США для этого класса, но 0,00 доллара США для другого класса.Если наш тест будет полезен все точности на класс должны быть $> 0,5 $. В противном случае наш тест не лучше случайности. Однако точность на класс не учитывает ложные срабатывания. Несмотря на то, что наша классификационная функция имеет точность $ 100 \% $ для класса $ \ mathcal {A} $ также будут ложные срабатывания для $ \ mathcal {A} $ (например, $ \ mathcal {B} $ ошибочно классифицируется как $ \ mathcal {A} $).

В медицинских тестах чувствительность определяется как соотношение между людьми, правильно идентифицированными как заболевшие. и количество людей, действительно страдающих этим заболеванием.Специфика определяется как соотношение между людьми правильно идентифицированы как здоровые, и количество действительно здоровых людей. Количество людей, фактически имеющих болезнь – это количество истинно положительных результатов теста плюс количество ложноотрицательных результатов теста. В количество реально здоровых людей – это количество истинно отрицательных результатов теста плюс количество ложноположительных результаты теста.

Двоичная классификация

В задачах двоичной классификации есть два класса $ \ mathcal {P} $ и $ \ mathcal {N} $.$ T_ {n} $ относится к числу образцов, которые были правильно идентифицированы как принадлежащие к классу $ n $, а $ F_ {n} $ относится к количеству образцов которые были ошибочно идентифицированы как принадлежащие к классу $ n $. В этом случае чувствительность и специфичность определяется следующим образом:

\ begin {align *} чувствительность: = \ frac {T _ {\ mathcal {P}}} {T _ {\ mathcal {P}} + F _ {\ mathcal {N}}} \\ специфичность: = \ frac {T _ {\ mathcal {N}}} {T _ {\ mathcal {N}} + F _ {\ mathcal {P}}} \ end {align *}

$ T _ {\ mathcal {P}} $ – истинные положительные результаты. $ F _ {\ mathcal {N}} $ – ложные отрицательные результаты, $ T _ {\ mathcal {N}} $ являются истинными отрицательными значениями, а $ F _ {\ mathcal {P}} $ – ложными срабатываниями.Однако если мыслить категориями отрицательных и положительных результатов – это нормально для медицинских тестов, но для лучшего понимания нам не следует мыслить в терминах отрицательного и положительного, но в общих классах $ \ alpha $ и $ \ beta $. Тогда мы можем сказать, что количество сэмплов, правильно идентифицированных как принадлежащие к $ \ alpha $, равно $ T _ {\ alpha} $, а количество сэмплов что на самом деле принадлежит $ \ alpha $, это $ T _ {\ alpha} + F _ {\ beta} $. Количество образцов, правильно идентифицированных как нет принадлежит $ \ alpha $, это $ T _ {\ beta} $, а количество сэмплов, фактически не принадлежащих $ \ alpha $, равно $ T _ {\ beta} + F _ {\ alpha} $.Это дает нам чувствительность и специфичность для $ \ alpha $, но мы также можем применить То же самое и с классом $ \ beta $. Количество образцов, правильно идентифицированных как принадлежащие к $ \ beta $, составляет $ T _ {\ beta} $, а количество сэмплов, фактически принадлежащих $ \ beta $, равно $ T _ {\ beta} + F _ {\ alpha} $. Количество сэмплы, правильно идентифицированные как не принадлежащие к $ \ beta $, равны $ T _ {\ alpha} $, а фактическое количество сэмплов не принадлежит $ \ beta $, это $ T _ {\ alpha} + F _ {\ beta} $. Таким образом, мы получаем чувствительность и специфичность по классам:

.

\ begin {align *} чувствительность _ {\ alpha}: = \ frac {T _ {\ alpha}} {T _ {\ alpha} + F _ {\ beta}} \\ специфичность _ {\ alpha}: = \ frac {T _ {\ beta}} {T _ {\ beta} + F _ {\ alpha}} \\ чувствительность _ {\ beta}: = \ frac {T _ {\ beta}} {T _ {\ beta} + F _ {\ alpha}} \\ специфичность _ {\ beta}: = \ frac {T _ {\ alpha}} {T _ {\ alpha} + F _ {\ beta}} \\ \ end {align *}

Однако мы наблюдаем, что $ чувствительность _ {\ alpha} = специфичность _ {\ beta} $ и $ специфичность _ {\ alpha} = чувствительность _ {\ beta} $.Это означает, что если у нас есть только два класса, нам не нужна чувствительность и специфичность для каждого класса.

Н-арная классификация

Чувствительность и специфичность для каждого класса бесполезны, если у нас есть только два класса, но мы можем расширить их до несколько классов. Чувствительность и специфичность определяется как:

\ begin {align *} \ text {чувствительность}: = \ frac {\ text {истинные положительные результаты}} {\ text {истинные положительные результаты} + \ text {ложные отрицательные результаты}} \\ \ text {специфичность}: = \ frac {\ text {истинные негативы}} {\ text {истинные негативы} + \ text {ложные срабатывания}} \\ \ end {align *}

Истинные положительные результаты – это просто $ T_ {n} $, ложные отрицательные результаты – это просто $ \ sum_ {i} (F_ {n, i}) $ и ложные срабатывания – это просто $ \ sum_ {i} (F_ {i, n}) $.Найти истинные негативы намного сложнее, но мы можем сказать, что если мы правильно классифицируем что-либо как принадлежащее к классу, отличному от $ n $, это считается истинно отрицательным. Это означает, что у нас есть как минимум $ \ sum_ {i} (T_ {i}) – T (n) $ истинных негативов. Однако это не все отрицательные моменты. Все неправильные классификации для класса, отличного от $ n $, также являются истинно отрицательными, потому что они правильно не были идентифицированы как принадлежащие $ n $. $ \ sum_ {i} (\ sum_ {k} (F_ {i, k})) $ представляет все неправильные классификации. Из этого мы должны вычесть случаи, когда входным классом был $ n $, что означает, что мы должны вычесть ложные отрицания для $ n $, который равен $ \ sum_ {i} (F_ {n, i}) $, но мы также должны вычесть ложные срабатывания для $ n $, потому что они являются ложными срабатываниями, а не истинно отрицательными, поэтому мы также должны вычесть $ \ sum_ {i} (F_ {i, n}) $, наконец, получив $ \ sum_ {i} (T_ {i}) – T (n) + \ sum_ {i} (\ sum_ {k} (F_ {n, i})) – \ sum_ {i} (F_ {n, i }) – \ sum_ {i} (F_ {i, n}) $.В итоге имеем:

\ begin {align *} \ text {истинные положительные результаты}: = T_ {n} \\ \ text {истинные отрицания}: = \ sum_ {i} (T_ {i}) – T (n) + \ sum_ {i} (\ sum_ {k} (F_ {n, i})) – \ sum_ {i } (F_ {n, i}) – \ sum_ {i} (F_ {i, n}) \\ \ text {ложные срабатывания}: = \ sum_ {i} (F_ {i, n}) \\ \ text {ложные отрицания}: = \ sum_ {i} (F_ {n, i}) \ end {align *}

\ begin {align *} чувствительность (n): = \ frac {T_ {n}} {T_ {n} + \ sum_ {i} (F_ {n, i})} \\ специфичность (n): = \ frac {\ sum_ {i} (T_ {i}) – T_ {n} + \ sum_ {i} (\ sum_ {k} (F_ {i, k})) – \ sum_ { i} (F_ {n, i}) – \ sum_ {i} (F_ {i, n})} {\ sum_ {i} (T_ {i}) – T_ {n} + \ sum_ {i} (\ сумма_ {k} (F_ {i, k})) – \ sum_ {i} (F_ {n, i})} \ end {align *}

Мы определяем $ уверенность ^ {\ top} $, которая является мерой того, насколько мы можем быть уверены в себе. что ответ нашей классификационной функции действительно правильный.{\ bot} (n) = \ frac {\ sum_ {i} (\ sum_ {k} (F_ {i, k})) – \ sum_ {i} (F_ {i, n}) + \ sum_ {i } (T_ {i}) – T_ {n} – \ sum_ {i} (F_ {n, i})} {\ sum_ {i} (\ sum_ {k} (F_ {i, k})) – \ сумма_ {i} (F_ {i, n}) + \ sum_ {i} (T_ {i}) – T_ {n}} \ end {align *}

Когда точности недостаточно, используйте точность и вспомните для оценки моделей классификации

Представьте, что кто-то утверждал, что создал модель для идентификации террористов, пытающихся подняться на борт самолетов с точностью более 99 процентов … полностью в своей голове. Вы бы им поверили?

Что ж, вот модель: просто пометьте каждого человека, летящего из U.С. как «не террорист». Учитывая 800 миллионов пассажиров в среднем на рейсах в США в год и 19 (подтвержденных) террористов, которые садились на рейсы в США в период с 2000 по 2017 год, эта модель достигает поразительной точности 99,9999999 процентов! Это может показаться впечатляющим, но я подозреваю, что Министерство внутренней безопасности не позвонит в ближайшее время, чтобы купить эту модель. Хотя это решение имеет почти идеальную точность, в этой проблеме точность явно не является адекватным показателем.

Задача обнаружения террористов – это проблема несбалансированной классификации: у нас есть два класса, которые нам нужно идентифицировать – террористы, а не террористы – с одной категорией (нетеррористы), представляющей подавляющее большинство точек данных. Другая проблема несбалансированной классификации возникает при обнаружении болезней, когда уровень заболеваемости среди населения очень низок. В обоих случаях положительный класс – болезнь или террорист – значительно превосходит отрицательный класс. Эти типы проблем являются примерами довольно распространенного случая в науке о данных, когда точность не является хорошим показателем для оценки производительности модели.

Интуитивно мы знаем, что объявление всех точек данных отрицательными (не террористическими) в проблеме обнаружения террористов бесполезно, и вместо этого мы должны сосредоточиться на выявлении положительных случаев. Показатель, который наша интуиция подсказывает нам, что мы должны максимизировать, известен в статистике как отзыв или способность модели находить все соответствующие случаи в наборе данных. Техническое определение отзыва – это количество истинных положительных результатов, деленное на количество истинных положительных результатов плюс количество ложных отрицательных результатов.

Точность и отзыв

  • Отзыв: способность модели находить все соответствующие случаи в наборе данных. Математически мы определяем отзыв как количество истинных положительных результатов, деленное на количество истинных положительных результатов плюс количество ложных отрицательных результатов.
  • Точность: способность модели классификации идентифицировать только соответствующие точки данных. Математически точность: количество истинных срабатываний, деленное на количество истинных срабатываний плюс количество ложных срабатываний.

Истинно положительные результаты – это точки данных, классифицированные моделью как положительные, которые на самом деле являются положительными (то есть они верны), а ложно отрицательные – это точки данных, которые модель определяет как отрицательные, которые на самом деле являются положительными (неверными). В случае с терроризмом истинно положительные результаты – это правильно идентифицированные террористы, а ложно отрицательные – люди, которых модели называют не террористами, а фактически террористами. Другими словами, отзыв можно рассматривать как способность модели находить все точки данных класса, в котором нас интересует набор данных.

Вы можете кое-что заметить в этом уравнении: если мы обозначим всех людей как террористов, то наш отзыв будет равен 1.0! У нас есть идеальный классификатор, правда? Не совсем так. Как и в случае с большинством концепций в науке о данных, существует компромисс между метриками, которые мы выбираем для максимизации. В случае отзыва и точности, когда мы увеличиваем отзыв, мы уменьшаем точность.

Опять же, мы интуитивно знаем, что модель, обозначающая 100 процентов пассажиров как террористов, вероятно, бесполезна, потому что нам придется запретить полеты каждому человеку.Статистика дает нам словарь, чтобы выразить нашу интуицию: эта новая модель будет страдать от низкой точности или способности модели классификации идентифицировать только соответствующие точки данных.

По мере увеличения точности мы уменьшаем отзыв и наоборот.

Точность – это количество истинных положительных результатов, разделенное на количество истинных положительных результатов плюс количество ложных срабатываний. Ложноположительные – это случаи, когда модель ошибочно маркирует как положительные, которые на самом деле отрицательны, или, в нашем примере, люди, которые модель классифицирует как террористов, не являются таковыми.В то время как отзыв выражает способность найти все соответствующие экземпляры класса в наборе данных, точность выражает долю точек данных, которые, по утверждению нашей модели, существовали в соответствующем классе, которые действительно были релевантными.

Теперь у нас есть язык, чтобы выразить интуицию, что наша первая модель, в которой все люди были помечены как не террористы, была не очень полезной. Хотя у него была почти идеальная точность, у него была нулевая точность и нулевой отзыв, потому что не было истинных положительных результатов!

Допустим, мы немного изменили модель и правильно идентифицируем отдельного человека как террориста.Теперь наша точность будет 1.0 (без ложных срабатываний), но наш отзыв будет очень низким, потому что у нас все еще есть много ложноотрицательных результатов. Если мы впадем в другую крайность и классифицируем всех пассажиров как террористов, у нас будет отзыв 1.0 – мы поймем каждого террориста, но наша точность будет очень низкой, и мы задержим много невинных людей. Другими словами, по мере увеличения точности мы уменьшаем отзыв и наоборот.

Компромисс точности отзыва.

Выделитесь среди толпы4 типа проектов, которые вам нужны в вашем портфеле Data Science

Сочетание точности и отзыва

В некоторых ситуациях мы можем знать, что хотим максимизировать отзыв или точность за счет другой метрики.Например, при предварительном скрининге пациентов для последующего обследования нам, вероятно, потребуется отзыв около 1,0 – мы хотим найти всех пациентов, у которых действительно есть заболевание, – и мы можем согласиться с низкой точностью – мы случайно обнаружим, что у некоторых пациентов есть болезнь, у которой ее на самом деле нет – если стоимость последующего обследования невысока. Однако в случаях, когда мы хотим найти оптимальное сочетание точности и отзывчивости, мы можем объединить две метрики, используя оценку F1.

Оценка F1 представляет собой гармоническое среднее значение точности и запоминания с учетом обоих показателей в следующем уравнении:

Мы используем гармоническое среднее вместо простого среднего, потому что оно наказывает экстремальные значения.Классификатор с точностью 1,0 и отзывом 0,0 имеет простое среднее значение 0,5, но оценку F1 равную 0. Оценка F1 дает одинаковый вес обоим показателям и является конкретным примером общей метрики Fβ, где β может быть скорректировано до уделять больше внимания отзыву или точности. (Существуют и другие метрики для объединения точности и отзыва, такие как среднее геометрическое значение точности и отзыва, но мы используем наиболее часто показатель F1.) Если мы хотим создать модель классификации с оптимальным балансом отзыва и точности , затем мы пытаемся максимизировать оценку F1.

Визуализация точности и памяти

Я предложил вам несколько новых терминов, поэтому мы рассмотрим пример, чтобы показать, как они используются на практике. Однако, прежде чем мы сможем это сделать, нам нужно кратко поговорить о двух концепциях, которые мы используем, чтобы показать точность и отзывчивость.

Прежде всего: матрица неточностей, которая полезна для быстрого вычисления точности и отзыва с учетом предсказанных меток из модели и истинных меток. Матрица неточностей для двоичной классификации показывает четыре различных результата: истинно положительный, ложноположительный, истинно отрицательный и ложноотрицательный.Фактические значения образуют столбцы, а прогнозируемые значения (метки) образуют строки (вы можете увидеть, что строки и столбцы перевернуты – стандарта нет). Пересечение строк и столбцов показывает один из четырех результатов. Например, если мы прогнозируем, что точка данных положительная, но на самом деле отрицательная, это ложное срабатывание.

Переход от матрицы неточностей к отзыву и точности требует нахождения соответствующих значений в матрице и применения уравнений:

Другой основной метод визуализации для демонстрации эффективности модели классификации – это кривая рабочих характеристик приемника (ROC).Пусть вас не пугает сложное название! Идея относительно проста: кривая ROC показывает, как изменяется соотношение отзыва и точности, когда мы меняем порог для определения положительной точки данных в нашей модели. Порог представляет собой значение, выше которого мы считаем точку данных положительным классом.

Если у нас есть модель для идентификации болезни, наша модель может выводить оценку для каждого пациента от нуля до единицы, и мы можем установить порог в этом диапазоне для обозначения пациента как больного заболеванием (положительная метка).Изменяя порог, мы пытаемся достичь правильного баланса между точностью и отзывом.

Кривая ROC отображает процент истинных положительных результатов по оси Y в сравнении с частотой ложных срабатываний по оси абсцисс. Уровень истинных положительных результатов (TPR) – это отзыв, а частота ложных срабатываний (FPR) – это вероятность ложной тревоги. Оба они могут быть вычислены из матрицы неадекватности:

Типичная кривая ROC выглядит так:

Кривая рабочих характеристик приемника.

Черная диагональная линия указывает на случайный классификатор, а красная и синяя кривые показывают две разные модели классификации.Для данной модели мы можем оставаться только на одной кривой, но мы можем двигаться по кривой, регулируя наш порог для классификации положительного случая. Обычно при уменьшении порога мы перемещаемся вправо и вверх по кривой.

При пороге 1,0 мы были бы в нижнем левом углу графика, потому что мы не идентифицируем никакие точки данных как положительные, что приводит к отсутствию истинных положительных и ложных срабатываний (TPR = FPR = ноль). По мере уменьшения порога мы идентифицируем больше точек данных как положительных, что приводит к большему количеству истинных положительных результатов, но также и большему количеству ложных срабатываний (TPR и FPR увеличиваются).В конце концов, при пороге 0,0 мы идентифицируем все точки данных как положительные и оказываемся в верхнем правом углу кривой ROC (TPR = FPR = 1,0).

Наконец, мы можем количественно оценить ROC-кривую модели, вычислив общую площадь под кривой (AUC) – показатель, который находится между нулем и единицей, причем большее число указывает на лучшую эффективность классификации. На приведенном выше графике AUC для синей кривой будет больше, чем для красной кривой, что означает, что синяя модель лучше обеспечивает сочетание точности и отзывчивости.Случайный классификатор (черная линия) достигает AUC 0,5.

Подробнее о визуализации данных Как создавать графики для отчетов в Python

Резюме

Мы рассмотрели несколько терминов, ни один из которых не сложен сам по себе, но в сочетании может оказаться немного сложным! Давайте сделаем краткий обзор, а затем рассмотрим пример, чтобы закрепить новые идеи, которые мы усвоили.

Четыре результата двоичной классификации

  • Истинно положительные результаты: точки данных, помеченные как положительные, но на самом деле положительные

  • Ложные срабатывания: точки данных, помеченные как положительные, но на самом деле отрицательные

  • Истинно отрицательные значения: точки данных, помеченные как отрицательные, но на самом деле отрицательные

  • Ложноотрицательные: точки данных, помеченные как отрицательные, но на самом деле положительные

Метрики отзыва и точности

  • Напоминание: способность модели классификации идентифицировать все точки данных в соответствующем классе

  • Точность: способность модели классификации возвращать только точки данных в классе

    .
  • Оценка

    F1: единый показатель, сочетающий отзывчивость и точность с использованием среднего гармонического

Визуализация отзыва и точности

  • Матрица неточностей: показывает фактические и прогнозируемые метки из задачи классификации

  • Кривая рабочей характеристики приемника (ROC): отображает соотношение истинно положительных результатов (TPR) и ложных положительных результатов (FPR) в зависимости от порогового значения модели для классификации точки положительных данных

  • Площадь под кривой (AUC): показатель для расчета общей производительности модели классификации на основе площади под кривой ROC

Подробнее о статистическом моделированииЧто не так с вашей статистической моделью? Искаженные данные.

Пример приложения

Наша задача будет заключаться в том, чтобы диагностировать 100 пациентов с заболеванием, которое присутствует у 50 процентов населения в целом. Мы предположим модель черного ящика, где мы вводим информацию о пациентах и ​​получаем оценку от нуля до единицы. Мы можем изменить порог для маркировки пациента как положительного (имеющего заболевание), чтобы максимизировать эффективность классификатора. Мы будем оценивать пороги от 0,0 до 1,0 с шагом 0,1, на каждом шаге вычисляя точность, отзыв, F1 и положение на кривой ROC.Вот результаты классификации на каждом пороге:

Результат модели на каждом пороге классификации.

Мы сделаем один пример расчета запоминания, точности, частоты истинных положительных и ложноположительных результатов с порогом 0,5. Сначала сделаем матрицу путаницы:

Матрица неточностей для порога 0,5.

Мы можем использовать числа в матрице для расчета отзыва, точности и оценки F1:

Затем мы вычисляем истинно положительные и ложные положительные результаты, чтобы найти координаты y и x для кривой ROC.

Чтобы получить полную кривую ROC, мы выполняем этот процесс на каждом пороге. Как вы понимаете, это довольно утомительно, поэтому вместо того, чтобы делать это вручную, мы используем такой язык, как Python, чтобы сделать это за нас! Записная книжка Jupyter с расчетами находится на GitHub, чтобы любой мог увидеть реализацию. Окончательная кривая ROC находится ниже, а пороговые значения выше точек.

Здесь мы видим, что все концепции собраны вместе! При пороговом значении 1,0 мы не классифицируем пациентов как имеющих заболевание и, следовательно, имеем отзыв и точность 0.0. По мере уменьшения порога отзыв увеличивается, потому что мы идентифицируем больше пациентов, у которых есть заболевание. Однако по мере того, как наш отзыв увеличивается, наша точность снижается, потому что, помимо увеличения истинных положительных результатов, мы увеличиваем количество ложных срабатываний.

При пороге 0,0 наши воспоминания идеальны – мы находим всех пациентов с этим заболеванием, – но наша точность низкая, потому что у нас много ложных срабатываний. Мы можем двигаться по кривой для данной модели, изменяя порог, и можем выбрать порог, который максимизирует оценку F1.Чтобы сдвинуть всю кривую, нам нужно будет построить другую модель. Модель с кривой слева и выше нашей синей кривой будет превосходной моделью, потому что она будет иметь более высокую точность и отзывчивость на каждом пороге.

Окончательная статистика модели для каждого порога:

На основе оценки F1 лучшая модель получается при пороговом значении 0,5. Если бы мы хотели в большей степени подчеркнуть точность или отзывчивость, мы могли бы выбрать соответствующую модель, которая лучше всего работает по этим показателям.

Превосходя точность

Мы склонны использовать точность, потому что каждый имеет представление о ее значении, а не потому, что это лучший инструмент для решения задачи! Хотя более подходящие показатели, такие как отзыв и точность, могут показаться чуждыми, у нас уже есть интуитивное представление о том, почему они лучше работают для некоторых проблем, таких как несбалансированные задачи классификации.

Статистика предоставляет нам формальные определения и уравнения для расчета этих показателей.Наука о данных – это знание правильных инструментов для работы, и часто нам нужно выходить за рамки точности при разработке моделей классификации. Знание об отзыве, точности, F1 и кривой ROC позволяет нам оценивать модели классификации и должно заставить нас скептически относиться к любому, кто рекламирует только точность модели, особенно для несбалансированных проблем.

Как мы видели, точность не дает полезной оценки критических проблем, но теперь мы знаем, как использовать более разумные метрики.

Эта статья изначально была опубликована на сайте Towards Data Science.

8 тактик борьбы с несбалансированными классами в вашем наборе данных машинного обучения

Последнее обновление 15 августа 2020 г.

Это случилось с вами?

Вы работаете со своим набором данных. Вы создаете модель классификации и сразу получаете точность 90%. Вы думаете: « Fantastic ». Вы погружаетесь немного глубже и обнаруживаете, что 90% данных принадлежит одному классу. Проклятие!

Это пример несбалансированного набора данных и разочаровывающих результатов, которые он может вызвать.

В этом посте вы познакомитесь с тактиками, которые можно использовать для получения отличных результатов на наборах данных машинного обучения с несбалансированными данными.

Начните свой проект с моей новой книги «Несбалансированная классификация с Python», включающей пошаговых руководств и файлов исходного кода Python для всех примеров.

Приступим.

Найдите баланс в машинном обучении.
Фотография MichaEli, некоторые права защищены.

Вступление в борьбу с несбалансированными данными

Я все время получаю электронные письма о дисбалансе классов, например:

У меня проблема с двоичной классификацией, и в моем обучающем наборе присутствует один класс с соотношением 60: 1. Я использовал логистическую регрессию, и результат, кажется, просто игнорирует один класс.

А это:

Я работаю над классификационной моделью. В моем наборе данных у меня есть три разных метки, которые нужно классифицировать, пусть это будут A, B и C.Но в наборе обучающих данных у меня есть набор данных A с объемом 70%, B с 25% и C с 5%. В большинстве случаев мои результаты соответствуют А. Не могли бы вы подсказать, как я могу решить эту проблему?

Я пишу длинные списки техник, чтобы попытаться подумать о том, как лучше всего решить эту проблему. Наконец я последовал совету одного из моих учеников:

Возможно, одна из ваших предстоящих публикаций в блоге могла бы решить проблему обучения модели для работы с сильно несбалансированными данными и описать некоторые методы и ожидания.

Разочарование!

Несбалансированные данные могут вызвать у вас много разочарования.

Вы чувствуете себя очень разочарованным, когда обнаруживаете, что ваши данные содержат несбалансированные классы и что все отличные результаты, которые, как вы думали, вы получали, оказались ложью.

Следующая волна разочарования наступает, когда книги, статьи и сообщения в блогах не дают вам хороших советов по устранению дисбаланса в ваших данных.

Расслабьтесь, есть много вариантов, и мы рассмотрим их все.Возможно, вы можете построить прогнозные модели для несбалансированных данных.

Хотите начать работу с классификацией дисбаланса?

Пройдите мой бесплатный 7-дневный ускоренный курс электронной почты (с образцом кода).

Нажмите, чтобы зарегистрироваться, а также получите бесплатную электронную версию курса в формате PDF.

Загрузите БЕСПЛАТНЫЙ мини-курс

Что такое несбалансированные данные?

Несбалансированные данные обычно относятся к проблеме с классификационными проблемами, когда классы не представлены одинаково.

Например, у вас может быть проблема 2-х классной (двоичной) классификации со 100 экземплярами (строками). Всего 80 экземпляров помечены как класс 1, а остальные 20 экземпляров – как класс 2.

Это несбалансированный набор данных, и соотношение экземпляров класса 1 к экземплярам класса 2 составляет 80:20 или более кратко 4: 1.

У вас может быть проблема дисбаланса классов в задачах классификации с двумя классами, а также в задачах классификации с несколькими классами. На любом из них можно использовать большинство техник.

Остальные обсуждения будут предполагать проблему классификации двух классов, потому что ее легче думать и описывать.

Обычный дисбаланс

Большинство наборов классификационных данных не имеют точно равного количества экземпляров в каждом классе, но небольшая разница часто не имеет значения.

Существуют проблемы, при которых дисбаланс классов не просто обычен, а является ожидаемым. Например, в наборах данных, подобных тем, которые характеризуют мошеннические транзакции, нет баланса.Подавляющее большинство транзакций будет относиться к классу «Отсутствие мошенничества», а очень незначительное меньшинство – к классу «мошенничества».

Другой пример – наборы данных об оттоке клиентов, где подавляющее большинство клиентов остаются с услугой (класс «без оттока»), а небольшое меньшинство отменяет свою подписку (класс «отток»).

Когда есть небольшой дисбаланс классов, такой как 4: 1 в приведенном выше примере, это может вызвать проблемы.

Парадокс точности

Парадокс точности – это точное название ситуации во введении к этому посту.

Это тот случай, когда ваши меры точности говорят о том, что у вас отличная точность (например, 90%), но точность отражает только базовое распределение классов.

Это очень распространено, потому что точность классификации часто является первым показателем, который мы используем при оценке моделей для наших задач классификации.

Наденьте все на красное!

Что происходит в наших моделях, когда мы тренируемся на несбалансированном наборе данных?

Как вы, возможно, догадались, причина, по которой мы получаем точность 90% для несбалансированных данных (с 90% экземпляров в классе 1), заключается в том, что наши модели смотрят на данные и умно решают, что лучше всего всегда прогнозировать «Класс-1» и добиваться высокой точности.

Это лучше всего видно при использовании простого алгоритма, основанного на правилах. Если вы распечатаете правило в окончательной модели, вы увидите, что оно, скорее всего, предсказывает один класс независимо от данных, которые его просят предсказать.

8 Тактик борьбы с несбалансированными данными тренировок

Теперь мы понимаем, что такое несбалансированность классов и почему он обеспечивает неверную точность классификации.

Итак, каковы наши возможности?

1) Можете ли вы собрать больше данных?

Вы можете подумать, что это глупо, но о сборе дополнительных данных почти всегда забывают.

Можете ли вы собрать больше данных? Найдите секунду и подумайте, сможете ли вы собрать больше данных о своей проблеме.

Более крупный набор данных может раскрыть другой и, возможно, более сбалансированный взгляд на классы.

Дополнительные примеры второстепенных классов могут быть полезны позже, когда мы рассмотрим повторную выборку вашего набора данных.

2) Попробуйте изменить метрику производительности

Точность не является показателем для использования при работе с несбалансированным набором данных. Мы видели, что это заблуждение.

Существуют метрики, которые были разработаны, чтобы рассказать вам более правдивую историю при работе с несбалансированными классами.

Я даю больше советов по выбору различных показателей эффективности в моем сообщении «Точности классификации недостаточно: вы можете использовать больше показателей эффективности».

В этом посте я смотрю на несбалансированный набор данных, который характеризует рецидив рака груди у пациентов.

Из этого поста я рекомендую взглянуть на следующие показатели производительности, которые могут дать больше информации о точности модели, чем точность традиционной классификации:

  • Матрица путаницы : Разбивка прогнозов на таблицу, показывающую правильные прогнозы (диагональ) и типы сделанных неверных прогнозов (какие классы были назначены неправильным прогнозам).
  • Precision : Мера точности классификаторов.
  • Напомнить : Мера полноты классификаторов
  • Оценка F1 (или оценка F) : Средневзвешенное значение точности и запоминания.

Я бы также посоветовал вам взглянуть на следующее:

  • Каппа (или каппа Коэна) : точность классификации, нормализованная несбалансированностью классов в данных.
  • Кривые ROC : Подобно точности и отзыву, точность делится на чувствительность и специфичность, и модели могут быть выбраны на основе пороговых значений баланса этих значений.

Вы можете узнать больше об использовании кривых ROC для сравнения точности классификации в нашей публикации «Оценка и сравнение производительности классификатора с кривыми ROC».

Все еще не уверены? Начните с каппы, она даст вам лучшее представление о происходящем, чем точность классификации.

3) Попробуйте передискретизировать свой набор данных

Вы можете изменить набор данных, который вы используете для построения прогнозной модели, чтобы получить более сбалансированные данные.

Это изменение называется выборкой вашего набора данных, и есть два основных метода, которые вы можете использовать для выравнивания классов:

  1. Вы можете добавить копии экземпляров из недостаточно представленного класса, называемого избыточной выборкой (или более формально выборкой с заменой), или
  2. Вы можете удалить экземпляры из избыточно представленного класса, что называется недостаточной выборкой.

Эти подходы часто очень легко реализовать и быстро запустить. Они являются отличной отправной точкой.

На самом деле, я бы посоветовал вам всегда пробовать оба подхода на всех ваших несбалансированных наборах данных, просто чтобы увидеть, дает ли это повышение в ваших предпочтительных мерах точности.

Вы можете узнать немного больше из статьи в Википедии под названием «Передискретизация и недостаточная выборка при анализе данных».

Некоторые практические правила
  • Рассмотрите возможность тестирования недостаточной выборки, если у вас много данных (десятки или сотни тысяч экземпляров или более)
  • Рассмотрите возможность тестирования передискретизации, если у вас мало данных (десятки тысяч записей или меньше)
  • Считайте тестирование случайным и неслучайным (например,грамм. стратифицированные) схемы выборки.
  • Рассмотрите возможность тестирования различных соотношений передискретизации (например, вам не нужно стремиться к соотношению 1: 1 в задаче двоичной классификации, попробуйте другие соотношения)

4) Попробуйте создать синтетические образцы

Простым способом создания синтетических выборок является случайная выборка атрибутов из экземпляров класса меньшинства.

Вы можете выбрать их эмпирически в своем наборе данных или использовать такой метод, как Наивный Байес, который может независимо выполнять выборку каждого атрибута при выполнении в обратном порядке.У вас будет больше и разных данных, но нелинейные отношения между атрибутами могут не сохраниться.

Существуют систематические алгоритмы, которые можно использовать для создания синтетических образцов. Самый популярный из таких алгоритмов называется SMOTE или Техника передискретизации синтетического меньшинства.

Как следует из названия, SMOTE – это метод передискретизации. Он работает путем создания синтетических образцов из второстепенного класса вместо создания копий. Алгоритм выбирает два или более похожих экземпляра (с использованием меры расстояния) и изменяет один атрибут экземпляра за раз на случайную величину в пределах разницы с соседними экземплярами.

Чтобы узнать больше о SMOTE, см. Исходный документ 2002 года, озаглавленный «SMOTE: метод передискретизации синтетических меньшинств».

Существует несколько реализаций алгоритма SMOTE, например:

  • В Python взгляните на модуль «UnbalancedDataset». Он предоставляет ряд реализаций SMOTE, а также различные другие методы передискретизации, которые вы можете попробовать.
  • В R пакет DMwR предоставляет реализацию SMOTE.
  • В Weka можно использовать контролируемый фильтр SMOTE.

5) Попробуйте разные алгоритмы

Как всегда, я настоятельно рекомендую вам не использовать ваш любимый алгоритм для каждой задачи. По крайней мере, вы должны проверять различные типы алгоритмов для решения конкретной проблемы.

Подробнее об алгоритмах выборочной проверки см. В моем сообщении «Почему вы должны использовать алгоритмы выборочной проверки для решения проблем с машинным обучением».

При этом деревья решений часто хорошо работают с несбалансированными наборами данных. Правила разделения, которые смотрят на переменную класса, используемую при создании деревьев, могут заставить обращаться к обоим классам.

Если есть сомнения, попробуйте несколько популярных алгоритмов дерева решений, таких как C4.5, C5.0, CART и Random Forest.

Пример кода R, использующего деревья решений, см. В моем сообщении «Нелинейная классификация в R с деревьями решений».

Пример использования CART в Python и scikit-learn см. В моем сообщении под названием «Запачкайте руки с помощью Scikit-Learn Now».

6) Попробуйте модели с санкциями

Вы можете использовать те же алгоритмы, но дать им другой взгляд на проблему.

Штрафная классификация налагает на модель дополнительные расходы за допущение классификационных ошибок в классе меньшинства во время обучения. Эти штрафы могут склонить модель к уделению большего внимания классу меньшинства.

Часто обработка штрафов класса или весов зависит от алгоритма обучения. Существуют штрафные версии алгоритмов, такие как штрафной SVM и штрафной LDA.

Также возможно иметь общие рамки для штрафных моделей.Например, у Weka есть CostSensitiveClassifier, который может обернуть любой классификатор и применить настраиваемую матрицу штрафов для классификации промахов.

Использование штрафов желательно, если вы привязаны к определенному алгоритму и не можете выполнить повторную выборку или вы получаете плохие результаты. Это еще один способ «сбалансировать» классы. Настройка матрицы штрафов может быть сложной. Скорее всего, вам придется попробовать различные схемы штрафов и посмотреть, что лучше всего подходит для вашей проблемы.

7) Попробуйте другую перспективу

Есть области исследований, посвященные несбалансированным наборам данных.У них есть свои алгоритмы, меры и терминология.

Если взглянуть и подумать о своей проблеме с этих точек зрения, иногда может быть стыдно потерять некоторые идеи.

Два, которые вы могли бы рассмотреть, это обнаружение аномалии и обнаружение изменений .

Обнаружение аномалий – это обнаружение редких событий. Это может быть неисправность машины, на которую указывает ее вибрация, или злонамеренная активность программы, на которую указывает последовательность ее системных вызовов.События редки и по сравнению с нормальной работой.

Этот сдвиг в мышлении рассматривает второстепенный класс как класс выбросов, который может помочь вам придумать новые способы разделения и классификации выборок.

Обнаружение изменений похоже на обнаружение аномалий, за исключением того, что вместо поиска аномалии оно ищет изменение или отличие. Это может быть изменение поведения пользователя, наблюдаемое по шаблонам использования или банковским транзакциям.

Оба этих сдвига в большей степени относятся к проблеме классификации в реальном времени, что может дать вам некоторые новые способы осмысления вашей проблемы и, возможно, еще несколько методов, которые можно попробовать.

8) Попробуй проявить творческий подход

Действительно залезьте внутрь своей проблемы и подумайте, как разбить ее на более мелкие проблемы, которые будут более решаемыми.

Для вдохновения взгляните на очень креативные ответы на Quora на вопрос «Как вы справляетесь с несбалансированным обучающим набором при классификации?»

Например:

Разложите ваш больший класс на меньшее количество других классов…

… использовать одноклассный классификатор… (например,грамм. рассматривать как обнаружение выбросов)

… передискретизация несбалансированной обучающей выборки не в одну сбалансированную, а в несколько. Запуск ансамбля классификаторов на этих наборах может дать гораздо лучший результат, чем один классификатор

Это лишь некоторые из интересных и креативных идей, которые вы можете попробовать.

Для получения дополнительных идей ознакомьтесь с этими комментариями к сообщению Reddit «Классификация, когда 80% моей обучающей выборки относится к одному классу».

Выберите метод и действуйте

Вам не нужно быть мастером алгоритмов или статистиком, чтобы строить точные и надежные модели на основе несбалансированных наборов данных.

Мы рассмотрели ряд методов, которые можно использовать для моделирования несбалансированного набора данных.

Надеюсь, есть один или два, которые вы можете взять с полки и сразу же применить, например, изменив метрику точности и передискретизируя набор данных. Оба они быстрые и сразу окажут влияние.

Какой метод вы собираетесь попробовать?

Последнее слово, начало с малого

Помните, что мы не можем знать, какой подход лучше всего подойдет вам и набору данных, над которым вы работаете.

Вы можете использовать некоторые экспертные эвристики, чтобы выбрать тот или иной метод, но, в конце концов, лучший совет, который я могу вам дать, – это «стать ученым», эмпирически протестировать каждый метод и выбрать тот, который дает наилучшие результаты.

Начните с малого и опирайтесь на полученные знания.

Хотите больше? Дополнительная информация…

Есть ресурсы по дисбалансу классов, если вы знаете, где искать, но их очень мало.

Я посмотрел, и вот что я считаю лучшими из лучших.Если вы хотите глубже погрузиться в научную литературу, посвященную проблеме классового дисбаланса, воспользуйтесь некоторыми ссылками ниже.

Книги

Документы

Вы нашли этот пост полезным? Остались вопросы?

Оставьте комментарий и дайте мне знать о вашей проблеме и любых вопросах, которые у вас все еще есть по работе с несбалансированными классами.

Узнайте о несбалансированной классификации!

Разработка несбалансированных моделей обучения за считанные минуты

…с всего несколькими строками кода Python

Узнайте, как в моей новой электронной книге:
Несбалансированная классификация с Python

Он предоставляет учебных пособий для самообучения и сквозных проектов по:
Показатели производительности , Методы недодискретизации , SMOTE , Перемещение пороговых значений , Калибровка вероятности , алгоритмов с учетом затрат
и многое другое …

Привнесите несбалансированные методы классификации в свои проекты машинного обучения
Посмотрите, что внутри

Показатели эффективности для задач нескольких классов

Для задач классификации производительность классификатора обычно определяется в соответствии с матрицей неточностей, связанной с классификатором.На основе элементов матрицы можно вычислить чувствительность (отзыв), специфичность и точность. Для одного порога эти величины приводят к сбалансированной точности (чувствительность и специфичность) или к шкале F1 (отзывчивость и точность). Для оценки классификатора оценок при нескольких пороговых значениях эти величины могут использоваться для определения площади под кривой ROC (AUC) или площади под кривой точности-отзыва (AUCPR).

Все эти показатели эффективности легко доступны для задач двоичной классификации.Какая мера подходит, зависит от типа классификатора. Жесткие классификаторы не оцениваются, потому что они производят только результат \ (g (x) \ in \ {1, 2, \ ldots, K \} \). Мягкие классификаторы, с другой стороны, оценивают классификаторы, которые производят величины, к которым можно применить отсечение, чтобы найти \ (g (x) \). Для классификаторов без оценки я представляю две версии точности классификатора, а также микро- и макро-средние оценки F1. Для оценки классификаторов я описываю подход «один против всех» для построения кривой зависимости точности от отзыва и обобщение AUC для нескольких классов.

Данные классификатора без оценки

Чтобы продемонстрировать показатели производительности для классификаторов без оценки в мультиклассовой настройке, давайте рассмотрим задачу классификации с \ (N = 100 \) наблюдениями и пятью классами с \ (G = \ {1, \ ldots, 5 \ } \):

  ref. Label <- c (rep ("A", 45), rep ("B", 10), rep ("C", 15), rep ("D", 25), rep ("E") , 5))
прогнозы <- c (rep ("A", 35), rep ("E", 5), rep ("D", 5),
                 rep («B», 9), rep («D», 1),
                 rep («C», 7), rep («B», 5), rep («C», 3),
                 rep («D», 23), rep («C», 2),
                 rep («E», 1), rep («A», 2), rep («B», 2))
df <- данные.{| G |} w_i \ sum_ {x: g (x) = k} I \ left (g (x) = \ hat {g} (x) \ right) \,. \] 

Чтобы взвесить все классы одинаково, мы можем установить \ (w_k = \ frac {1} {| G |} \ ,, \ forall k \ in \ {1, \ ldots, G \} \). Обратите внимание, что когда используется что-либо, кроме равномерных весов, трудно найти рациональный аргумент для определенной комбинации весов.

Точность расчета и взвешенная точность

Точность вычислить очень просто:

  calculate.accuracy <- функция (прогнозы, исх.label) {
    return (длина (которая (прогнозы == метки ссылки)) / длина (метки ссылки))
}
calculate.w.accuracy <- функция (прогнозы, ссылочные метки, веса) {
    lvls <- уровни (см. ярлыки)
    if (длина (веса)! = длина (lvls)) {
        stop («Количество весов должно соответствовать количеству классов.»)
    }
    if (сумма (веса)! = 1) {
        стоп («Вес не равен 1»)
    }
    accs <- lapply (lvls, function (x) {
        idx <- который (ref.labels == x)
        return (calculate.accuracy (прогнозы [idx], ref.ярлыки [idx]))
    })
    acc <- среднее (unlist (accs))
    возврат (соотв.)
}
acc <- calculate.accuracy (df $ Prediction, df $ Reference)
print (paste0 ("Точность:", round (acc, 2)))  
  ## [1] "Точность: 0,78"  
  веса <- rep (1 / длина (уровни (df $ Reference)), длина (уровни (df $ Reference)))
w.acc <- calculate.w.accuracy (df $ Prediction, df $ Reference, веса)
print (paste0 ("Взвешенная точность:", round (w.acc, 2)))  
  ## [1] «Взвешенная точность: 0.69 " 

Обратите внимание, что взвешенная точность с однородными весами ниже (0,69), чем общая точность (0,78), поскольку она дает равный вклад в прогностическую эффективность для пяти классов, независимо от количества их наблюдений.

Микро- и макро-средние оценки F1

Микро- и макро-средние представляют собой два способа интерпретации матриц неточности в мультиклассовых настройках. Здесь нам нужно вычислить матрицу путаницы для каждого класса \ (g_i \ in G = \ {1, \ ldots, K \} \), такого, что \ (i \) -я матрица путаницы учитывает класс \ (g_i \) как положительный класс и все другие классы \ (g_j \) с \ (j \ neq i \) как отрицательный класс.Поскольку каждая матрица путаницы объединяет все наблюдения, помеченные классом, отличным от \ (g_i \), как отрицательный класс, этот подход приводит к увеличению числа истинных отрицаний, особенно если классов много.

Чтобы проиллюстрировать, почему увеличение истинных негативов проблематично, представьте, что существует 10 классов по 10 наблюдений в каждом. Тогда матрица неточностей для одного из классов может иметь следующую структуру:

Класс 1 8 10
Другой класс 2 80

На основе этой матрицы специфичность будет \ (\ frac {80} {80 + 10} = 88.9 \% \), хотя класс 1 был правильно предсказан только в 8 из 18 случаев (точность 44,4%). Таким образом, поскольку преобладает отрицательный класс, специфика становится раздутой. Таким образом, средние микро- и макроуровни определены только для оценки F1, а не для сбалансированной точности, которая основана на истинном отрицательном значении.

Далее мы будем использовать \ (TP_i \), \ (FP_i \) и \ (FN_i \), чтобы соответственно указать истинное значение. положительные, ложные срабатывания и ложноотрицательные результаты в матрице путаницы, связанной с \ (i \) -м классом.{| G |} TP_i + FN_i} \ end {выровнять *} \]

Микро-усредненная точность, \ (P _ {\ rm {micro}} \), и отзыв, \ (R _ {\ rm {micro}} \), приводят к микро-баллу F1:

\ [F1 _ {\ rm {micro}} = 2 \ frac {P _ {\ rm {micro}} \ cdot R _ {\ rm {micro}}} {P _ {\ rm {micro}} + R _ {\ rm { micro}}} \]

Если классификатор получает большой \ (F1 _ {\ rm {micro}} \), это означает, что в целом он работает хорошо. Микро-среднее значение не зависит от прогнозируемых показателей для отдельных классов. Как следствие, микро-среднее значение может особенно вводить в заблуждение, когда распределение по классам несбалансировано.{| G |} R_i} {| G |} \ end {выровнять *} \]

Макро-усредненная точность и отзыв дают макро-оценку F1:

\ [F1 _ {\ rm {macro}} = 2 \ frac {P _ {\ rm {macro}} \ cdot R _ {\ rm {macro}}} {P _ {\ rm {macro}} + R _ {\ rm { макрос}}} \]

Если \ (F1 _ {\ rm {macro}} \) имеет большое значение, это означает, что классификатор хорошо работает для каждого отдельного класса. Таким образом, макросреднее значение больше подходит для данных с несбалансированным распределением классов.

Вычисление средних микро- и макроуровней в

рэндов

Здесь я демонстрирую, как в R.

Матрицы путаницы "один против всех"

Первый шаг для нахождения микро- и макро-средних значений включает в себя вычисление матриц неточности «один против всех» для каждого класса. Мы будем использовать функцию confusionMatrix из пакета caret , чтобы определить матрицы путаницы:

  библиотека (курсор) # для функции confusionMatrix
cm <- vector ("список", длина (уровни (df $ Reference)))
for (i in seq_along (cm)) {
    Positive.class <- уровни (df $ Reference) [i]
    # в i-й итерации использовать i-й класс как положительный класс
    cm [[i]] <- confusionMatrix (df $ Prediction, df $ Reference,
                               положительный = положительный.класс)
}  

Теперь, когда все матрицы путаницы для конкретных классов хранятся в см , мы можем суммировать производительность по всем классам:

  метрики <- c («Точность», «Отзыв»)
print (cm [[1]] $ byClass [, metrics])  
  ## Прецизионный вызов
## Класс: A 0,9459459 0,7777778
## Класс: B 0,5625000 0,

00 ## Класс: C 0,8333333 0,6666667 ## Класс: D 0,7931034 0,9200000 ## Класс: E 0.1666667 0.2000000

Эти данные показывают, что в целом производительность достаточно высока.Однако наш гипотетический классификатор работает хуже для отдельных классов, таких как класс B (точность) и класс E (как точность, так и отзыв). Теперь мы исследуем, как прогнозы модели влияют на микро- и макро-средние оценки F1.

Общая производительность с микро-усреднением F1

Чтобы определить \ (F1 _ {\ rm {micro}} \), нам нужно определить \ (TP_i \), \ (FP_i \) и \ (FN_i \) \ (\ forall i \ in \ {1, \ ldots, K \} \). Это выполняется функцией get.conf.stats .Затем функция get.micro.f1 просто агрегирует счетчики и вычисляет F1-оценку, как определено выше.

  get.conf.stats <- function (cm) {
    out <- vector («список», длина (см))
    for (i in seq_along (cm)) {
        x <- cm [[i]]
        tp <- x $ table [x $ положительный, x $ положительный]
        fp <- sum (x $ table [x $ положительный, colnames (x $ table)! = x $ положительный])
        fn <- sum (x $ table [colnames (x $ table)! = x $ positie, x $ positive])
        # TN недостаточно четко определены для подхода "один против всех"
        elem <- c (tp = tp, fp = fp, fn = fn)
        out [[i]] <- elem
    }
    df <- делать.вызов (rbind, out)
    rownames (df) <- unlist (lapply (cm, function (x) x $ positive))
    возврат (as.data.frame (df))
}
get.micro.f1 <- function (cm) {
    cm.summary <- get.conf.stats (см)
    tp <- сумма (cm.summary $ tp)
    fn <- сумма (cm.summary $ fn)
    fp <- sum (cm.summary $ fp)
    пр <- tp / (tp + fp)
    re <- tp / (tp + fn)
    f1 <- 2 * ((пр * ре) / (пр + ре))
    возврат (f1)
}
micro.f1 <- get.micro.f1 (см)
print (paste0 ("Micro F1 is:", round (micro.f1, 2)))  
  ## [1] «Micro F1: 0.88 " 

При значении 0,88 значение \ (F_1 {\ rm {micro}} \) довольно велико, что указывает на хорошую общую производительность. Как и ожидалось, микро-усредненная F1 не учитывала, что классификатор имеет низкую производительность для класса E, потому что всего 5 измерений в этом классе влияют на \ (F_1 {\ rm {micro}} \).

Характеристики в зависимости от класса с макро-усредненным значением F1

Поскольку каждая матрица путаницы в см уже хранит эффективность прогнозирования один против всех, нам просто нужно извлечь эти значения из одной из матриц и вычислить \ (F1 _ {\ rm {macro}} \), как определено выше:

  получить.macro.f1 <- function (cm) {
    c <- cm [[1]] $ byClass # достаточно одной матрицы
    re <- sum (c [, "Отзыв"]) / nrow (c)
    pr <- sum (c [, "Точность"]) / nrow (c)
    f1 <- 2 * ((re * pr) / (re + pr))
    возврат (f1)
}
macro.f1 <- get.macro.f1 (см)
print (paste0 ("Macro F1 is:", round (macro.f1, 2)))  
  ## [1] «Макрос F1: 0,68»  

При значении 0,68 \ (F _ {\ rm {macro}} \) явно меньше микро-усредненного F1 ( 0.88 ). Поскольку классификатор для класса E работает плохо (точность: 16,7%, отзыв: 20%) и вносит вклад в \ (\ frac {1} {5} \) в \ (F _ {\ rm {macro}} \), он ниже чем \ (F1 _ {\ rm {micro}} \).

Обратите внимание, что для текущего набора данных микро- и макро-усредненные F1 имеют такое же отношение друг к другу, как общая (0,78) и взвешенная точность (0,69).

Кривые прецизионного отзыва и AUC

Площадь под кривой ROC (AUC) - полезный инструмент для оценки качества разделения классов для мягких классификаторов.В мультиклассовой настройке мы можем визуализировать производительность мультиклассовых моделей в соответствии с их кривыми точности-отзыва один против всех. AUC также может быть обобщен для настройки нескольких классов.

Кривые прецизионного возврата `` один против всех ''

Как обсуждалось в этой ветке Stack Exchange, мы можем визуализировать производительность мультиклассовой модели, построив график производительности двоичных классификаторов \ (K \).

Этот подход основан на подборе классификаторов \ (K \) один против всех, где в \ (i \) - й итерации группа \ (g_i \) устанавливается как положительный класс, а все классы \ (g_j \ ) с \ (j \ neq i \) считаются отрицательным классом.Обратите внимание, что этот метод не следует использовать для построения обычных кривых ROC (TPR против FPR), поскольку FPR будет недооценен из-за большого количества отрицательных примеров, полученных в результате дихотимизации. Вместо этого следует учитывать точность и отзыв:

 Библиотека  (ROCR) # для кривых ROC
library (klaR) # для NaiveBayes
data (iris) # Переменная видов дает классы
response <- iris $ Виды
set.seed (12345)
train.idx <- образец (seq_len (nrow (радужная оболочка)), 0.6 * nrow (радужная оболочка))
iris.train <- iris [поезд.idx,]
iris.test <- iris [-train.idx,]
график (x = NA, y = NA, xlim = c (0,1), ylim = c (0,1),
     ylab = "Точность",
     xlab = "Отзыв",
     bty = 'п')
цвета <- c ("красный", "синий", "зеленый")
aucs <- rep (NA, length (levels (response))) # сохранить AUC
for (i in seq_along (levels (response))) {
  cur.class <- уровни (ответ) [i]
  binary.labels <- as.factor (iris.train $ Species == cur.class)
  # преобразовать в двоичную форму используемый вами классификатор (NB - произвольно)
  модель <- NaiveBayes (binary.labels ~., data = iris.train [, -5])
  pred <- предсказать (модель, радужная оболочка.test [, - 5], type = 'raw')
  score <- pred $ posterior [, 'TRUE'] # posterior для положительного класса
  test.labels <- iris.test $ Species == cur.class
  pred <- предсказание (оценка, test.labels)
  perf <- производительность (пред., "пред", "прил.")
  roc.x <- исключить из списка ([email protected])
  roc.y <- исключить из списка ([email protected])
  линии (roc.y ~ roc.x, col = colors [i], lwd = 2)
  # store AUC
  auc <- производительность (пред., "auc")
  auc <- unlist (slot (auc, "y.values"))
  aucs [i] <- auc
}
линии (x = c (0,1), c (0,1))
легенда ("внизу справа", уровни (отклик), lty = 1,
    bty = "n", col = colors)  

  print (paste0 («Среднее значение AUC под кривой точности-отзыва составляет:», круглое (среднее (aucs), 2)))  
  ## [1] «Средняя AUC под кривой точного отзыва составляет: 0.99 " 

График показывает, что setosa можно предсказать очень хорошо, а versicolor и virginica предсказать сложнее. Среднее значение AUC 0,99 указывает на то, что модель очень хорошо разделяет три класса.

Обобщения AUC для мультиклассовой установки

Существует несколько обобщений AUC для настройки нескольких классов. Здесь я сосредоточусь на обобщении, сделанном Хэнд и Тиллем в 2001 году.

Обобщенная AUC для одного значения решения

Функцию multiclass.roc из пакета pROC можно использовать для определения AUC, когда одна величина позволяет разделить классы. В отличие от документации функции, функция, похоже, не реализует подход от Hand и Till. потому что предсказания класса не учитываются. Однако документация предупреждает, что эта функция находится на стадии бета-тестирования .В настоящее время я жду ответа от авторов пакета о функции multiclass.roc , чтобы проверить правильность моего понимания.

  библиотека (pROC)
данные (aSAH)
auc <- multiclass.roc (aSAH $ gos6, aSAH $ s100b)
print (auc $ auc)  
  ## Мультиклассовая площадь под кривой: 0,654  

Вычисленная AUC функции - это просто средняя AUC из всех попарных сравнений классов.

Обобщение AUC вручную и до

Ниже описывается обобщение AUC от Hand and Till, 2001.

Предположим, что классы обозначены как \ (0, 1, 2, \ ldots, c - 1 \) с \ (c> 2 \). Чтобы обобщить AUC, мы рассматриваем пары классов \ ((i, j) \). Хороший классификатор должен назначать высокую вероятность правильному классу, а низкую вероятность - другим классам. Это можно формализовать следующим образом.

Пусть \ (\ hat {A} (i | j) \) указывает вероятность того, что случайно выбранный член класса \ (j \) имеет меньшую вероятность для класса \ (i \), чем случайно выбранный член класса \ (я\).Пусть \ (\ hat {A} (j | i) \) определено соответственно. Мы можем вычислить \ (\ hat {A} (i | j) \), используя следующие определения:

  • \ (\ hat {p} (x_l) \) - это оценочная вероятность того, что наблюдение \ (x_l \) происходит из класса \ (i \).
  • Для всех наблюдений класса \ (i \) \ (x_l \) пусть \ (f_l = \ hat {p} (x_l) \) будет оцененной вероятностью принадлежности к классу \ (i \).
  • Для всех наблюдений класса \ (j \) \ (x_l \) пусть \ (g_l = \ hat {p} (x_l) \) будет оценочной вероятностью принадлежности к классу \ (i \).{n_i} l = S_i - n_i (n_i +1) / 2 \]

    , где \ (S_i \) - сумма рангов из образцов класса \ (i \). Поскольку существует \ (n_0 n_1 \) пар точек из двух классов, вероятность того, что случайно выбранная точка класса \ (j \) имеет более низкую оценочную вероятность принадлежности к классу \ (i \), чем случайно выбранный класс \ ( i \) балл:

    \ [\ hat {A} (i | j) = \ frac {S_i - n_i (n_i +1) / 2} {n_i n_j} \ ,. \]

    Поскольку мы не можем отличить \ (\ hat {A} (i | j) \) от \ (\ hat {A} (j | i) \), мы определяем

    \ [\ hat {A} (i, j) = \ frac {1} {2} \ left (\ hat {A} (i | j) + \ hat {A} (j | i) \ right) \ ]

    как мера отделимости классов \ (i \) и \ (j \).Общий AUC мультиклассового классификатора затем определяется средним значением для \ (\ hat {A} (i, j) \):

    \ [M = \ frac {2} {c (c-1)} \ sum_ {i

    Здесь множитель равен \ (\ frac {2} {c (c-1)} \), потому что существуют \ (c (c-1) \) способы построения различных пар с учетом различного порядка. Поскольку вычисляется только половина этих пар, счетчик имеет значение 2.

    Пример вычисления условных вероятностей

    Рассмотрите следующую диаграмму в качестве примера того, как вычисляются условные вероятности.

    Реализация обобщения AUC от Hand and Till

    Похоже, что не существует общедоступной реализации мультиклассового обобщения AUC из-за Hand and Till (2001). Таким образом, я написал реализацию. Функция compute.A.conditional определяет \ (\ hat {A} (i | j) \). Функция multiclass.auc вычисляет \ (\ hat {A} (i, j) \) для всех пар классов с \ (i pair_AUCs указывает значения для \ (A (i, j) \).

      compute.A.conditional <- function (pred.matrix, i, j, ref.outcome) {
        # вычисляет A (i | j), вероятность того, что случайным образом
        # выбранный член класса j имеет более низкую оценочную вероятность (или оценку)
        # принадлежность к классу i, чем случайно выбранный член класса i
    
        # выберите прогнозы учеников
        i.idx <- который (ref.outcome == i)
        j.idx <- который (ref.outcome == j)
        pred.i <- pred.matrix [i.idx, i] # p (G = i) присвоено наблюдениям класса i
        pred.j <- pred.matrix [j.idx, i] # p (G = i) присвоено наблюдениям класса j
        all.preds <- c (пред.i, пред.j)
        классы <- c (rep (i, length (pred.i)), rep (j, length (pred.j)))
        o <- порядок (all.preds)
        classes.o <- классы [o]
        # Si: сумма рангов по наблюдениям класса i
        Si <- сумма (которая (classes.o == i))
        ni <- длина (i.idx)
        nj <- длина (j.idx)
        # вычислить A (i | j)
        А <- (Si - ((ni * (ni + 1)) / 2)) / (ni * nj)
        возврат (A)
    }
    
    multiclass.auc <- функция (предварительная матрица, исходный результат) {
        метки <- имена столбцов (пред. матрица)
        A.ij.cond <- utils :: combn (labels, 2, function (x, pred.matrix, ref.outcome) {x
            я <- х [1]
            j <- x [2]
            A.ij <- compute.A.conditional (предварительная матрица, i, j, исходный результат)
            A.ji <- compute.A.conditional (пред. Матрица, j, i, исх. Результат)
            пара <- paste0 (i, "/", j)
            возврат (c (A.ij, A.ji))
        }, simpleify = FALSE, pred.matrix = pred.matrix, ref.outcome = ref.outcome)
        c <- длина (метки)
        пары <- unlist (lapply (combn (labels, 2, simpleify = FALSE), function (x) paste (x, collapse = "/")))
        A.mean <- unlist (lapply (A.ij. second, mean))
        имена (A.mean) <- пары
        A.ij.joint <- sum (unlist (A.mean))
        M <- 2 / (c * (c-1)) * A.ij.joint
        attr (M, "пара_AUCs") <- A.mean
        возврат (M)
    }
    модель <- NaiveBayes (iris.train $ Species ~., data = iris.train [, -5])
    pred <- предсказать (модель, радужная оболочка.test [, - 5], type = 'raw')
    pred.matrix <- pred $ posterior
    ref.outcome <- iris.test $ Виды
    M <- multiclass.auc (предварительная матрица, исх. Результат)
    print (paste0 ("Обобщенная AUC равна:", round (as.numeric (M), 3)))  
      ## [1] «Обобщенная AUC: 0,991»  
      print (attr (M, "pair_AUCs")) # попарно AUC  
      ## setosa / versicolor setosa / virginica versicolor / virginica
    ## 1.00000 1.00000 0.97254  

    Используя этот подход, обобщенная AUC равна 0.988, что на удивление похоже на среднее значение из кривых точного отзыва бинарных классификаторов «один против всех». Интерпретация полученных попарных AUC также аналогична. В то время как AUC для разделения setosa / versicolor и setosa / virginica оба равны 1, AUC для versicolor / virginica немного меньше, что согласуется с нашими предыдущими выводами о наблюдениях от versicolor и virginica сложнее точно предсказать.

    Сводка

    Для мультиклассовых задач доступны меры, аналогичные бинарной классификации.

    • Для жестких классификаторов вы можете использовать (взвешенную) точность, а также микро- или макро-усредненный результат F1.
    • Для мягких классификаторов вы можете определить кривые прецизионного отзыва один против всех или использовать обобщение AUC из Hand и Till.

    Выходя за рамки точности прогнозирования классов

    Abstract

    Точность прогнозирования классов обеспечивает быстрый, но поверхностный способ определения производительности классификатора.Он не сообщает о воспроизводимости результатов или о том, являются ли выбранные или сконструированные использованные функции значимыми и конкретными. Кроме того, точность предсказания класса дает чрезмерное обобщение и не дает информации о том, как были выполнены обучение и обучение: два классификатора, обеспечивающие одинаковую производительность при одной проверке, могут не совпадать во многих будущих проверках. Он не обеспечивает объяснимости в процессе принятия решений и не является объективным, так как его ценность также зависит от пропорций классов в наборе проверки.Несмотря на эти проблемы, это не означает, что мы не должны упускать из виду точность предсказания класса. Вместо этого его необходимо обогатить сопроводительными доказательствами и тестами, которые дополняют и контекстуализируют сообщаемую точность. Эти дополнительные свидетельства служат дополнением и могут помочь нам лучше выполнять машинное обучение, избегая при этом наивной зависимости от чрезмерно упрощенных показателей.

    Ключевые слова: машинное обучение, наука о данных, проверка, искусственный интеллект

    Основной текст

    Введение: классификация и точность прогнозирования классов

    Классификация, общая задача в машинном обучении, представляет собой процесс прогнозирования идентичности новый образец с использованием обученного машинного обучения.Образец идентичности называется меткой класса, например, в сценарии, где мы обучаем алгоритм машинного обучения различать пол, «мужской» и «женский» - это метки класса, которые прикрепляются к каждому человеку. Обученный машинный обучающийся, изучивший правила принятия решений на основе обучающих данных, называется классификатором. Классификация также называется «предсказанием класса».

    Прежде чем его можно будет использовать для прогнозирования, машинное обучение должно быть обучено с данными. Эти данные известны как обучающие данные (или обучающий набор).Метки классов, связанные с образцами в обучающем наборе, известны. Цель состоит в том, чтобы определить правила и наборы функций, которые позволяют дифференцировать различные метки классов. Например, если цель состоит в том, чтобы предсказать биологический пол, метки класса могут быть «Мужской» и «Женский», а набор функций, который представляет собой набор информативных переменных, может состоять из количественных измерений, таких как «рост», «вес». , »И« длина волос », а также качественные наблюдения, такие как« наличие волос на лице ». Если образцы, правила и набор функций информативны, прогнозы классификатора для новых образцов часто, если не всегда, должны быть правильными.

    Набор новых выборок, предназначенный для оценки предсказания, известен как тестовые данные. В тестовых данных метки классов известны, но не передаются классификатору. Вместо этого классификатор делает «предположение», основываясь на «предыдущем опыте». Результатов может быть только два: правильный или неправильный. Сумма правильных предположений по всем предположениям и есть точность предсказания класса.

    Точность предсказания класса дает представление об эффективности обучения: если классификатор хорошо обучился, ожидается, что точность предсказания класса будет высокой.Однако точность предсказания класса не влияет на качество обучения. Как и у людей, высокие результаты экзаменов не обязательно означают, что учащиеся действительно понимают предмет; то же самое можно сказать и о машинном обучении. Точность предсказания класса не информирует о механизме и процессах, предпринятых для достижения предсказания, и, таким образом, предлагает ограниченную объяснимость.

    Продолжая аналогию со сдачей экзамена, предположим, что два человека, pA и pB, готовились к экзамену, но различались по стилю обучения: pA выучила путем критической оценки учений в рамках имеющихся у нее знаний, а pB просто запомнила.Оба набрали 99% на тесте; таким образом, мы не можем использовать оценки, чтобы сообщить, что А учился лучше. Предположим также, что у нас есть два машинного обучения mX и mY, оба из которых были обучены на одном и том же наборе данных и продемонстрировали точность предсказания класса 99% во время проверки. Это также не означает, что mX и mY учились одинаково. Фактически, при вызове будущих наборов данных и mX, и mY могут демонстрировать совершенно разную точность предсказания классов, предполагая, что они не извлекли уроки из данных одинаковым образом.1 Как и в случае с человеческими учениками, когда мы оцениваем ценность и глубину машинного обучения с использованием сильно редукционистской метрики, мы рискуем чрезмерным упрощением, и это чрезмерное упрощение не сообщает нам о механизме или применимости классификатора в реальных сценариях. Чтобы понять последствия чрезмерного упрощения, здесь мы рассмотрим шесть проблем, связанных с точностью предсказания классов, а также предложим некоторые средства (или дополнительные тесты), чтобы помочь аналитикам лучше понять модели машинного обучения.

    Проблема 1: Высокая точность не означает воспроизводимости

    Примите во внимание. Для получения пяти различных функций использовались пять различных статистических подходов (t-тест одного белка [SP], тест гипергеометрического обогащения [HE], тестирование подсети [SNET], тестирование нечеткой подсети [FSNET] и тестирование парных нечетких подсетей [PFSNET]). наборы для обучения наивному байесовскому методу машинного обучения, чтобы отличить нормальную ткань от ткани рака почки. Полная информация о различиях статистических методов не имеет значения (но может быть доступна в Goh и Wong2).Можно отметить, что, хотя наборы функций имеют разный размер для разных методов, все они обеспечивают относительно высокую точность перекрестной проверки (это среднее значение точности предсказания класса на основе N-кратного подхода перекрестной проверки4, 4, 5).

    Таблица 1

    Количество выбранных функций и соответствующая точность перекрестной проверки пяти статистических подходов, используемых и обсуждаемых в этой статье

    4

    Метод Кол-во функций CV Точность
    SP 2,662 1.00
    HE570 0,75
    SNET 130 0,98
    FSNET 141 1,00
    PFSNET 200 908 На первый взгляд может показаться, что когда точность предсказания класса на основе перекрестной проверки N (точность CV;) высока, классификаторы работают хорошо. Однако большой разброс в количестве сообщаемых функций должен заставить нас задуматься, поскольку каждый метод говорит разные вещи о том, какие функции важны.Оказывается, высокая точность CV ничего не говорит о стабильности набора функций (). Почему это важно? Получение качественного набора функций имеет решающее значение для разработки надежной модели, основанной на очень релевантных переменных. Хотя каждый из пяти статистических методов дает хорошую точность CV, сам по себе этот показатель ничего не говорит нам о качестве набора функций. Он только сообщает, что эти наборы функций можно использовать для прогнозирования меток классов.

    Согласованность наборов характеристик, выбранных из разных выборок из одной и той же популяции, намного хуже для методов, которые не используют или не используют «неправильные» знания предметной области

    Цвета обозначают разные статистические подходы.Для каждого подхода повторная выборка начальной загрузки выполняется 1000 раз для трех размеров выборки (4, 6 и 8). Каждая передискретизация сравнивается друг с другом, и их сходство обозначается коэффициентом Жаккара (ось y ). Некоторые методы демонстрируют высокую степень согласованности (например, PFSNET), в то время как в других степень согласованности сильно колеблется (например, HE).

    Чтобы узнать, генерирует ли статистический метод или метод машинного обучения качественный набор функций (который, в свою очередь, предполагает, что он использует «правильные» знания предметной области), комбинация начальной загрузки с коэффициентом Жаккара имеет вид полезный ().Бутстрап - это процедура случайной выборки, которая позволяет нам многократно повторять выборку наших данных с заданными n . При каждой повторной выборке i мы применяем статистический тест, а затем определяем его набор функций i . Мы можем сравнить все попарные передискретизации, используя коэффициент Жаккара. Учитывая наборы функций двух преобразований i и j , коэффициент Жаккара J представляет собой пересечение наборов функций i и j , разделенное на объединение наборов функций i и j . J связан между 0 и 1, где 0 означает полное несходство, а 1 означает полное сходство. Распределение J , сосредоточенное около 1, является показателем воспроизводимости, то есть тенденции к получению аналогичных наборов функций (и, надеюсь, последующих прогнозов) при анализе. Поскольку сравнения выполняются попарно, при 1000 повторных попытках генерируются (1000 × 999) / 2 коэффициента Жаккара.

    Графические визуализации полезны для суммирования распределения J , особенно когда их много.Можно использовать скрипичные сюжеты со встроенными коробчатыми сюжетами (). Ящичковая диаграмма легко передает информацию о медиане, межквартильном размахе, первом и 99-м процентилях. Волны «скрипки», которая на самом деле является симметричной версией графика плотности, передает информацию о потенциальных субпопуляциях. (Если наблюдается двойная выпуклость, это предполагает наличие двух основных популяций. Медиана прямоугольной диаграммы не отражает этого.)

    Нет непосредственной связи между размером набора функций и стабильностью набора функций (и).Мы можем видеть, что даже для методов, которые обеспечивают одинаковую точность CV (и FSNET, и PFSNET имеют точность CV, равную 1,00), они демонстрируют разную стабильность набора функций.

    И наоборот, если статистический метод предоставляет аналогичные наборы функций последовательно во время начальной загрузки и связан с общей приличной точностью CV, можно иметь более высокую уверенность в том, что статистический метод является хорошим. Вдобавок, когда набор функций стабилен и обеспечивает хорошую точность CV, вполне вероятно, что это также обеспечит более надежную и универсальную производительность в будущем.

    Проблема 2: высокая точность не означает значимости

    В задаче 1 мы утверждаем, что общий более высокий коэффициент Жаккара свидетельствует о стабильности набора функций и, следовательно, воспроизводимости. С другой стороны, значимость определяется релевантностью каждой характеристики, то есть тем, как она вносит непосредственный вклад в классовую дифференциацию, а не просто «коррелирует». Это можно оценить по «распределению повторяемости» отдельных признаков. (Идентичность всех характеристик известна.То, что измеряется, - это количество раз, когда каждая функция сообщается как значимая для каждой начальной загрузки.) Чтобы получить это, можно комбинировать бутстрап с гистограммой (), где ось y представляет собой частотный счет переменных, а ось Ось x представляет собой пропорцию от 0 до 1, где пик около 0 означает, что значительное большинство переменных наблюдается только один раз или редко при всех повторных выборках бутстрапов. И наоборот, пик на 1 означает, что значительное большинство переменных повторяется. Помимо анализа наличия или отсутствия пика на 1.0 по оси x (), мы можем сделать вывод о высококачественном наборе функций, используя только переменные, которые повторяются 100% времени.

    Распределения повторяемости при различных методах выбора признаков

    Ось y соответствует количеству частот переменных, а ось x представляет собой пропорцию от 0 до 1, где пик около 0 означает, что сильное большинство переменных наблюдаются только один раз или редко при всех повторных попытках начальной загрузки.

    По сравнению с, видно, что, хотя SP имеет высокую точность CV, это не приводит к хорошему распределению повторяемости.Хорошая пропорция функций редко наблюдается при повторной выборке, и даже с увеличением размера выборки левый пик остается постоянным. Это контрастирует с такими подходами, как PFSNET, который показывает положительный эффект за счет увеличения размера выборки с его пиком справа (частота повторения 100%). Если статистический метод или метод машинного обучения использует правильную интуицию или правильную информацию о предметной области, повторяемость должна быть высокой.

    В другом примере, где мы можем использовать аналогичную концепцию повторения и значимости, высококачественный набор функций был получен путем пересечения наиболее эффективных опубликованных сигнатур рака груди.2 , 6, 7, 8 Это похоже на использование распределения рецидивов, за исключением того, что мы сами не выполняли загрузку (мы просто рассматривали каждую опубликованную сигнатуру рака как независимую выборку основной популяции и обрабатывали эти гены которые часто встречаются как «высокая повторяемость»). Установлено, что этот набор функций, основанный на высокой частоте рецидивов, Super-Proliferation Set, является высокопрогнозирующим средством для агрессивного рака молочной железы, а также хорошо поддается обобщению, даже при тестировании на семи раундах независимой проверки.7 , 8

    Опять же, по сравнению с, более высокая точность CV не означает высокого распределения повторяемости. SP имеет точность CV 1,00, но распределение повторяемости предполагает, что многие из функций не повторяются. Если SP все равно используется в качестве метода выбора характеристик, можно по-прежнему выделить высококачественный набор функций, просто рассматривая только те переменные, которые приводят к правильному пику (около значения 1,00 по оси x ;). Этот более качественный набор функций при использовании для обучения классификатора обеспечит хорошую точность CV, но также, вероятно, будет более универсальным в реальных приложениях, поскольку он часто обнаруживается, несмотря на множество различных раундов передискретизации.

    Проблема 3: Высокая точность не означает, что используемые функции лучше, чем случайные

    Статистика переживает кризис имиджа: из-за атак на нестабильность значения p9, 10, 11, 12, 13 и общей невоспроизводимости дорогостоящих громких исследований13 на бессмысленные предложения, такие как дальнейшее сокращение статистических отсечений с общепринятых 0,05 до 0,005, 12 бесконечные споры о том, является ли доверительный интервал более интуитивной альтернативой значению p, 14 и даже полная отмена проверка статистической значимости, в которой нечего предложить взамен.15 Помимо общих недостатков статистических инструментов, мы также знаем, что скрытые искажающие факторы из-за пакетных эффектов и скрытых субпопуляций16 могут вызывать ложные ассоциации.17 Подразумевается, что эти проблемы проникают в машинное обучение, создавая вводящие в заблуждение правила принятия решений или уменьшая информационную ценность набор функций.

    В 2011 году Venet et al. сообщили, что опубликованные сигнатуры рака молочной железы не дают лучшего прогноза, чем случайно сгенерированные сигнатуры или нерелевантные сигнатуры.6 Хотя формально они не использовали какие-либо методы машинного обучения (вместо этого полагались на значение p, обеспечиваемое коэффициентом риска Кокса), уроки, тем не менее, применимы к машинному обучению. Для каждой подписи они сравнили производительность (на основе значимости значения p с фенотипами) опубликованной подписи с распределением случайно сгенерированных подписей (которые, очевидно, не имеют клинического значения) того же размера, что и опубликованная подпись. при этом было показано, что многие зарегистрированные подписи уступают половине случайно сгенерированных подписей.6 Позже мы пояснили, что этот эффект зависит от размера опубликованной сигнатуры, а также от доли генов пролиферации, связанных с ростом.8 Мы также продемонстрировали, что действительно значимую сигнатуру невозможно превзойти с помощью случайно сгенерированных сигнатур7. потому что это означает, что качество информации о наборе функций может быть определено путем сравнения не по его прямой корреляции с метками классов, а со случайно сгенерированными версиями самого себя. Само по себе это не требует нового теста; скорее, достаточно использовать критерий перестановки Фишера (также известный как критерий рандомизации).18

    Мы применили идею сравнения производительности набора функций в машинном обучении с рандомизированными вариантами самого себя. Значение CV p представляет собой долю того, сколько раз случайный набор признаков превосходит предполагаемый набор признаков во всех испытаниях рандомизации (). Например, значение CV p 0,01 означает, что из 1000 испытаний 10 случайно сгенерированных наборов характеристик обучили классификатор, который обеспечил точность CV, равную или превышающую точность CV фактического набора характеристик.

    Таблица 2

    Классификаторы, обученные на наборах признаков, выбранных статистическими подходами

    91
    Метод Кол-во функций Точность CV CV p-значение
    SP 1,124 0,91
    HE 162 0,98 0,91
    SNET 21 0,84 0,06
    FSNET 36 0.96 0,06
    PFSNET 65 0,92 0,06

    Учитывая пять различных методов выбора статистических признаков, высокая точность CV не означает значимых значений CV p. Это может быть связано с проблемами смешения, 17 , 19 , 20 низкой информативностью функций, 2 чистой случайностью в том, что иногда также называют проклятием победителя, 9 , 21 или высокой долей классового эффекта , посредством чего большинство оцениваемых функций соотносятся с метками классов, так что статистически не имеет значения, какой из них выбран.22

    Поскольку точность предсказания класса, выведенная из точности CV, не означает, что рандомизированные наборы функций не будут работать так же хорошо, тест рандомизации полезен для предоставления этой информации. Интересно, что значение CV p само по себе также является полезным индикатором статистической значимости, благодаря чему мы уверены, что случайные наборы функций не превосходят фактический набор функций (значение CV p фактически эквивалентно эмпирически полученному значению p). Поэтому мы заявляем, что высокая точность не предполагает значимости.

    Проблема 4: Одна и та же точность не означает, что классификаторы учились одинаково

    До сих пор мы видели, что точность предсказания класса не подразумевает воспроизводимости, осмысленности или значимости. Но что, если у нас есть два классификатора, обученных на одних и тех же данных и сообщающих с одинаковой высокой точностью предсказания класса на одних и тех же тестовых данных?

    Оказывается, два классификатора, сообщающие об одинаковой точности на определенном наборе тестов, могут сильно не совпадать в будущих наборах тестов.1 В одном примере две модели, сообщающие о 90% точности на тестовом наборе, могут расходиться примерно в 80% будущих случаев (Б. Теодора, личное сообщение). Это означает, что два классификатора с одинаковой точностью не означают, что они учились одинаково.

    Итак, что здесь происходит? Точность предсказания класса - это в высшей степени редукционистская мера, поэтому она не дает никакой информации о правилах принятия решений или механизме обучения. Это интуитивно понятно, если мы просто подумаем о состоянии человека: от двух учеников, получивших одинаковую оценку на экзамене, не следует ожидать, что они будут одинаково работать на всех будущих экзаменах.

    Однако, если эти два человека будут дополнительно исследованы и исследованы, чтобы убедиться, что они использовали одинаковые методы обучения и приняли аналогичные механизмы для понимания предмета, вероятно, что на будущих экзаменах их результаты также будут неизменно одинаковыми. Другими словами, вместо того, чтобы просто полагаться на единичную меру, лучше попытаться понять механизмы, которые привели к результату. В самом деле, даже если используются аналогичные механизмы понимания, это также не гарантирует, что каждый раз будет сообщаться одна и та же точность предсказания класса.В конце концов, проклятие победителя может ударить в любой момент.9

    Интересно, что проблема расхождения в производительности довольно легко разрешима. Во-первых, мы не должны предполагать, что производительность двух классификаторов можно легко измерить на одном тестовом наборе данных. К сожалению, это ограничение единственной независимой валидации. Поскольку расхождение в производительности будет наблюдаться в будущих тестовых примерах, именно распределение нескольких тестовых примеров может быть полезно для информирования об обучении классификатора.Мы можем утверждать, что хорошо усвоенный классификатор - это классификатор, который повсеместно или последовательно сообщает о высокой точности при неоднократных вызовах будущих тестовых примеров.7

    Проблема 5: Высокая точность не сопровождается объяснением

    Внутренние процессы обучения многих машинных систем. модели обучения и искусственного интеллекта (ИИ) - это «черные ящики». Более простые модели машинного обучения пытаются сформулировать правила на основе входных переменных, в то время как более сложные модели, например нейронные сети, могут пытаться построить функции более высокого уровня из более основных входных функций.Эти высокоуровневые функции дополнительно агрегируются на разных уровнях обучения, прежде чем окончательный прогноз будет усвоен на последнем уровне.

    Многие алгоритмы машинного обучения не позволяют исследовать уровень принятия решений, однако именно надежность и качество функций, используемых моделью прогнозирования, имеют решающее значение для понимания модели и оценки ее надежности. Если сами функции и взаимодействие между ними имеют смысл, весьма вероятно, что классификатор хорошо справится с любым проверочным тестом.В противном случае мы можем подозревать, что что-то не так с данными проверки.

    Пока что проявления воспроизводимости, значимости, значимости и расхождения являются симптоматическими заместителями объяснимости. Однако получение информации об объяснимости от классификаторов не может быть легко достигнуто, если модель не позволяет проверять ее уровни принятия решений.

    Поэтому, пока такие модели не появятся, мы предлагаем временные решения. В России мы видим, что такие методы, как PFSNET, хорошо работают с точки зрения воспроизводимости, значимости и значимости, в то время как другие подходы, такие как SP, дают сбой, несмотря на то, что оба подхода работают одинаково по точности.Итак, в чем разница? Разница заключается в информативности переменных. SP использует информацию от отдельных белков, в то время как PFSNET рассматривает информацию об уровне белковых комплексов. В биологии белки организованы в более высокие функциональные единицы, известные как белковые комплексы, где существует множество полезных информационных ограничений: члены участвуют в одном и том же процессе; если члены отсутствуют, комплекс не может образоваться; и члены одного и того же комплекса автокоррелированы. Другими словами, белковый комплекс - это естественная особенность высшего порядка, на которую можно смотреть без помощи машинного обучения.Мы называем процесс преобразования набора функций более низкого порядка в функции более высокого порядка «контекстуализацией».

    Так почему же помогает контекстуализация? Во-первых, рассмотрение автокоррелированных структур, члены которых должны участвовать в общем процессе, помогает снизить вероятность ложных срабатываний, просачивающихся в набор функций. Предположим, что базовая частота ложных обнаружений составляет 25%. Это означает, что в данном наборе функций мы ожидаем, что четверть из них будут ложноположительными. Тем не менее, мы можем уменьшить эту вероятность признания ложных срабатываний, рассматривая конструкции более высокого уровня.Предположим, что существует комплекс C, состоящий из членов a, b, c, d и e. Мы можем выразить вероятность существования комплекса как функцию наблюдаемых компонентов. Если только a, b, c и d указаны как присутствующие (с учетом 25% ложного обнаружения), тогда мы можем сказать, что вероятность наличия C составляет 4/5 × (1 - 0,25) = 0,6. Однако, если все компоненты указаны как присутствующие, вероятность наличия C составляет 5/5 × (1 - 0,25) = 0,75. Мы также можем утверждать, что P (существует | C существует) = 100%; то есть, если комплекс C существует, его составляющие члены также должны существовать.Более того, если предположить, что все пять компонентов C указаны как присутствующие, вероятность того, что данный компонент, о котором сообщается, существует, больше не 75%, это P (существует | C существует) × P (C существует) + P (существует | ∼ C существует) × P (∼C существует) = 0,75 + 0,75 × 0,25 = 0,94.

    Второе преимущество контекстуализации - уменьшение размерности. Это особенно полезно для преодоления проблем размерности, когда имеется ограниченное количество выборок (или наблюдений) по сравнению с большим количеством измеряемых переменных.Когда имеется ограниченное количество наблюдений при большом количестве переменных, вероятность ложноположительных и ложноотрицательных результатов возрастает. Методы исправления в статистике таких проблем, как правило, консервативны и отдают предпочтение сокращению ложных срабатываний по сравнению с уменьшением ложноотрицательных результатов. Например, множественные тестовые коррекции, такие как Bonferroni, ограничивают ложные срабатывания, регулируя пороговое значение p в соответствии с количеством выполненных тестов. Это, как правило, приводит к чрезмерному выбору, поскольку ошибочно предполагает независимость переменных.Если переменные демонстрируют некоторую степень коллинеарности, такие подходы могут непреднамеренно сократить набор функций, так что он больше не будет исчерпывающим. Реорганизация белков в комплексы более высокого порядка означает, что внутри каждого комплекса гены, как ожидается, будут сильно коррелированы и будут рассматриваться как единое целое (а не множественные). Поскольку комплексов меньше по сравнению с белками, это также снижает чрезмерное влияние коррекции множественных тестов.23

    Помимо того, что комплексы являются высокоуровневыми организациями, они также могут предлагать объяснимость, поскольку эти сущности сильно обогащены метаинформацией и аннотациями.24 Знания о том, где они существуют, что они делают, а также о различных путях и механизмах, связанных с ними, уже существуют. Их можно использовать для достижения объяснимости.25 Например, если наш набор функций содержит комплексы, связанные с путями рака в исследовании рака груди, мы должны чувствовать себя вполне уверенно. И наоборот, если набор функций вместо этого включает пути гибернации, вполне вероятно, что в вычислениях могли произойти ошибки.

    Но что, если у нас нет качественного контекста? Также могут помочь подходы, основанные на назначении, такие как анализ главных компонентов (PCA).PCA - это метод, который разрешает многомерное пространство переменных в сокращенный набор главных компонентов (ПК), ортогональных друг другу. Это означает, что каждый компьютер действует независимо от других и может считаться самостоятельной переменной. Действительно, использование ПК в качестве набора функций было предложено в литературе в качестве возможной статистической стратегии, 26 , 27 и доказало свою эффективность на практике.28 Для обеспечения объяснимости каждый ПК может быть аннотирован некоторой метаинформацией; Самый простой способ добиться этого - применить статистический тест на каждом ПК, чтобы проверить корреляцию с определенной ковариантой.28 , 29

    Хотя большинство машинного обучения не предлагают объяснимости, некоторые делают это, классический пример - деревья решений. Хотя деревья решений и не такие мощные, как более поздние реализации, основанные на ансамблевых подходах или нейронных сетях, они, тем не менее, предлагают хорошо интерпретируемые идеи, так что, если порядок правил имеет смысл, это означает, что классификатор обучился разумным образом и, следовательно, вряд ли колебаться в будущих проверках (). Ключевым недостатком дерева решений является то, что оно плохо масштабируется, когда есть много переменных и / или переменные предлагают аналогичную информационную ценность из-за автокорреляции.Еще одна слабость состоит в том, что при наличии двух или более ключевых независимых объяснений для меток классов дерево решений вынуждает их объединить, таким образом сворачивая два независимых набора правил. Например, предположим, что плохие гены вызывают рак легких, а курение слишком большого количества сигарет также вызывает рак легких. Это независимые причины. Таким образом, должно быть два правила: (1) если есть плохие гены, то рак легких; и (2) если много курить, то рак легких. Однако невозможно выразить это знание в стандартном дереве решений: дерево заставляет нас выбрать одно из условий в качестве «корня», поэтому мы получаем такое дерево, как: если есть плохие гены, то рак легких иначе { если много курите, то рак легких, иначе нет рака легких}; или дерево, такое как: если много курите, то рак легких, другое {если у вас плохие гены, то рак легких, еще не рак легких}.Обе слабые стороны могут привести к нестабильности древовидной структуры или создать ненужную сложность, в результате чего дерево становится очень глубоким из-за попыток принудительно подогнать как можно больше переменных. В таких случаях полезно преобразовать переменные в характеристики более высокого порядка (например, с помощью методов контекста или ординации) перед вводом в дерево решений.

    Дерево решений с использованием реалистичных правил для определения соображений относительно покупки телефона, сделанных с помощью BioRender (biorender.com)

    Объяснение обеспечивает рациональную основу для машинного обучения и гораздо важнее, чем слепая зависимость от традиционно используемых показателей, таких как точность резюме.Это связано с тем, что любая перекрестная проверка производительности ИИ по своей сути ограничена в его мировоззрении, и что при использовании всех возможностей ни один ИИ или метод не должны быть лучше других. Это также известно как теорема «без бесплатного обеда» 1. Результаты без бесплатного обеда неуловимы и, как правило, могут означать, по всем возможным входным данным, что две отдельные модели, вероятно, не согласятся по большей части этих входных данных. . Не все входные данные обязательно являются действительными или правильными, но они составляют подмножество всех возможных входных данных.Необходимо только показать, что модели согласуются с реальными исходными данными (в то время как их несогласие с другими несущественными входными данными можно не принимать во внимание). Этот подход аналогичен способу выполнения перестановок меток классов для вычисления значений в сетевом методе функций, таком как PFSNET.30 Мы не генерируем нулевые выборки произвольными перестановками. Мы генерируем только путем перестановки меток классов. Это связано с тем, что нулевые выборки требуются для удовлетворения или предполагается, что они удовлетворяют нулевой гипотезе (которая в случае PFSNET заключается в том, что функция не имеет отношения к классу).

    Как обсуждали Жиро-Каррие и Прово, 31 если перекрестная проверка должна использоваться для создания значимых различий в производительности, она требует включения значимого компонента метаобучения в процессе обучения. Однако по большей части критики запрета на бесплатный обед не смогли или не смогли формально охарактеризовать, каким подмножеством входных данных ограничить его. Следовательно, они не могут найти разумного способа избежать теоремы об отсутствии бесплатного обеда.

    Проблема 6: Точность зависит от пропорции классов в тестовом наборе

    Последний вопрос заключается в том, что точность зависит от пропорции классов (относительного представления меток классов).Например, если мужчины и женщины одинаково представлены при оценке пола, соотношение классов будет составлять половину для любого пола в тестовой выборке. Если это слишком сильно отличается от реальных пропорций, это может ввести в заблуждение.

    Фактически, обеспечение точности набора тестов фактическому распределению населения является важным методологическим моментом, который часто упускается из виду. Если набор тестов не соответствует фактическому распределению совокупности, некоторые типичные показатели производительности (например, точность и прецизионность), определенные на основе набора тестов, могут значительно отличаться в новых данных.Например, предположим, что у нас есть хорошо обученный классификатор C с чувствительностью 80% и специфичностью 90%. В тестовом наборе A, где положительные образцы полностью отражают свойства положительной популяции, а отрицательные образцы полностью отражают свойства отрицательной популяции, но соотношение положительных и отрицательных образцов составляет 100: 1000, точность этого классификатора C на тестовом наборе A будет будет 80 / (80 + 100) = 44%, а его точность будет (80 + 900) / (100 + 1000) = 89%. На тестовом наборе B, где положительные образцы полностью отражают свойства положительной популяции, а отрицательные образцы полностью отражают свойства отрицательной популяции, но соотношение положительных и отрицательных образцов составляет 1000: 100, точность этого классификатора C на тестовом наборе B будет будет 800 / (800 + 10) = 99%, а его точность будет (800 + 90) / (1000 + 100) = 81%.

    Как мы видим, производительность резко меняется с разными пропорциями классов. Если фактическое распределение населения составляет 1000: 100, производительность на тестовом наборе B будет такой, которая даст лучшее представление о том, какой будет производительность классификатора C на реальных данных, тогда как производительность на тестовом наборе A будет полностью вводить в заблуждение.

    Учитывая фактическое распределение населения 1000: 100, набор тестов A можно откалибровать так, чтобы каждый положительный образец считался за 100, а каждый отрицательный образец считался как 1.После этой калибровки «пропорция» положительного к отрицательному в тестовом наборе A становится 100 × 100: 1000 (= 10 000: 1000 = 1000: 100), что соответствует фактическому распределению населения, и калиброванная точность становится 99%, а точность 81 %, что более точно отражает производительность классификатора C, которую можно ожидать с реальными данными (при условии, что положительные и отрицательные образцы в тестовом наборе A действительно представляют соответственно положительную и отрицательную совокупности).

    Заключение

    Точность предсказания класса - это чрезмерно упрощенная мера, которая не сообщает о воспроизводимости результатов или значимости набора функций.Он также не является показателем статистической значимости, поскольку высокая точность иногда может быть достигнута с помощью бессмысленных, случайно ассимилированных наборов функций. Аналогичная точность, заданная одним эталоном, также является ненадежным индикатором будущих результатов. Поэтому мы предлагаем использовать дополнительные меры для повышения точности предсказания класса. Хотя дополнительные меры обеспечивают информативное представление о том, как достигается обучение, лучший способ - извлечь объяснимость из классификатора. Когда невозможно изолировать уровни принятия решений, помогает использование подходов контекста или ординации.Следует также отметить, что точность предсказания классов чувствительна к эффектам пропорциональности классов.

    Учитывая ограничения оценочных метрик (точность предсказания класса - не единственная метрика типа завышенного резюмирования), «черный ящик», созданный методом машинного обучения, может быть не всем, чем мы думаем. Мы советуем использовать его с осторожностью и избегать, если нет выбора: если данные надежны и набор функций информативен, хорошие результаты в любом случае будут получены даже с помощью простых статистических тестов.

    Добавить комментарий

    Ваш адрес email не будет опубликован.