Share
Embed
企業の業界分類予測における共変量シフト問題の抑制
本研究では、企業の属性情報や概要説明文のテキスト情報を利用して業界分類を機械学習で予測する際に、学習時と予測時のデータの性質の違いによる影響を抑制する手法を提案します。 具体的には学習用データセットには上場企業、評価用データセットには非上場企業を扱い、(i)属性情報の人為的な欠損、(ii)学習データと予測データの間の分布の違いを考慮した特徴選択、(iii)入力テキストのトークン長の調整ーーという3つの手法を利用してこれらの特徴量の性質の違いに対応します。 実験を通じて、上場企業に対して58.5%、非上場企業に対して56.1%の正答率を達成し、上述の3つの対策を講じない場合と比較して約2ポイントほどの性能向上を確認しました。
Taro Masuda
March 01, 2022
Transcript
21 slides
-
اۀͷۀքྨ༧ଌʹ͓͚Δ ڞมྔγϑτͷ੍ ̋૿ా ଠ†ɼੴݪ ଠ†ɼ٢ా ༐ଠ†† † גࣜձࣾຊܦࡁ৽ฉࣾ †† גࣜձࣾϒϨΠϯύου
ୈ14ճσʔλֶͱใϚωδϝϯτʹؔ͢ΔϑΥʔϥϜ ʢୈ20ճຊσʔλϕʔεֶձ࣍େձʣ DEIM2022 G24-1 -
࣍ 2 • എܠ ◦ લఏࣝ ◦ ՝ • ؔ࿈ݚڀ
• ༧උ࣮ݧ • ఏҊख๏ • ࣮ݧ ◦ Ϟσϧ֓ཁ ◦ ࣮ݧઃఆ ◦ ࣮ݧ݁Ռ • ߟ • ·ͱΊ -
എܠɿલఏࣝ 3 • اۀ׆ಈʹ͓͍ͯɺଞࣾاۀ͕ଐ͢ΔۀքྨΛਖ਼֬ʹѲ͢Δχʔζߴ͍ ◦ ྫ͑ҎԼͷΑ͏ͳݕ౼Λ͢Δͱ͖ɺۀքྨ͕͔Εاۀݕࡧͷମݧ͕վળ͢Δ ▪ ڝ߹اۀͷಈѲ ▪ ۀఏܞɾM&Aઌͷݕ౼
• ຊܦࡁ৽ฉࣾͰɺ๏ਓ͚αʔϏεͱͯ͠ͷاۀใσʔλϕʔεΛอ༗͍ͯ͠Δ ◦ ͓٬༷ɿܦӦاը෦ɺࣄۀاը෦ɺӦۀاը෦ͳͲ ◦ ֎෦σʔλιʔεͱ࿈ܞ͠ͳ͕Β๛ͳใΛఏڙ ◦ ۀքྨͷਖ਼ղϥϕϧͱͯ͠༻Մೳͳσʔλ͕4ສࣾ΄Ͳଘࡏ -
എܠɿ՝ 4 • ଟ͘ͷاۀσʔλʹ͓͍ͯɺ ඇ্اۀͷۀछΛࣗಈతʹྨ͍ͨ͠ ◦ ֎෦σʔλϕʔεαʔϏεʮFactSetʯ͔ࣾΒ ඦສࣾ୯Ґͷඇ্اۀใΛ͍͍͍ͨͩͯΔ ▪ ܦ͕ఆٛ͢Δۀछϥϕϧ༩͞Ε͍ͯͳ͍
▪ ਓखͰ͚ͨۀछϥϕϧ্اۀʹͷΈଘࡏ͢Δ ▪ ձࣾͷຖ૿Ճ͠ଓ͚Δʹ͋ΓɼਓखͰϥϕϦϯά͢Δίετݱ࣮తͰͳ͍ ◦ ຊݚڀͷతɿඇ্اۀͷۀքྨΛػցֶशͰࣗಈతʹ༧ଌ͢Δ͜ͱ • ڞมྔγϑτɿ ◦ ೖྗಛྔͷੑֶ࣭͕शσʔλͱຊ൪σʔλͰมԽ͢Δ͜ͱ ◦ ֶशʹ͑Δͷ্اۀͷσʔληοτɼ ຊ൪Ͱ༧ଌ͢Δͷඇ্اۀͷσʔλ -
ؔ࿈ݚڀ 5 • σʔληοτγϑτʹணͨ͠ݚڀ͕Μ ◦ [Moreno-Torres+, 2012] [Lu+, 2018] σʔληοτγϑτΛཏతʹղઆͨ͠αʔϕΠ
◦ [Shimodaira, 2000] ڞมྔγϑτԼͰɼ؍ଌαϯϓϧΛॏΈ͚ͯ͠༧ଌΛ࠷ਪఆ ◦ [Li+, 2016] ڞมྔγϑτԼͰɼ2ͭͷσʔληοτʹજࡏతʹڞ௨͢ΔಛྔΛநग़ ◦ [Pan+, 2020] ֶश༻ͱධՁ༻ͷσʔληοτΛྨ͢ΔϞσϧΛ࡞Γɼ ਖ਼͕ᮢҎԼʹͳΔ·Ͱॏཁͷߴ͍ಛྔΛআ • اۀͷۀछϥϕϧΛ༧ଌ͢Δʹ͍ͭͯݚڀ͞Ε͍ͯΔ [Wood+, 2018], [Tagarev+, 2019] • චऀΒͷΔݶΓɼ اۀͷۀछϥϕϧ༧ଌʹ͓͍ͯσʔληοτγϑτʹযΛͯͨݚڀଟ͘ͳ͍ -
༧උ࣮ݧɿར༻Ͱ͖Δσʔλ 6 • ֶश/ݕূσʔλ: ༗ࣝऀ্͕اۀʹରͯ͠ϋϯυϥϕϦϯάͨ͠42,752݅ͷاۀใ ◦ CAT_ࠃ໊ ◦ CAT_ʢSectorʣ ◦
CAT_ۀքʢIndustryʣ ▪ ܦͷఆٛͱҟͳΔFactSetࣾಠࣗͷۀքྨʢ1ର1ରԠ͠ͳ͍ʣ ▪ ຊ൪σʔλʹ͓͍ͯ55%͕ܽଛ͍ͯ͠Δͱ͍͏ࣄલͷूܭใ͋Γ ◦ اۀ֓ཁςΩετ ◦ ใςΩετ ◦ اۀ໊ςΩετ ※CAT_ΧςΰϦม • ධՁσʔλ: ༗ࣝऀ͕ඇ্اۀʹରͯ͠ϋϯυϥϕϦϯάͨ͠289݅ͷاۀใ ◦ ΧϥϜಉ্ • ͦΕͳΓͷυϝΠϯ͕ࣝͳ͍ͱΞϊςʔγϣϯࠔ ◦ Ξϊςʔλʔ֎෦ͷϗʔϜϖʔδιʔεݟ͓ͯΓɺ ֎෦ใͳ͠Ͱਖ਼ղ͢Δ͜ͱਓؒͰ؆୯Ͱͳ͍ -
• ୯ޠΧϯτͷ ◦ ֶश/ݕূσʔλʢ্اۀʣ ͷํ͕จষ͕͍ʢӈʹ͕͍ʣ ◦ ධՁσʔλʢඇ্اۀʣ ͷจষ͍ʢશମతʹࠨدΓʣ ◦ ※͜͜Ͱ͍͏จষͱɼ
اۀ֓ཁςΩετͱใςΩετ Λ݁߹ͨ͠ͷ • จॻͷத ◦ ྨʹॏཁͳใςΩετͷॳΊʹݱΕ͍͢ ▪ ࣄۀ༰ɼɼ… ◦ ྨʹෆཁͳใςΩετͷऴΘΓʹݱΕ͍͢ ▪ ۀऀͷ໊લɼຊࣾॴࡏɼ… ༧උ࣮ݧɿςΩετʹ͍ͭͯ 7 اۀ͋ͨΓͷ୯ޠΧϯτ ্اۀ ඇ্اۀ -
ఏҊख๏ɿڞมྔγϑτͷ੍ (1/4) • (i) ଐੑใͷਓҝతͳܽଛ • (ii) Adversarial ValidationΛར༻ͨ͠ಛબ •
(iii) ςΩετͷτʔΫϯͷௐ 8 -
ఏҊख๏ɿڞมྔγϑτͷ੍ (2/4) • (i) ଐੑใͷਓҝతͳܽଛ ◦ ֶशσʔλͱ༧ଌσʔλͷؒʹଐੑใͷܽଛʹେ͖ͳ͕ࠩ͋Δ ◦ ֶशσʔλʢ্ʣɾධՁσʔλʢඇ্ʣʹ͓͍ͯଐੑΛਓҝతʹϥϯμϜʹܽଛͤ͞Δ ▪
ΑΓ࣮ࡍͷ༧ଌରͱͳΔσʔλͷಛੑʹ͚ۙͮΔ • (ii) Adversarial ValidationΛར༻ͨ͠ಛબ • (iii) ςΩετͷτʔΫϯͷௐ 9 -
ఏҊख๏ɿڞมྔγϑτͷ੍ (3/4) • (i) ଐੑใͷਓҝతͳܽଛ • (ii) Adversarial ValidationΛར༻ͨ͠ಛબ cf.
[Pan+, 2020] ◦ ݩͷྨΛղ͘ͷͰͳ͘ɺʮֶशσʔλ͔ධՁσʔλ͔ʁʯΛ༧ଌ͢ΔϞσϧΛֶश ˠ༧ଌʹେ͖͘ߩݙͨ͠ಛྔʹڞมྔγϑτͷӨڹେ ͱߟ͑ɼআ֎͢Δ • (iii) ςΩετͷτʔΫϯͷௐ 10 -
ఏҊख๏ɿڞมྔγϑτͷ੍ (4/4) 11 • (i) ଐੑใͷਓҝతͳܽଛ • (ii) Adversarial ValidationΛར༻ͨ͠ಛબ
• (iii) ςΩετͷτʔΫϯͷௐ ◦ BERTͷݪจͰτʔΫϯ = 512ͱ͍ͯ͠Δ [Devlin+, 2019] ͕ɼຊݚڀͰΑΓ͍128ΛఏҊ ◦ ඇ্ͷ߹શମతʹจষ͕͍ͨΊɺͦΕʹ߹ΘͤͯϞσϦϯά͖͢ ◦ ༧ଌʹ͋ͨͬͯॏཁͳใલஈʹهࡌ͞Ε͍͢ ▪ ޙஈʹྨʹͱͬͯॏཁͰͳ͍આ໌͕ฒͿ ▪ ಛʹֶशσʔλʹ͓͍ͯɼ128ޠΛ͑Δઆ໌จͱΈͳͯ͠ΓࣺͯΔ -
࣮ݧɿϞσϧ֓ཁ (1/3) 12 • ֓؍ • খྨίʔυΛ༧ଌ͢Δ524ΫϥεྨΛղ͘ • ςΩετ͕ແ͍߹ਫ਼͕ग़ͳ͍ →
ػցֶशΛఘΊϧʔϧϕʔεͰ༧ଌ (ݚڀͷର֎) େྨ༧ଌ தྨ༧ଌ খྨ༧ଌ BERT Ξϯαϯϒϧ ʢ૬Ճฏۉʣ LightGBM ΧςΰϦ ಛ ςΩετ ಛ ༧ ଌ ݁ Ռ null? NO YES ैདྷͷϧʔϧ ϕʔε൪ -
࣮ݧɿϞσϧ֓ཁ (2/3) 13 • LightGBM ◦ ΧςΰϦมٴͼςΩετಛྔͷํΛѻ͍͍ͨ͢Ί࠾༻ ◦ େྨ ʼ
தྨ ʼ খྨͱ͍͏֊ߏʹͳ͍ͬͯΔͨΊɺ ΑΓେ͖ͳཻͰͷྨใେ͖ͳख͕͔ΓʹͳΔ ▪ େྨ༧ଌʢ15Ϋϥεʣ ! தྨ༧ଌʢ68Ϋϥεʣ !" খྨ༧ଌʢ524Ϋϥεʣͷ3εςʔδ੍Λಋೖ ▪ લஈͷ༧ଌ݁ՌΛޙஈͷೖྗಛྔͷҰ෦ͱͯ͠ར༻ ɾςΩετಛྔ - اۀ໊ͷ5'*%' - ֓ཁςΩετͷ5'*%' - ใͷ5'*%' ɾΧςΰϦม - ࠃ໊ - - ۀք େྨ༧ଌ ɾςΩετಛྔ - اۀ໊ͷ5'*%' - ֓ཁςΩετͷ5'*%' - ใͷ5'*%' ɾΧςΰϦม - ࠃ໊ - - ۀք - େྨ༧ଌॱҐ ɾςΩετಛྔ - ֓ཁςΩετͷ!"#$%" - ใͷ!"#$%" - ֓ཁςΩετɾใͷ&'()*+* ,)-.*+*/0122342*+*56783910:*&36236;3* (6;<=39 ɾΧςΰϦม - ۀք - େྨ༧ଌॱҐ - தྨ༧ଌॱҐ தྨ༧ଌ খྨ༧ଌ -
࣮ݧɿϞσϧ֓ཁ (3/3) 14 • BERT ◦ ςΩετͷܥྻతͳಛɾจ຺Λߟྀͨ͠දݱΛར༻͠ɼ #$%&'()*ͱͷΞϯαϯϒϧͰ૬ิతʹਫ਼ΛߴΊΔ ◦ +,%%$-%"./01"23/-45637134ͷ813'98/419,-0/41:Λར༻
;<6=5>?"@A@AB ◦ ଐੑใෆཁ ! ࠷ॳ͔ΒখྨΛ༧ଌ • Ξϯαϯϒϧ ◦ ୯ମϞσϧͷੑೳ͕΄΅ಉͰ͋ΔͨΊɼ2ͭͷϞσϧͷग़ྗʹ͍ͭͯ୯७ͳ૬ՃฏۉΛͱΔ -
࣮ݧઃఆ 15 • σʔλͷׂ ◦ ্اۀσʔλɿC@?DE@݅ ▪ Խநग़ʹΑΓ ֶशσʔλɿධՁσʔλʹDFGʹׂ •
ׂͰ͖ͳ͍ྨʢαϯϓϧαΠζʹHʣର֎ͱ͢Δ ▪ ֶशσʔλʹରͯ͠ E956=:"ԽΫϩεόϦσʔγϣϯ • EͭͷϞσϧΛ࡞͠ɼ࠷ऴతͳ༧ଌEͭͷฏۉΛ࠾༻͢Δ ◦ ඇ্اۀσʔλɿ@IJ݅ ▪ ༗ࣝऀͷڠྗʹΑΓϥϕϧ͖σʔλΛ༻ҙ ▪ શͯΛධՁσʔλͱͯ͠ར༻ • ධՁࢦඪɿਖ਼ʢ!""#$%"&ʣ ◦ αʔϏεཁ݅ɿ୯७ʹ݅ϕʔεͰͷਖ਼Λ্͍͛ͨ -
࣮ݧ݁Ռ (1/3) 16 ◦ ఏҊ๏ ▪ !"#$ଐੑใͷਓҝతͳܽଛ ▪ !""#$%&'()*+)"+,$-+,"&+."/0Λར༻ͨ͠ಛબ ▪
!"""#$ೖྗςΩετͷτʔΫϯͷௐ ਖ਼ • ਖ਼ ◦ #$%&'()* ▪ ݕূσʔλɾධՁσʔλؒͰ@AϙΠϯτҎ্ͷဃ !"ఏҊ๏K$L?"K$$LͰ͍ͣΕվળ (%) -
࣮ݧ݁Ռ (2/3) 17 • ਖ਼ ◦ BERT ▪ ఏҊ๏ͳ͠ʹൺͯɼఏҊ๏K$$$LͰվળ ◦
ఏҊ๏ ▪ !"#$ଐੑใͷਓҝతͳܽଛ ▪ !""#$%&'()*+)"+,$-+,"&+."/0Λར༻ͨ͠ಛબ ▪ !"""#$ೖྗςΩετͷτʔΫϯͷௐ ਖ਼ (%) -
࣮ݧ݁Ռ (3/3) 18 • ਖ਼ ◦ Ξϯαϯϒϧ ▪ ୯ମϞσϧʹൺ͍ͯͣΕߴੑೳɼఏҊ๏ʹΑΓධՁσʔλͷ༧ଌੑೳ্ ▪
αʔϏεʹैདྷಋೖ͞Ε͍ͯͨϧʔϧϕʔεʹରͯ͠HMN@AϙΠϯτͷ༧ଌੑೳ্ ◦ 提案法 ▪ (i) 属性情報の人為的な欠損 ▪ (ii) Adversarial Validationを利用した特徴選択 ▪ (iii) 入力テキストのトークン長の調整 ਖ਼ アンサンブル-提案法 (%) -
ߟ (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ݩʑڞมྔγϑτͷӨڹ͕େ͖͘ͳ͘ɼ #$%&'()*ͰͷѱӨڹΛΞϯαϯϒϧͰٵऩͯ͘͠Εͨ * : ͦΕͧΕఏҊख๏ͳ͠ͱൺֱͨ͠ͱ͖ͷ ဃͷվળ෯ -
ߟ (2/2) 20 • ఆੑతͳΤϥʔੳ ◦ ۀքྨ͝ͱͷʮͯ͢͞ɾͯʹ͘͞ʯͷௐࠪʢGAA݅͘Β͍ʣ ▪ ʮαϯϓϧαΠζEAҎ্ʯͷۀքྨ͔Βਫ਼ϫʔετEͷσʔλΛશ෦ݟΔ ▪
ʮαϯϓϧαΠζEAະຬʯͷۀքྨ͔Βਫ਼ ϕετEͷσʔλΛશ෦ݟΔ ◦ ΤϥʔͷݪҼɿ ▪ اۀ͕ల։͢Δෳࣄۀʹ͍ͭͯهड़͞Ε͓ͯΓɺHͭʹߜΓʹ͍͘ • X୯Ұࣄۀͷձ͍ࣾͯ͢ ▪ ਓؒͰஅ͕͍͠Α͏ͳޡྨଟ͍ • ʢྫʣύοέʔδιϑτʢҰൠ͚ʣ63"ύοέʔδιϑτʢͦͷଞۀ͚ʣ • ιϑτΣΞܥͷྨબࢶଟ͘ɼྨͷఆٛʹ͍ͭͯਂ͍ཧղ͕ඞཁ ▪ ਖ਼ղϥϕϧͷϛεʹݟ͑ΔͷʢY6$4R"#/81=4ʣ • ʢྫʣ8$6=6%$0":3,%4"Λల։ ! ਖ਼ղɿϑΝετϑʔυʢϋϯόʔΨʔʣ -
·ͱΊ 21 • !"#$%&$͕ࣾఏڙ͢Δاۀσʔλʹରͯ͠ɺ ඇ্اۀͷۀքྨίʔυΛ༩͢ΔͨΊͷػցֶशϞσϧʹ͍ͭͯఏҊ • ্اۀ ͷ ݕূ σʔλ
ʹରͯ͠ਖ਼ղ'()'*ɺ ඇ্اۀ ͷ ςετσʔλ ʹରͯ͠ਖ਼ղ'+),*Λୡ ◦ ػցֶशͳ͠ͷैདྷख๏ͱൺͯ12ʙ34ϙΠϯτͷվળ • ্اۀσʔλͱඇ্اۀσʔλͷؒʹଘࡏͨ͠ڞมྔγϑτͷӨڹΛݮ ◦ (i) ଐੑใͷਓҝతͳܽଛ ◦ (ii) Adversarial ValidationΛར༻ͨ͠ಛબ ◦ (iii) ೖྗςΩετͷτʔΫϯͷௐ • ఏҊख๏ຊܦࡁ৽ฉࣾͷ࣮αʔϏεಋೖࡁΈ