Upgrade to Pro — share decks privately, control downloads, hide ads and more …

企業の業界分類予測における共変量シフト問題の抑制

Taro Masuda
March 01, 2022

 企業の業界分類予測における共変量シフト問題の抑制

本研究では、企業の属性情報や概要説明文のテキスト情報を利用して業界分類を機械学習で予測する際に、学習時と予測時のデータの性質の違いによる影響を抑制する手法を提案します。 具体的には学習用データセットには上場企業、評価用データセットには非上場企業を扱い、(i)属性情報の人為的な欠損、(ii)学習データと予測データの間の分布の違いを考慮した特徴選択、(iii)入力テキストのトークン長の調整ーーという3つの手法を利用してこれらの特徴量の性質の違いに対応します。 実験を通じて、上場企業に対して58.5%、非上場企業に対して56.1%の正答率を達成し、上述の3つの対策を講じない場合と比較して約2ポイントほどの性能向上を確認しました。

Taro Masuda

March 01, 2022
Tweet

More Decks by Taro Masuda

Other Decks in Research

Transcript

  1. ໨࣍ 2 • എܠ ◦ લఏ஌ࣝ ◦ ՝୊ • ؔ࿈ݚڀ

    • ༧උ࣮ݧ • ఏҊख๏ • ࣮ݧ ◦ Ϟσϧ֓ཁ ◦ ࣮ݧઃఆ ◦ ࣮ݧ݁Ռ • ߟ࡯ • ·ͱΊ
  2. എܠɿલఏ஌ࣝ 3 • اۀ׆ಈʹ͓͍ͯɺଞࣾاۀ͕ଐ͢Δۀք෼ྨΛਖ਼֬ʹ೺Ѳ͢Δχʔζ͸ߴ͍ ◦ ྫ͑͹ҎԼͷΑ͏ͳݕ౼Λ͢Δͱ͖ɺۀք෼ྨ͕෼͔Ε͹اۀݕࡧͷମݧ͕վળ͢Δ ▪ ڝ߹اۀͷಈ޲೺Ѳ ▪ ۀ຿ఏܞɾM&Aઌͷݕ౼

    • ೔ຊܦࡁ৽ฉࣾͰ͸ɺ๏ਓ޲͚αʔϏεͱͯ͠ͷاۀ৘ใσʔλϕʔεΛอ༗͍ͯ͠Δ ◦ ͓٬༷ɿܦӦاը෦ɺࣄۀاը෦ɺӦۀاը෦ͳͲ ◦ ֎෦σʔλιʔε౳ͱ΋࿈ܞ͠ͳ͕Β๛෋ͳ৘ใΛఏڙ ◦ ۀք෼ྨͷਖ਼ղϥϕϧͱͯ͠࢖༻Մೳͳσʔλ͕4ສࣾ΄Ͳଘࡏ
  3. എܠɿ՝୊ 4 • ਺ଟ͘ͷاۀσʔλʹ͓͍ͯɺ ඇ্৔اۀͷۀछΛࣗಈతʹ෼ྨ͍ͨ͠ ◦ ֎෦σʔλϕʔεαʔϏεʮFactSetʯ͔ࣾΒ ਺ඦສࣾ୯Ґͷඇ্৔اۀ৘ใΛ͍͍͍ͨͩͯΔ ▪ ೔ܦ͕ఆٛ͢Δۀछϥϕϧ͸෇༩͞Ε͍ͯͳ͍

    ▪ ਓखͰ෇͚ͨۀछϥϕϧ͸্৔اۀʹͷΈଘࡏ͢Δ ▪ ձࣾͷ਺͸ຖ೥૿Ճ͠ଓ͚Δ܏޲ʹ͋ΓɼਓखͰϥϕϦϯά͢Δίετ͸ݱ࣮తͰͳ͍ ◦ ຊݚڀͷ໨తɿඇ্৔اۀͷۀք෼ྨΛػցֶशͰࣗಈతʹ༧ଌ͢Δ͜ͱ • ڞมྔγϑτ໰୊ɿ ◦ ೖྗಛ௃ྔͷੑֶ࣭͕शσʔλͱຊ൪σʔλͰมԽ͢Δ͜ͱ ◦ ֶशʹ࢖͑Δͷ͸্৔اۀͷσʔληοτɼ ຊ൪Ͱ༧ଌ͢Δͷ͸ඇ্৔اۀͷσʔλ
  4. ؔ࿈ݚڀ 5 • σʔληοτγϑτʹண໨ͨ͠ݚڀ͕੝Μ ◦ [Moreno-Torres+, 2012] [Lu+, 2018] σʔληοτγϑτΛ໢ཏతʹղઆͨ͠αʔϕΠ

    ◦ [Shimodaira, 2000] ڞมྔγϑτԼͰɼ؍ଌαϯϓϧΛॏΈ෇͚ͯ͠༧ଌ෼෍Λ࠷໬ਪఆ ◦ [Li+, 2016] ڞมྔγϑτԼͰɼ2ͭͷσʔληοτʹજࡏతʹڞ௨͢Δಛ௃ྔΛநग़ ◦ [Pan+, 2020] ֶश༻ͱධՁ༻ͷσʔληοτΛ෼ྨ͢ΔϞσϧΛ࡞Γɼ ਖ਼౴཰͕ᮢ஋ҎԼʹͳΔ·Ͱॏཁ౓ͷߴ͍ಛ௃ྔΛ࡟আ • اۀͷۀछϥϕϧΛ༧ଌ͢Δ໰୊ʹ͍ͭͯ΋ݚڀ͞Ε͍ͯΔ [Wood+, 2018], [Tagarev+, 2019] • චऀΒͷ஌ΔݶΓɼ اۀͷۀछϥϕϧ༧ଌʹ͓͍ͯσʔληοτγϑτʹয఺Λ౰ͯͨݚڀ͸ଟ͘ͳ͍
  5. ༧උ࣮ݧɿར༻Ͱ͖Δσʔλ 6 • ֶश/ݕূσʔλ: ༗ࣝऀ্͕৔اۀʹରͯ͠ϋϯυϥϕϦϯάͨ͠42,752݅ͷاۀ৘ใ ◦ CAT_ࠃ໊ ◦ CAT_෼໺ʢSectorʣ ◦

    CAT_ۀքʢIndustryʣ ▪ ೔ܦͷఆٛͱҟͳΔFactSetࣾಠࣗͷۀք෼ྨʢ1ର1ରԠ͠ͳ͍ʣ ▪ ຊ൪σʔλʹ͓͍ͯ໿55%͕ܽଛ͍ͯ͠Δͱ͍͏ࣄલͷूܭ৘ใ͋Γ ◦ اۀ֓ཁςΩετ ◦ ੡඼৘ใςΩετ ◦ اۀ໊ςΩετ ※CAT_͸ΧςΰϦม਺ • ධՁσʔλ: ༗ࣝऀ͕ඇ্৔اۀʹରͯ͠ϋϯυϥϕϦϯάͨ͠289݅ͷاۀ৘ใ ◦ ΧϥϜ͸ಉ্ • ͦΕͳΓͷυϝΠϯ஌͕ࣝͳ͍ͱΞϊςʔγϣϯ͸ࠔ೉ ◦ Ξϊςʔλʔ͸֎෦ͷϗʔϜϖʔδ౳ιʔε΋ݟ͓ͯΓɺ ֎෦৘ใͳ͠Ͱਖ਼ղ͢Δ͜ͱ͸ਓؒͰ΋؆୯Ͱ͸ͳ͍
  6. • ୯ޠΧ΢ϯτͷ෼෍ ◦ ֶश/ݕূσʔλʢ্৔اۀʣ ͷํ͕จষ͕௕͍܏޲ʢӈʹ੄͕௕͍ʣ ◦ ධՁσʔλʢඇ্৔اۀʣ ͷจষ͸୹͍܏޲ʢશମతʹࠨدΓʣ ◦ ※͜͜Ͱ͍͏จষͱ͸ɼ

    اۀ֓ཁςΩετͱ੡඼৘ใςΩετ Λ݁߹ͨ͠΋ͷ • จॻͷத਎ ◦ ෼ྨʹॏཁͳ৘ใ͸ςΩετͷॳΊʹݱΕ΍͍͢ ▪ ࣄۀ಺༰ɼ੡඼ɼ… ◦ ෼ྨʹෆཁͳ৘ใ͸ςΩετͷऴΘΓʹݱΕ΍͍͢ ▪ ૑ۀऀͷ໊લɼຊࣾॴࡏ஍ɼ… ༧උ࣮ݧɿςΩετʹ͍ͭͯ 7 اۀ͋ͨΓͷ୯ޠΧ΢ϯτ ౓ ਺ ౓ ਺ ্৔اۀ ඇ্৔اۀ
  7. ఏҊख๏ɿڞมྔγϑτ໰୊ͷ཈੍ (3/4) • (i) ଐੑ৘ใͷਓҝతͳܽଛ • (ii) Adversarial ValidationΛར༻ͨ͠ಛ௃બ୒ cf.

    [Pan+, 2020] ◦ ݩͷ෼ྨ໰୊Λղ͘ͷͰ͸ͳ͘ɺʮֶशσʔλ͔ධՁσʔλ͔ʁʯΛ༧ଌ͢ΔϞσϧΛֶश ˠ༧ଌʹେ͖͘ߩݙͨ͠ಛ௃ྔʹڞมྔγϑτ΁ͷӨڹେ ͱߟ͑ɼআ֎͢Δ • (iii) ςΩετͷτʔΫϯ௕ͷௐ੔ 10
  8. ఏҊख๏ɿڞมྔγϑτ໰୊ͷ཈੍ (4/4) 11 • (i) ଐੑ৘ใͷਓҝతͳܽଛ • (ii) Adversarial ValidationΛར༻ͨ͠ಛ௃બ୒

    • (iii) ςΩετͷτʔΫϯ௕ͷௐ੔ ◦ BERTͷݪ࿦จͰ͸τʔΫϯ௕ = 512ͱ͍ͯ͠Δ [Devlin+, 2019] ͕ɼຊݚڀͰ͸ΑΓ୹͍128ΛఏҊ ◦ ඇ্৔ͷ৔߹͸શମతʹจষ͕୹͍ͨΊɺͦΕʹ߹ΘͤͯϞσϦϯά͢΂͖ ◦ ༧ଌʹ͋ͨͬͯॏཁͳ৘ใ͸લஈʹهࡌ͞Ε΍͍͢ ▪ ޙஈʹ͸෼ྨʹͱͬͯॏཁͰͳ͍આ໌͕ฒͿ ▪ ಛʹֶशσʔλʹ͓͍ͯɼ128ޠΛ௒͑Δઆ໌จ͸৑௕ͱΈͳͯ͠੾ΓࣺͯΔ
  9. ࣮ݧɿϞσϧ֓ཁ (1/3) 12 • ֓؍ • খ෼ྨίʔυΛ༧ଌ͢Δ524Ϋϥε෼ྨ໰୊Λղ͘ • ςΩετ͕ແ͍৔߹͸ਫ਼౓͕ग़ͳ͍ →

    ػցֶशΛఘΊϧʔϧϕʔεͰ༧ଌ (ݚڀͷର৅֎) େ෼ྨ༧ଌ த෼ྨ༧ଌ খ෼ྨ༧ଌ BERT Ξϯαϯϒϧ ʢ૬Ճฏۉʣ LightGBM ΧςΰϦ ಛ௃ ςΩετ ಛ௃ ༧ ଌ ݁ Ռ null? NO YES ैདྷͷϧʔϧ ϕʔε෇൪
  10. ࣮ݧɿϞσϧ֓ཁ (2/3) 13 • LightGBM ◦ ΧςΰϦม਺ٴͼςΩετಛ௃ྔͷ૒ํΛѻ͍΍͍ͨ͢Ί࠾༻ ◦ େ෼ྨ ʼ

    த෼ྨ ʼ খ෼ྨͱ͍͏֊૚ߏ଄ʹͳ͍ͬͯΔͨΊɺ ΑΓେ͖ͳཻ౓Ͱͷ෼ྨ৘ใ͸େ͖ͳख͕͔ΓʹͳΔ ▪ େ෼ྨ༧ଌʢ15Ϋϥεʣ ! த෼ྨ༧ଌʢ68Ϋϥεʣ !" খ෼ྨ༧ଌʢ524Ϋϥεʣͷ3εςʔδ੍Λಋೖ ▪ લஈͷ༧ଌ݁ՌΛޙஈͷೖྗಛ௃ྔͷҰ෦ͱͯ͠ར༻ ɾςΩετಛ௃ྔ - اۀ໊ͷ5'*%' - ֓ཁςΩετͷ5'*%' - ੡඼৘ใͷ5'*%' ɾΧςΰϦม਺ - ࠃ໊ - ෼໺ - ۀք େ෼ྨ༧ଌ ɾςΩετಛ௃ྔ - اۀ໊ͷ5'*%' - ֓ཁςΩετͷ5'*%' - ੡඼৘ใͷ5'*%' ɾΧςΰϦม਺ - ࠃ໊ - ෼໺ - ۀք - େ෼ྨ༧ଌॱҐ ɾςΩετಛ௃ྔ - ֓ཁςΩετͷ!"#$%" - ੡඼৘ใͷ!"#$%" - ֓ཁςΩετɾ੡඼৘ใͷ&'()*+* ,)-.*+*/0122342*+*56783910:*&36236;3* (6;<=39 ɾΧςΰϦม਺ - ۀք - େ෼ྨ༧ଌॱҐ - த෼ྨ༧ଌॱҐ த෼ྨ༧ଌ খ෼ྨ༧ଌ
  11. ࣮ݧɿϞσϧ֓ཁ (3/3) 14 • BERT ◦ ςΩετͷܥྻతͳಛ௃ɾจ຺Λߟྀͨ͠දݱΛར༻͠ɼ #$%&'()*ͱͷΞϯαϯϒϧͰ૬ิతʹਫ਼౓ΛߴΊΔ ◦ +,%%$-%"./01"23/-45637134ͷ813'98/419,-0/41:Λར༻

    ;<6=5>?"@A@AB ◦ ଐੑ৘ใ͸ෆཁ ! ࠷ॳ͔Βখ෼ྨΛ௚઀༧ଌ • Ξϯαϯϒϧ ◦ ୯ମϞσϧͷੑೳ͕΄΅ಉ౳Ͱ͋ΔͨΊɼ2ͭͷϞσϧͷग़ྗʹ͍ͭͯ୯७ͳ૬ՃฏۉΛͱΔ
  12. ࣮ݧઃఆ 15 • σʔλͷ෼ׂ ◦ ্৔اۀσʔλɿC@?DE@݅ ▪ ૚Խநग़ʹΑΓ ֶशσʔλɿධՁσʔλʹDFGʹ෼ׂ •

    ෼ׂͰ͖ͳ͍෼ྨʢαϯϓϧαΠζʹHʣ͸ର৅֎ͱ͢Δ ▪ ֶशσʔλʹରͯ͠ E956=:"૚ԽΫϩεόϦσʔγϣϯ • EͭͷϞσϧΛ࡞੒͠ɼ࠷ऴతͳ༧ଌ஋͸EͭͷฏۉΛ࠾༻͢Δ ◦ ඇ্৔اۀσʔλɿ@IJ݅ ▪ ༗ࣝऀͷڠྗʹΑΓϥϕϧ෇͖σʔλΛ༻ҙ ▪ શͯΛධՁσʔλͱͯ͠ར༻ • ධՁࢦඪɿਖ਼౴཰ʢ!""#$%"&ʣ ◦ αʔϏεཁ݅ɿ୯७ʹ݅਺ϕʔεͰͷਖ਼౴཰Λ্͍͛ͨ
  13. ࣮ݧ݁Ռ (1/3) 16 ◦ ఏҊ๏ ▪ !"#$ଐੑ৘ใͷਓҝతͳܽଛ ▪ !""#$%&'()*+)"+,$-+,"&+."/0Λར༻ͨ͠ಛ௃બ୒ ▪

    !"""#$ೖྗςΩετͷτʔΫϯ௕ͷௐ੔ ਖ਼ ౴ ཰ • ਖ਼౴཰ ◦ #$%&'()* ▪ ݕূσʔλɾධՁσʔλؒͰ@AϙΠϯτҎ্ͷဃ཭ !"ఏҊ๏K$L?"K$$LͰ͍ͣΕ΋վળ (%)
  14. ࣮ݧ݁Ռ (2/3) 17 • ਖ਼౴཰ ◦ BERT ▪ ఏҊ๏ͳ͠ʹൺ΂ͯɼఏҊ๏K$$$LͰվળ ◦

    ఏҊ๏ ▪ !"#$ଐੑ৘ใͷਓҝతͳܽଛ ▪ !""#$%&'()*+)"+,$-+,"&+."/0Λར༻ͨ͠ಛ௃બ୒ ▪ !"""#$ೖྗςΩετͷτʔΫϯ௕ͷௐ੔ ਖ਼ ౴ ཰ (%)
  15. ࣮ݧ݁Ռ (3/3) 18 • ਖ਼౴཰ ◦ Ξϯαϯϒϧ ▪ ୯ମϞσϧʹൺ΂͍ͯͣΕ΋ߴੑೳɼఏҊ๏ʹΑΓධՁσʔλͷ༧ଌੑೳ޲্ ▪

    αʔϏεʹैདྷಋೖ͞Ε͍ͯͨϧʔϧϕʔεʹରͯ͠HMN@AϙΠϯτ΋ͷ༧ଌੑೳ޲্ ◦ 提案法 ▪ (i) 属性情報の人為的な欠損 ▪ (ii) Adversarial Validationを利用した特徴選択 ▪ (iii) 入力テキストのトークン長の調整 ਖ਼ ౴ ཰ アンサンブル-提案法 (%)
  16. ߟ࡯ (1/2) 19 • ֤ख๏ͷߩݙ౓ ◦ ߩݙ౓େɿHHϙΠϯτO""""""""""" ▪ K$L"ଐੑ৘ใͷਓҝతͳܽଛ •

    ./0'P1'ࣾج४ͷۀछϥϕϧʮQ-:,4'3RʯΛϥϯμϜʹܽଛͤ͞Δํ͕ ඇ্৔اۀΛ্ख͘༧ଌ͢Δ ! ʮIndustryʯͱਖ਼ղͱͷؔ܎্͕৔اۀɾඇ্৔اۀؒͰେ͖͘ဃ཭ ▪ K$$L"S:T134/3$/="U/=$:/'$6-Λར༻ͨ͠ಛ௃બ୒ • আ֎ͨ͠ಛ௃ྔHͭ͸ɼଞΑΓ΋ൈ͖Μग़ͯॏཁ౓͕ߴ͘ग़ͨ • ෳ਺ಛ௃ྔͷ࡟আͳͲ΋ࠓޙࢼ͢Ձ஋͋Γ ◦ ߩݙ౓খɿ@ϙΠϯτO ▪ K$$$L"ೖྗςΩετͷτʔΫϯ௕ͷௐ੔ ▪ Ξϯαϯϒϧ • )VW2͸ݩʑڞมྔγϑτͷӨڹ͕େ͖͘ͳ͘ɼ #$%&'()*ͰͷѱӨڹΛΞϯαϯϒϧͰٵऩͯ͘͠Εͨ * : ͦΕͧΕఏҊख๏ͳ͠ͱൺֱͨ͠ͱ͖ͷ ဃ཭ͷվળ෯
  17. ߟ࡯ (2/2) 20 • ఆੑతͳΤϥʔ෼ੳ ◦ ۀք෼ྨ͝ͱͷʮ౰ͯ΍͢͞ɾ౰ͯʹ͘͞ʯͷௐࠪʢGAA݅͘Β͍ʣ ▪ ʮαϯϓϧαΠζEAҎ্ʯͷۀք෼ྨ͔Βਫ਼౓ϫʔετEͷσʔλΛશ෦ݟΔ ▪

    ʮαϯϓϧαΠζEAະຬʯͷۀք෼ྨ͔Βਫ਼౓ ϕετEͷσʔλΛશ෦ݟΔ ◦ ΤϥʔͷݪҼɿ ▪ اۀ͕ల։͢Δෳ਺ࣄۀʹ͍ͭͯهड़͞Ε͓ͯΓɺHͭʹߜΓʹ͍͘ • X୯Ұࣄۀͷձࣾ͸౰ͯ΍͍͢܏޲ ▪ ਓؒͰ΋൑அ͕೉͍͠Α͏ͳޡ෼ྨ΋ଟ͍ • ʢྫʣύοέʔδιϑτʢҰൠ޲͚ʣ63"ύοέʔδιϑτʢͦͷଞۀ຿޲͚ʣ • ιϑτ΢ΣΞܥͷ෼ྨ͸બ୒ࢶ΋ଟ͘ɼ෼ྨͷఆٛʹ͍ͭͯਂ͍ཧղ͕ඞཁ ▪ ਖ਼ղϥϕϧͷϛεʹݟ͑Δ΋ͷʢY6$4R"#/81=4ʣ • ʢྫʣ8$6=6%$0":3,%4"Λల։ ! ਖ਼ղɿϑΝετϑʔυʢϋϯόʔΨʔʣ
  18. ·ͱΊ 21 • !"#$%&$͕ࣾఏڙ͢Δاۀσʔλʹରͯ͠ɺ ඇ্৔اۀͷۀք෼ྨίʔυΛ෇༩͢ΔͨΊͷػցֶशϞσϧʹ͍ͭͯఏҊ • ্৔اۀ ͷ ݕূ σʔλ

    ʹରͯ͠ਖ਼ղ཰'()'*ɺ ඇ্৔اۀ ͷ ςετσʔλ ʹରͯ͠ਖ਼ղ཰'+),*Λୡ੒ ◦ ػցֶशͳ͠ͷैདྷख๏ͱൺ΂ͯ12ʙ34ϙΠϯτͷվળ • ্৔اۀσʔλͱඇ্৔اۀσʔλͷؒʹଘࡏͨ͠ڞมྔγϑτͷӨڹΛ௿ݮ ◦ (i) ଐੑ৘ใͷਓҝతͳܽଛ ◦ (ii) Adversarial ValidationΛར༻ͨ͠ಛ௃બ୒ ◦ (iii) ೖྗςΩετͷτʔΫϯ௕ͷௐ੔ • ఏҊख๏͸೔ຊܦࡁ৽ฉࣾͷ࣮αʔϏε΁ಋೖࡁΈ