機械孊習甚のCPythonラむブラリ「VKF」

で著者の以前の蚘事、りェブサヌバは、栌子理論に基づく機械孊習のVKF方法を甚いた実隓を行うために説明したした。この蚘事では、Webサヌバヌを䜿甚する代わりに、CPythonラむブラリを盎接䜿甚するためのパスを指定しようずしおいたす。機械孊習アルゎリズムをテストするために、UCIデヌタリポゞトリからキノコずワむンの品質配列を䜿甚した実隓の䜜業セッションを再珟したす。次に、入力デヌタの圢匏に぀いお説明したす。







前曞き



この蚘事では、栌子理論に基づく機械孊習プログラムの新しいバヌゞョンに぀いお説明したす。このバヌゞョンの䞻な利点は、PythonプログラマヌがC ++でプログラムされた効率的なアルゎリズムにむンタヌフェヌスするこずです。



今日、機械孊習手順たたみ蟌みニュヌラルネットワヌク、ランダムフォレスト、サポヌトベクタヌマシンなどは非垞に高いレベルに達しおおり、音声、ビデオ、および画像の認識においお人間をしのいでいたす。しかし、圌らは結論の正しさを蚌明するための議論を提䟛するこずはできたせん。



䞀方、機械孊習ぞのシンボリックなアプロヌチ垰玍論理プログラミング、敎数プログラミングを䜿甚した孊習カバレッゞは、蚈算が非垞に耇雑であり、比范的小さなサむズのサンプルにも実際には適甚できたせん。



ここで説明するアプロヌチは、確率論的アルゎリズムを䜿甚しおこれらの問題を回避したす。 ICFの機械孊習手法では、珟代代数栌子理論圢匏的抂念の分析ず確率理論特にマルコフ連鎖の手法を䜿甚したす。しかし、ICFシステムを䜿甚しおプログラムを䜿甚および䜜成するために、高床な数孊の知識は必芁ありたせん。著者は、Pythonプログラマヌが理解できるむンタヌフェヌスを介しおプログラムぞのアクセスを提䟛するラむブラリヌWindowsではvkf.cp38-win32.pydたたはLinuxではvkf.cpython-38-x86_64-linux-gnu.soを䜜成したした。



説明されおいるアプロヌチに関連しお芪のアプロヌチがありたす-20䞖玀の80幎代の初めに発明された技術科孊博士。教授。VK。自動仮説生成のためのFinn JSMメ゜ッド。それは、その䜜成者が蚀うように、科孊研究の自動化されたサポヌトのための方法ぞず進化したした。匕数のロゞックの方法を䜿甚しお、トレヌニングセットを拡匵するずきに芋぀かった仮説の安定性をチェックし、JSM掚論のさたざたな戊略を䜿甚しお予枬の結果を組み合わせるこずができたす。



残念ながら、このノヌトの著者ず圌の同僚は、JSMメ゜ッドのいく぀かの理論的な欠点を発芋しお調査したした。



  1. 最悪の堎合、生成される類䌌性の数は、入力デヌタトレヌニングサンプルのサむズず比范しお指数関数的に倧きくなる可胜性がありたす。
  2. (NP-).
  3. .
  4. «» , .
  5. .


著者の研究は、圌の論文の第2章にたずめられおいたす。最埌の点は著者によっお最近発芋されたしたが、圌の意芋では、サンプルアプロヌチの拡匵に終止笊を打ちたす。



最埌に、JSMコミュニティは、そのシステムの゜ヌスコヌドぞのアクセスを提䟛しおいたせん。さらに、䜿甚されおいるプログラミング蚀語FortおよびCは、䞀般の人々による䜿甚を蚱可したせん。著者に知られおいる唯䞀の無料のC ++バヌゞョンのJSM゜ルバヌT.A. Volkova著ロボフリヌクには、蚈算の異垞終了に぀ながるこずがある迷惑な゚ラヌが含たれおいたす。



著者は圓初、VKF方匏システム甚に開発された゚ンコヌダをJSMコミュニティず共有するこずを蚈画しおいたした。したがっお、JSMシステムずVKFシステムの䞡方に同時に適甚できるすべおのアルゎリズムを別のラむブラリWindowsではvkfencoder.cp38-win32.pyd、Linuxではvkfencoder.cpython-38-x86_64-linux-gnu.soに入れたした。 ... 残念ながら、これらのアルゎリズムは、JSMコミュニティからは芁求されおいたせん。VKFラむブラリはこれらのアルゎリズムたずえば、vkf.FCAクラスを実装しおいたすが、ファむルからではなく、Webむンタヌフェヌスを介しお盎接テヌブルに入力するこずに䟝存しおいたす。ここでは、vkfencoderラむブラリを䜿甚したす。



1個別機胜のラむブラリを䜿甚する手順





読者がMariaDBサヌバヌ+ MariaDBコネクタ/ Cをむンストヌルした方法を知っおいるずしたしょうデフォルトでは、IPアドレス127.0.0.1:3306ずナヌザヌ 'root'、パスワヌド 'toor'を䜿甚したす。たず、vkfencoderラむブラリずvkfラむブラリをデモ仮想環境にむンストヌルし、「mushroom」ずいう名前の空のMariaDBデヌタベヌスを䜜成したす。



krrguest@amd2700vii:~/src$ python3 -m venv demo 
krrguest@amd2700vii:~/src$ source demo/bin/activate 
(demo) krrguest@amd2700vii:~/src$ cd vkfencoder
(demo) krrguest@amd2700vii:~/src/vkfencoder$ python3 ./setup.py build
(demo) krrguest@amd2700vii:~/src/vkfencoder$ python3 ./setup.py install
(demo) krrguest@amd2700vii:~/src/vkfencoder$ cd ../vkf
(demo) krrguest@amd2700vii:~/src/vkf$ python3 ./setup.py build
(demo) krrguest@amd2700vii:~/src/vkf$ python3 ./setup.py install
(demo) krrguest@amd2700vii:~/src/vkf$ cd ../demo
(demo) krrguest@amd2700vii:~/src/demo$ mysql -u root -p
MariaDB [(none)]> CREATE DATABASE IF NOT EXISTS mushroom;
MariaDB [(none)]> exit;


䜜業の結果ずしお、デヌタベヌス「mushroom」

がフォルダヌ〜/ src / demo / lib / python3.8 / site-packages / vkfencoder-1.0.3-py3.8-linux-x86_64.egg / ファむルvkfencoder.cpython-38に衚瀺されたす-x86_64-linux-gnu.so、およびvkf.cpython

ファむルが〜/ src / demo / lib / python3.8 / site-packages / vkf-2.0.1-py3.8-linux-x86_64.egg / フォルダヌに衚瀺されたす38-x86_64-linux-gnu.so



Python3を起動し、MushroomsアレむでCCF実隓を実行したす。 〜/ src / demo / files /フォルダmushrooms.xml、MUSHROOMS.train、MUSHROOSS.restに3぀のファむルがあるず想定されおいたす。これらのファむルの構造に぀いおは、次のセクションで説明したす。最初のファむル「mushrooms.xml」は、キノコを説明する各属性の倀にある䞋半分の栌子の構造を定矩しおいたす。 2番目ず3番目のファむルは、玄半分のファむル「agaricus-lepiota.data」です。これは、1981幎にニュヌペヌクで発行されたデゞタル化された本「Identifier of North American Mushrooms」です。次の名前は「゚ンコヌダヌ」、「ラチス」、トレむン」ず「テスト」は、それぞれデヌタベヌスのキノコのテヌブルの名前であり、それぞれ、ビット倀の郚分文字列による特城倀の゚ンコヌディング、これらの倀の半栌子図のカバレッゞ関係、トレヌニングずテストの䟋。



(demo) krrguest@amd2700vii:~/src/demo$ Python3
>>> import vkfencoder
>>> xml = vkfencoder.XMLImport('./files/mushrooms.xml', 'encoder', 'lattices', 'mushroom', '127.0.0.1', 'root', 'toor')
>>> trn = vkfencoder.DataImport('./files/MUSHROOMS.train', 'e', 'encoder', 'trains', 'mushroom', '127.0.0.1', 'root', 'toor') 
>>> tst = vkfencoder.DataImport('./files/MUSHROOMS.rest', 'e', 'encoder', 'tests', 'mushroom', '127.0.0.1', 'root', 'toor') 


最埌の2行の「e」は、キノコの食甚に察応しおいたすこれは、タヌゲットの特性がこの配列で゚ンコヌドされる方法です。



2぀のテヌブル「゚ンコヌダヌ」ず「ラチス」からの情報をxmlファむルに保存できるvkfencoder.XMLExportクラスがあり、倉曎を加えた埌、vkfencoder.XMLImportクラスで再床凊理できるこずに泚意しおください。



次に、実際のVKF実隓に移りたす。゚ンコヌダヌを接続し、以前に蚈算された仮説ある堎合を読み蟌み、远加の数100の仮説を指定された数4のストリヌムに蚈算し、それらを 'vkfhyps'テヌブルに保存したす。



>>> enc = vkf.Encoder('encoder', 'mushroom', '127.0.0.1', 'root', 'toor')
>>> ind = vkf.Induction()
>>> ind.load_discrete_hypotheses(enc, 'trains', 'vkfhyps', 'mushroom', '127.0.0.1', 'root', 'toor') 
>>> ind.add_hypotheses(100, 4) 
>>> ind.save_discrete_hypotheses(enc, 'vkfhyps', 'mushroom', '127.0.0.1', 'root', 'toor')


ndxで番号付けされたCCF仮説のすべおの重芁なペアfeature_name、feature_valueのPythonリストを取埗できたす



>>> ind.show_discrete_hypothesis(enc, ndx)


キノコの食甚に぀いお決定を䞋すための仮説の1぀は、



[('gill_attachment', 'free'), ('gill_spacing', 'close'), ('gill_size', 'broad'), ('stalk_shape', 'enlarging'), ('stalk_surface_below_ring', 'scaly'), ('veil_type', 'partial'), ('veil_color', 'white'), ('ring_number', 'one'), ('ring_type', 'pendant')]


CCFメ゜ッドのアルゎリズムの確率論的な性質のため、生成されない堎合がありたすが、著者は、生成されたCCF仮説が十分に倚いず、非垞によく䌌た仮説が発生し、重芁なテストケヌスのタヌゲットプロパティをほが予枬できるこずを蚌明したした。詳现は著者の論文の第4章にありたす。



最埌に、予枬に぀いお説明したす。生成された仮説の質を評䟡し、同時にその芁玠のタヌゲットプロパティを予枬するためのテストサンプルを䜜成したす



>>> tes = vkf.TestSample(enc, ind, 'tests', 'mushroom', '127.0.0.1', 'root', 'toor')
>>> tes.correct_positive_cases()
>>> tes.correct_negative_cases()
>>> exit()


2デヌタ構造の説明



2.1離散フィヌチャの栌子構造



vkfencoder.XMLImportクラスは、フィヌチャ倀間の順序を蚘述したXMLファむルを解析し、2぀のテヌブル「゚ンコヌダヌ」各倀をビット文字列に倉換および「ラティス」1぀のフィヌチャの倀間の関係を栌玍を䜜成しおデヌタを入力したす。

入力ファむルの構造は次のようになりたす



<?xml version="1.0"?>
<document name="mushrooms_db">
  <attribute name="cap_color">
    <vertices>
      <node string="null" char='_'></node>
      <node string="brown" char='n'></node>
      <node string="buff" char='b'></node>
      <node string="cinnamon" char='c'></node>
      <node string="gray" char='g'></node>
      <node string="green" char='r'></node>
      <node string="pink" char='p'></node>
      <node string="purple" char='u'></node>
      <node string="red" char='e'></node>
      <node string="white" char='w'></node>
      <node string="yellow" char='y'></node>
    </vertices>
    <edges>
      <arc source="brown" target="null"></arc>
      <arc source="buff" target="brown"></arc>
      <arc source="buff" target="yellow"></arc>
      <arc source="cinnamon" target="brown"></arc>
      <arc source="cinnamon" target="red"></arc>
      <arc source="gray" target="null"></arc>
      <arc source="green" target="null"></arc>
      <arc source="pink" target="red"></arc>
      <arc source="pink" target="white"></arc>
      <arc source="purple" target="red"></arc>
      <arc source="red" target="null"></arc>
      <arc source="white" target="null"></arc>
      <arc source="yellow" target="null"></arc>
    </edges>
  </attribute>
</document>


䞊蚘の䟋は、機械孊習デヌタリポゞトリカリフォルニア倧孊アヌバむン校のMushrooms配列の3番目の特性「cap_color」の倀間の順序を衚しおいたす。各「属性」フィヌルドは、察応する属性の倀の栌子構造を衚したす。この䟋では、グルヌプは離散属性「cap_color」に察応しおいたす。すべおの特性倀のリストはサブグルヌプを圢成したす。些现な欠けおいる類䌌性を瀺す倀を远加したした。残りの倀は、添付ファむル「agaricus-lepiota.names」の説明に察応しおいたす。

それらの間の順序は、サブグルヌプの内容によっお衚されたす。各項目は、特性倀のペア間のより具䜓的/より䞀般的な関係を瀺しおいたす。たずえば、はピンクのキノコキャップが赀いキャップよりも具䜓的であるこずを意味したす。



著者は、vkfencoder.XMLImportクラスのコンストラクタヌによっお生成され、「゚ンコヌダヌ」テヌブルに栌玍された衚珟の正確さに関する定理を蚌明したした。圌のアルゎリズムず正圓性の定理の蚌明では、圢匏的抂念分析ずしお知られる最新の栌子理論を䜿甚しおいたす。詳现に぀いおは、読者は著者の論文第1章を再び参照されたす。



2.2離散特城のサンプル構造



たず第䞀に、読者は自分のトレヌニングずテストケヌスロヌダヌをデヌタベヌスに実装するか、ラむブラリで利甚可胜なvkfencoder.DataImportクラスを䜿甚できるこずに泚意しおください。 2番目のケヌスでは、リヌダヌはタヌゲットフィヌチャヌが最初の䜍眮にあり、1文字で構成される必芁があるこずを考慮に入れる必芁がありたすたずえば、「+」/「-」、「1」/「0」たたは「e」/「p」。



トレヌニングサンプルは、トレヌニングの䟋ずカりンタヌの䟋タヌゲットプロパティがない䟋を蚘述したCSVファむル倀はコンマ区切りである必芁がありたす。



入力ファむルの構造は次のようになりたす



e,f,f,g,t,n,f,c,b,w,t,b,s,s,p,w,p,w,o,p,k,v,d
p,x,s,p,f,c,f,c,n,u,e,b,s,s,w,w,p,w,o,p,n,s,d
p,f,y,g,f,f,f,c,b,p,e,b,k,k,b,n,p,w,o,l,h,v,g
p,x,y,y,f,f,f,c,b,p,e,b,k,k,n,n,p,w,o,l,h,v,p
e,x,y,b,t,n,f,c,b,e,e,?,s,s,e,w,p,w,t,e,w,c,w
p,f,f,g,f,f,f,c,b,g,e,b,k,k,n,p,p,w,o,l,h,y,g
p,x,f,g,f,f,f,c,b,p,e,b,k,k,p,n,p,w,o,l,h,y,g
p,x,f,y,f,f,f,c,b,h,e,b,k,k,n,b,p,w,o,l,h,y,g
p,f,f,y,f,f,f,c,b,h,e,b,k,k,p,p,p,w,o,l,h,y,g
p,x,y,g,f,f,f,c,b,h,e,b,k,k,p,p,p,w,o,l,h,v,d
p,x,f,g,f,c,f,c,n,u,e,b,s,s,w,w,p,w,o,p,n,v,d
p,x,y,g,f,f,f,c,b,h,e,b,k,k,p,b,p,w,o,l,h,v,g
e,f,y,g,t,n,f,c,b,n,t,b,s,s,p,g,p,w,o,p,k,y,d
e,f,f,e,t,n,f,c,b,p,t,b,s,s,p,p,p,w,o,p,k,v,d
p,f,y,g,f,f,f,c,b,p,e,b,k,k,p,b,p,w,o,l,h,y,p


ここの各行は、1぀のトレヌニング䟋を瀺しおいたす。説明したキノコの食甚性/毒性に応じお、最初の䜍眮に「e」たたは「p」が含たれたす。残りの䜍眮コンマで区切られおいるには、文字短瞮名たたは文字列察応する属性の倀の完党な名前が含たれおいたす。たずえば、4番目の䜍眮は属性「cup_color」ず䞀臎したす。「g」、「p」、「y」、「b」、「e」は「灰色」、「ピンク」、「黄色」、「砂」、「赀」を衚したす、それぞれ。䞊蚘の衚の䞭倮にある疑問笊は、欠損倀を瀺したす。ただし、残りの非タヌゲット特性の倀は文字列にするこずができたす。デヌタベヌスに保存するず、名前のスペヌスが「_」文字に眮き換えられるこずに泚意しおください。



テストケヌスを含むファむルは同じように芋えたすが、システムのみに䟋の実際の兆候が通知されず、その予枬がそれず比范されお、生成された仮説の質ずその予枬力が蚈算されたす。



2.3連続フィヌチャのサンプル構造



この堎合も、オプションは可胜です。リヌダヌは、独自のトレヌナヌずテストケヌスロヌダヌをデヌタベヌスに実装するか、ラむブラリで䜿甚可胜なvkfencoder.DataLoadクラスを䜿甚できたす。 2番目のケヌスでは、読者はタヌゲットフィヌチャが最初の䜍眮にあり、自然数たずえば、0、7、15で構成される必芁があるこずを考慮に入れる必芁がありたす。



トレヌニングサンプルは、トレヌニングの䟋ずカりンタヌの䟋タヌゲットプロパティがない䟋を蚘述したCSVファむルある皮のセパレヌタヌで倀が区切られおいるである必芁がありたす。



入力ファむルの構造は次のようになりたす



"quality";"fixed acidity";"volatile acidity";"citric acid";"residual sugar";"chlorides";"free sulfur dioxide";"total sulfur dioxide";"density";"pH";"sulphates";"alcohol"
5;7.4;0.7;0;1.9;0.076;11;34;0.9978;3.51;0.56;9.4
5;7.8;0.88;0;2.6;0.098;25;67;0.9968;3.2;0.68;9.8
5;7.8;0.76;0.04;2.3;0.092;15;54;0.997;3.26;0.65;9.8
6;11.2;0.28;0.56;1.9;0.075;17;60;0.998;3.16;0.58;9.8
5;7.4;0.7;0;1.9;0.076;11;34;0.9978;3.51;0.56;9.4
5;7.4;0.66;0;1.8;0.075;13;40;0.9978;3.51;0.56;9.4
5;7.9;0.6;0.06;1.6;0.069;15;59;0.9964;3.3;0.46;9.4
7;7.3;0.65;0;1.2;0.065;15;21;0.9946;3.39;0.47;10
7;7.8;0.58;0.02;2;0.073;9;18;0.9968;3.36;0.57;9.5


私たちの堎合、これらは最埌の列を最初に䞊べ替えお機械孊習手順をテストするために、UCIデヌタリポゞトリのWine Quality配列から赀ポルトガルワむンの「winequality-red.csv」ファむルから生成された「vv_red.csv」ファむルの最初の数行です。デヌタベヌスに保存するず、名前のスペヌスが「_」文字に眮き換えられるこずに泚意するこずが重芁です。



3継続的な機胜を持぀䟋のCCF実隓



以前に曞いたように、UCIリポゞトリからのWine Qualityアレむに関する䜜業を瀺したす。MariaDBの䞋に「red_wine」ずいう名前の空のデヌタベヌスを䜜成するこずから始めたしょう。



(demo) krrguest@amd2700vii:~/src/demo$ mysql -u root -p
MariaDB [(none)]> CREATE DATABASE IF NOT EXISTS red_wine;
MariaDB [(none)]> exit;


䜜業の結果、「red_wine」デヌタベヌスが衚瀺されたす。



Python3を起動し、Wine QualityアレむでVKF実隓を行いたす。 〜/ src / demo / files /フォルダヌにvv_red.csvファむルがあるず想定されおいたす。これらのファむルの構造は、前の段萜で説明されおいたす。次の名前「verges」、「complex」、「trains」、「tests」は、それぞれ「red_wine」デヌタベヌス内のテヌブルの名前であり、しきい倀初期倀ず回垰によっお蚈算された機胜の䞡方、重芁なロゞスティック回垰の係数機胜、トレヌニング、テストケヌスのペア。



(demo) krrguest@amd2700vii:~/src/demo$ Python3
>>> import vkfencoder
>>> nam = vkfencoder.DataLoad('./files/vv_red.csv', 7, 'verges', 'trains', 'red_wine', ';', '127.0.0.1', 'root', 'toor')


2番目の匕数は、しきい倀この䟋では7を蚭定したす。これを超えるず、䟋は正ず宣蚀されたす。匕数 ';' 区切り文字に䞀臎したすデフォルトは '、'です。著者による前の泚蚘で



瀺したように、手順は離散フィヌチャヌの堎合ずは異なりたす。最初に、vkf.Joinクラスを䜿甚しおロゞスティック回垰を蚈算したす。その係数は「complex」テヌブルに栌玍されたす。



>>> join = vkf.Join('trains', 'red_wine', '127.0.0.1', 'root', 'toor')
>>> join.compute_save('complex', 'red_wine', '127.0.0.1', 'root', 'toor') 


ここで、情報理論を䜿甚しお、vkf.Generatorクラスを䜿甚しおしきい倀を蚈算したす。これは、最倧倀ず最小倀ずずもに、「verges」テヌブルに栌玍されたす。



>>> gen = vkf.Generator('complex', 'trains', 'verges', 'red_wine', 7, '127.0.0.1', 'root', 'toor')


5番目の匕数は、元のフィヌチャのしきい倀の数を蚭定したす。デフォルトおよび倀0では、特城の数の察数ずしお蚈算されたす。回垰は単䞀のしきい倀を探したす。



次に、実際のVKF実隓に移りたす。゚ンコヌダヌを接続し、以前に蚈算された仮説ある堎合を読み蟌み、指定された数8のストリヌムで远加の仮説300を蚈算し、それらを「vkfhyps」テヌブルに保存したす。



>>> qual = vkf.Qualifier('verges', 'red_wine', '127.0.0.1', 'root', 'toor')
>>> beg = vkf.Beget('complex', 'red_wine', '127.0.0.1', 'root', 'toor')
>>> ind = vkf.Induction()
>>> ind.load_continuous_hypotheses(qual, beg, 'trains', 'vkfhyps', 'red_wine', '127.0.0.1', 'root', 'toor') 
>>> ind.add_hypotheses(300, 8) 
>>> ind.save_continuous_hypotheses(qual, 'vkfhyps', 'red_wine', '127.0.0.1', 'root', 'toor')


ndxず番号が付けられたCCF仮説のトリプルfeature_name、lower_bound、upper_boundのPythonリストを取埗できたす



>>> ind.show_continuous_hypothesis(enc, ndx)


最埌に、予枬に぀いお説明したす。生成された仮説の質を評䟡し、同時にその芁玠のタヌゲットプロパティを予枬するためのテストサンプルを䜜成したす



>>> tes = vkf.TestSample(qual, ind, beg, 'trains', 'red_wine', '127.0.0.1', 'root', 'toor')
>>> tes.correct_positive_cases()
>>> tes.correct_negative_cases()
>>> exit()


ファむルが1぀しかないため、ここではテストセットずしおトレヌニングセットを䜿甚したした。



4.ファむルのアップロヌドに関する泚意



aiofilesラむブラリを䜿甚しお、ファむル 'mushrooms.xml'などをWebサヌバヌにアップロヌドしたした。ここにあなたが圹立぀かもしれないコヌドの䞀郚がありたす



import aiofiles
import os
import vkfencoder

async def write_file(path, body):
    async with aiofiles.open(path, 'wb') as file_write:
        await file_write.write(body)
    file_write.close()

async def xml_upload(request):
    #determine names of tables
    encoder_table_name = request.form.get('encoder_table_name')
    lattices_table_name = request.form.get('lattices_table_name')
    #Create upload folder if doesn't exist
    if not os.path.exists(Settings.UPLOAD_DIR):
        os.makedirs(Settings.UPLOAD_DIR)
    #Ensure a file was sent
    upload_file = request.files.get('file_name')
    if not upload_file:
        return response.redirect("/?error=no_file")
    #write the file to disk and redirect back to main
    short_name = upload_file.name.split('/')[-1]
    full_path = f"{Settings.UPLOAD_DIR}/{short_name}"
    try:
        await write_file(full_path, upload_file.body)
    except Exception as exc:
        return response.redirect('/?error='+ str(exc))
    return response.redirect('/ask_data')


結論



vkf.cpython-38-x86_64-linux-gnu.soラむブラリには、倚くの非衚瀺のクラスずアルゎリズムが含たれおいたす。圌らは、クロヌズドバむ操䜜、遅延評䟡、マルコフ連鎖のペア、マルコフ連鎖の過枡状態、総倉動のメトリックなどの高床な数孊的抂念を䜿甚しおいたす。



実際には、機械孊習甚のデヌタリポゞトリの配列を䜿った実隓カリフォルニア倧孊アヌバむン校 は、C ++ 'VKFメ゜ッド'プログラムが䞭芏暡のデヌタに実際に適甚できるこずを瀺しおいたすAdult配列には32560トレヌニングず16280テストケヌスが含たれおいたす。



'VKFメ゜ッド'システムは、SPECTアレむでCLIP3敎数プログラミングカバレッゞラヌニングv.3システムよりも予枬粟床の点でパフォヌマンスが優れおいたす。CLIP3は、SPECTアレむの䜜成者が䜜成したプログラムです。キノコ配列トレヌニングサンプルずテストサンプルにランダムに分割では、「VKFメ゜ッド」システムは100の粟床を瀺したしたキノコの毒性の基準ず食甚の基準の䞡方に関しお。このプログラムは、Adultアレむにも適甚され、100䞇を超える仮説グリッチなしを生成したした。



vkf CPythonラむブラリの゜ヌスコヌドは、savannah.nongnu.orgで事前にモデレヌトされおいたす。 vkfencoder補助ラむブラリのコヌドは、Bitbucketから入手できたす。



著者は、圌の同僚ず孊生D. A. Anokhin、E。D. Baranova、I。V. Nikulin、E。Yu。Sidorova、L。A. Yakimovaのサポヌト、有甚な議論、および共同研究に感謝したす。ただし、い぀ものように、䜜者はすべおの既存の欠点に察しお単独で責任がありたす。



All Articles