vb.net машинного обучения - распознавание рукописного текста и цифровой родной и среднее евклидово расстояние -K

Евклидово расстояние
двумерного уравнения
  [ро] = SQRT ((Х1-Х2) 2+ (Y1-Y2) 2)

Размерный уравнение
  [ро] = SQRT ((Х1-Х2) 2+ (Y1-Y2) 2+ (Z1-Z2) ^ 2)

Формула п-мерное пространство
  п евклидово пространство представляет собой набор точек, каждая точка Х , который может быть представлен в виде (х [1], х [ 2], ..., х [п]), где х [I] (я = 1,2, ..., п) представляет собой действительное число, называемое I-й координаты Х, две точки а = ([1], а [2], ..., а [п]) и в = (Ь [ 1], в [2], ..., расстояние ρ (A, B) между Ь [п]) определяется как по следующей формуле.

ρ (A, B) = SQRT [Σ (а [я] - Ь [I]) ^ 2] (I = 1,2, ..., п)

Во-вторых, алгоритм K-средства

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

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

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

В-третьих, выделение признаков

1, первый шаг, ссылаясь на практику онлайн Кто-то:

Для простоты, мы используем самый простой образ особенность - распределение черных точек на изображении для обучения и тестирования. Во- первых, мы нормализовали изображение 32 32 пикселей изображения, а затем 2 2 мин 16 256 * 16 разрезают на подобластей, а затем подсчитать количество черных пикселей четырех пикселей, состоящих из 256-мерного вектора признаков, заключается в следующем особенность номер 2 вектор:
0 0 4.442.000.000.002.400.444 2 0 0 0.000.002.422.442.100.000 0 1.234.444.400.000.000.244 4.444.400.000.000.244.444 0 0 0 0 0 0 0 0 0 0 2 . 4. 4. 4. 4. 4 0 0 0 0 0 0 0 0.002.444.440.000.000.444 4.444.440.000.000.444.444 . 4. 4. 4 2 2 2 2 2 2 2 4.423.444.444.444.444.440 2 4.442.222.432.222.202.444 0 0 0 0. 4 2 0 0 0 0 0 0 2 4.440.000.420.000.002.444 0.000.000.000.002.444.000 0000000002444
соответственно, потому что мы только должны идентифицировать 0 ~ 9 из 10 цифр, таким образом создавая 10-мерный вектор, в результате, данные по соответствующему размеру устанавливается на значение, другие значения 0. 2 численные результаты заключаются в следующем: 0010000000

For m_i As Integer = 1 To 16  
     myinitwidth = myendwidth  
     myendwidth += jiange  
     For myi As Integer = myinitwidth To myendwidth  
         For myj As Integer = myinitheight To myendheight  
             mycolor = myybcominfo.mybitmap.GetPixel(myi, myj)  
             If mycolor.B = 0 And mycolor.R = 255 And mycolor.G = 0 Then  
                 While (Not Monitor.TryEnter(mymonitorobj))  
                     Thread.Sleep(1)  
                 End While  
                 myjgtz(mycount) += 1  
                 Monitor.Exit(mymonitorobj)  
                 Thread.Sleep(1)  
             End If  
         Next  
     Next  
     mycount += 1  
     myendwidth += 1  
 Next  

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

 For mi As Integer = 0 To 15  
    If myjgtz(mi) > 0 Then  
        pictz(myii, myjj, m_j) += mi * myjgtz(mi)  
    End If  
    myjgtz(mi) = 0  
Next  

Шаг K-средство вычисления каждого цифрового кода ядра:
вычислено среднее K

   Dim mmsum As Double = 0  
   For myii As Integer = 0 To 9  
       mystr &= vbCrLf & myii & "的样本均值是:" & vbCrLf  
       For myk As Integer = 0 To 15  
           mmsum = 0  
           For myjj As Integer = 0 To 9  
               mmsum += pictz(myii, myjj, myk)  
               ProgressBar1.Value = count  
               count += 1  
           Next  
           mmsum /= 10  
           ktz(myii, myk) = mmsum  
           mystr &= ktz(myii, myk) & ","  
       Next  
       mystr &= vbCrLf  
   Next  

И, наконец, идентификационный номер, чтобы быть характерное значение, то евклидово расстояние Сравнительный

Dim jqtz(16) As Integer  
                '欧氏距离   
        Dim mys(10) As Integer  
        Dim temp As Integer = 1000000000  
        Dim jgnum As Integer = -1  
        For m_iii As Integer = 0 To 9  
            mys(m_iii) = 0  
            For m_jjj As Integer = 0 To 15  
                mys(m_iii) += Pow(ktz(m_iii, m_jjj) - jqtz(m_jjj), 2)  
            Next  
            If mys(m_iii) < temp Then  
                temp = mys(m_iii)  
                jgnum = m_iii  
            End If  
        Next  
        jg.Text = ""  
        For m_iii = 0 To 9  
            jg.Text &= m_iii & ":" & mys(m_iii) & vbCrLf  
        Next  
        jg.Text &= "结果是:" & jgnum 

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

Here Вставка рисунка Описание

Опубликовано 473 оригинальные статьи · вона похвала 14 · просмотров 60000 +

рекомендация

отblog.csdn.net/AI_LX/article/details/105165025