Label ranking average precision

Label ranking average precisionはマルチラベル問題に用いられる評価指標の一つで、

正解ラベルと予測値

スクリーンショット 2019-04-06 20.39.13スクリーンショット 2019-04-06 20.39.23

を用いて、下記のように表されるスクリーンショット 2019-04-06 20.27.08

ただし、

スクリーンショット 2019-04-06 20.39.35

である。

今回はこの指標を丁寧に説明しよう。

まず、

スクリーンショット 2019-04-06 20.32.16

で、これからサンプルの数で平均を取るぞ、と宣言している。

スクリーンショット 2019-04-06 20.34.51

この箇所の意味だが、y_iベクトルのL0ノルムの逆数を表している。(L0ノルムはベクトルの非ゼロ要素の和である。)今回y_iは{0,1}の2値変数のベクトルであるため、L0ノルムはy_iのうち要素が1である個数を表している。

スクリーンショット 2019-04-06 20.46.30

コロンの右側は集合の条件を表すので、y_ij=1の場合のみ取り扱うと宣言している。すなわち、

スクリーンショット 2019-04-06 20.46.38

はy_iに置いて、これからy_ij=1で何らかの平均を取るぞ、と宣言している。

スクリーンショット 2019-04-06 20.52.34

最後にこの式は 、要素jまでを正例と予測するように閾値を決定した際のprecisionを表している。この時、分子分母ともにjの変数となっていることに注意しよう。

数式はscikit-learnを参考にさせてもらった。実際に、リンク先の場合のLabel ranking average precisionを手計算すれば、理解が深まると思う。

 

Kaggleの取り組み方 (1)どんなコンペを選ぶべきか

はじめに

近年、データサイエンス界隈が盛り上がっている。それを受けてKaggleを始めた・始めようとしている人も多いのではないだろうか。この記事では私なりにKaggleのコンペにどう取り組んでいるかをまとめる。ここでは、「Kaggleが何か?」についての解説はしない。

どんなコンペを選ぶべきか

いくつかの軸がある

地雷コンペ

実は、ここが最初の難所。というのも、正直Kaggleには地雷のようなコンペが存在する。

  • leakが存在する
  • trainとtestの分布が大きく違う
  • 一般的な統計、機械学習アプローチでは解けない
  • などなど

コンペのスポンサーはあくまで人間であるので、コンペの問題設定が必ずしも綺麗なものとは限らない。こういった地雷要素が開催期間の最初のうちに、判断できればいいのだが優秀なKagglerでもない限り、難しい場合もある。その場合、費やした多くの時間が無駄になる可能性もある。(もちろん学んだことは無駄にはならないが)

しかし、逆にこういったパズル要素、運要素を楽しむKagglerも少なからず存在する。どういうコンペを面白いと思うかは人それぞれなので、コンペにはこういった多様性があるという前提の元、コンペを選ぶとよい。

開催期間

Kaggleは基本的に長期戦だ。短いものでも1,2ヶ月長いものだと、1 年近くなる。世の中に数多くある様々なジャンルの「競技」の中でも長期戦の競技だと言えるだろう。

そのためコンペの期間というのは非常に重要になってくる。学生にしろ社会人にしろ、数ヶ月という期間をコンペに捧げることを覚悟し、時間の割り当てを行うのは容易なことではない。

自分がコツコツと時間を確保できる生活(性格)をしているなら、長期間のコンペに挑んでもいいし、短期集中が得意なタイプなら短期間のコンペに挑むのがよいだろう。

あえて終了間際のコンペに挑むという縛りプレイをしたりするKagglerもいるが、これも技術取得など様々な視点から、時に有益な選択肢だ。

ドメイン

言わずもがな、どのようなドメイン(領域)のコンペを選ぶかも重要だ。自分の専攻、業務、趣味とマッチしているコンペであれば非常に有利に事を進められるだろう。

「深層学習では特徴量の選択を行う必要がない」とよく聞くが、必ずしもそうとは限らない。実際に、Kaggleの上位入賞者のソリューションを見てみると、ドメイン知識やコンペにあたり勉強した事が豊富に盛り込まれていることが多い。とにかく、自分の得意なドメインでコンペに挑むことで、上位に食い込める可能性がグッと上がることは疑いの余地がない。

一方、技術習得の観点で見れば、未経験の分野に飛び込むのもアリだ。最初は戸惑うことも多いかもしれないが、学ぶことは多い。

メダル

Kaggleでは順位に応じてメダルをもらうことができ、これによって称号が得られることは、もはや説明の必要もないだろう。

しかし、以下の記事にもあるようにコンペによってはメダルが得られないコンペもあるので注意すること。Kaggleでメダルが獲得できるコンペか否か確認する

コンペに参加するモチベーションは千差万別だと思うが、メダルが何らかのモチベーションになっている人は少なくないだろう。

  • スキルの証明
  • 自己顕示
  • 社内評価

ちなみに、あまり語っている人が多くないように見えるが、メダル取得の難易度はコンペによってかなり異なる。コンペによってはカーネルに少し手を加えるだけで銅メダルが取れてしまうようなものもある。あなたがどういった目的でメダルが欲しいのかはわからないが、それ自体が目的なら多くのコンペでとりあえずサブミットしてみることをオススメする。

参加者数

参加者数もコンペ選びの一つの指標になる。一般的に、参加者が多いコンペほどカーネルやディスカッションが盛り上がり、得るものも多い。また、周囲(ネット)を探しても取り組んでいる仲間を見つけることができるのでモチベーションを保ちやすいというメリットもある。

また、メタ的に参加者が多いコンペは質の良いコンペである場合が多い。

迷っているなら、今すぐオンライン英会話を始めよう

私はここ2ヶ月くらいオンライン英会話を利用している。

大体、2日に一度以上のペースで出来てるので、結構な回数をこなせていると思う。その中で成長したことは、自分が期待していたものとは必ずしも一致していない。

オンライン英会話で成長できると思っていた点は、

    リスニング
    スピーキング

  • これは、誰もが期待するポイントだ。一方、一番成長したと思う点は、
    外国人と話す心理的障壁がなくなったこと
    日本語に対する理解
    リスニング

  • などだ。いずれも、やってみて始めて分かったことだし、かなり貴重な成長だと感じている。
  • 英会話を始めようか迷っている人。今なら初月は無料でできるサービスも多いと思うので、まずは一度試してみたらどうだろうか。
  • 詳細については後日、追記しようと思う。

プログラミングを始めたい人は、まず何をすればいいのか

はじめに

私は仕事や趣味でプログラミングをしますが、決して優秀なプログラマではありません。
しかし、そんな凡人なりにも何年かプログラミングをしながら、タイトルについて自分なりに考えています。プログラミングを始めたいと思っている方のお力になれればと思います。

まず学ぶ目的をはっきりさせる

プログラミングに限った話ではないですが、物事を始める時には目的(ゴール)を設定することが重要です。

目的と動機

あなたは、どんな動機でプログラミングを始めようと思ったのでしょうか。
例えば、

  • 自分のアイデアをアプリにしたいから?
  • 義務教育でプログラミングが始まったから?
  • 周りの人が始めているから?

様々な動機が考えられますね。
もし、動機が

  • 自分のアイデアをアプリにしたいから?

であるならば、目的は動機そのものですね。
一方、動機が

  • 義務教育でプログラミングが始まったから?
  • 周りの人が始めているから?

であるならば、ここで目的を決めましょう
例えば、

  • 義務教育でプログラミングが始まったから、自分の子どもに教えられるようにプログラミングを学ぼう
  • 周りの人が始めているから、自分の市場価値を保つ、高めるためにプログラミングを学ぼう

何を作りたいのか

プログラミングは、基本的には道具です。なので、あなたが道具を使って何を作りたいかが重要です。
既に、あなたが作りたいものがあるなら幸せ者です。もし、ないのであれば、まずは何を作りたいのか考えてみましょう。

プログラミングで何を作れるのか

初学者のあなたは、そもそもプログラミングで何を作れるのかが分からないかもしれませんね。
でも、安心してください。自由にをあなたが作りたいと思うものを考えてみてください。
ソフトウェアの範疇を超えていないのであれば、プログラムで実現できないことは理論的にはありません

完璧を求めすぎないこと

もちろん、あなたが(というより世界の誰であっても)実際にプログラミングが可能かというと、話は別です。
技術的、時間的、金銭的な制約の中では、あなたが本当に欲しいソフトウェアを作れるとは限りません。
それでも、理想に対して妥協をすれば、ある程度動くソフトウェアが作れるはずです。品質をあげるのはその後で良いのです。
まずは、自分の胸に手を当てて、何を作ってみたいのかを考え、それを大事にしましょう

作りながら、学ぶ

さて、作るものが決まりましたね。あとはプログラミングで欲しいものを作るだけです。
初学者のあなたは、分からないことだらけでしょう。その都度調べるということを大事にしてください。
調べる→手を動かす→調べる→手を動かす→…
プログラマは、基本的にこのサイクルを回して、学びます。
どんなに優れたプログラマであっても、全ての技術を知っているわけではなく、必ず調べながら学ぶのです。

おわりに

最後まで読んでくれてありがとうございます!良いプログラミングライフを!

惑星名の外国語訳

太陽系の惑星を様々な言語に訳しました。

日本語 水星 金星 地球 火星 木星 土星 天王星 海王星
英語 Mercury Venus Earth Mars Jupiter Saturn Uranus Neptune
スペイン語 Mercurio Venus Tierra Marte Júpiter Saturno Urano Neptuno
韓国語 수성 금성 지구 화성 목성 토성 천왕성 해왕성
フランス語 Mercure Vénus Terre Mars Jupiter Saturne Uranus Neptune
ドイツ語 Merkur Venus Erde Mars Jupiter Saturn Uranus Neptun
ギリシャ語 Ερμής Αφροδίτη Γη Άρης Δίας Κρόνος Ουρανός Ποσειδώνας
ラテン語 Mercurius Venus Tellus Mars Iuppiter Saturnus Uranus Neptunus
イタリア語 Mercurio Venere Terra Marte Giove Saturno Urano Nettuno
ロシア語 Меркурий Венера Земля Марс Юпитер Сатурн Уран Нептун

間違い等ありましたらコメントお願いいたします。

88星座を英語で

全88星座を英訳してみました。
ちなみに大きい順に並んでいます。

うみへび座・・・Hydra
おとめ座・・・Virgo
おおぐま座・・・Ursa Major
くじら座・・・Cetus
ヘルクレス座・・・Hercules
エリダヌス座・・・Eridanus
ペガスス座・・・Winged Horse
りゅう座・・・Draco
ケンタウルス座・・・Centaurus
みずがめ座・・・Aquarius
へびつかい座・・・Ophiuchus
しし座・・・Leo
うしかい座・・・Bootes
うお座・・・Pisces
いて座・・・Sagittarius
はくちょう座・・・Cygnus
おうし座・・・Taurus
きりん座・・・Camelopardalis
アンドロメダ座・・・Andromeda
とも座・・・Both seat
ぎょしゃ座・・・Auriga
わし座・・・Aquila
へび座・・・Serpens
ペルセウス座・・・Perseus
カシオペヤ座・・・Cassiopeia
オリオン座・・・Orion
ケフェウス座・・・Cepheus
やまねこ座・・・Lynx
てんびん座・・・Libra
ふたご座・・・Gemini
かに座・・・Cancer
ほ座・・・Vela
さそり座・・・Scorpio
りゅうこつ座・・・Carina
いっかくじゅう座・・・Monoceros
ちょうこくしつ座・・・Sculptor seat
ほうおう座・・・Pope seat
りょうけん座・・・Canes Venatici
おひつじ座・・・Aries
やぎ座・・・Capricornus
ろ座・・・Fornax
かみのけ座・・・Coma Berenices
おおいぬ座・・・Canis Major
くじゃく座・・・Peacock seat
つる座・・・Grus
おおかみ座・・・Lupus
ろくぶんぎ座・・・Sextans
きょしちょう座・・・Tucana
インディアン座・・・Indus
はちぶんぎ座・・・Octans
うさぎ座・・・Lepus
こと座・・・Lyra
コップ座・・・Crater
はと座・・・Columba
こぎつね座・・・Vulpecula
こぐま座・・・Ursa Minor
ぼうえんきょう座・・・Telescopium
とけい座・・・Horologium
がか座・・・Painter seat
みなみのうお座・・・Pisces of the south
みずへび座・・・Water snake seat
ポンプ座・・・Antlia
さいだん座・・・Ara
こじし座・・・Leo Minor
らしんばん座・・・Pyxis
けんびきょう座・・・Microscope seat
ふうちょう座・・・Climate seat
とかげ座・・・Lacerta
いるか座・・・Dolphins seat
からす座・・・Corvus
こいぬ座・・・Puppy seat
かじき座・・・Dorado
かんむり座・・・Corona Borealis
じょうぎ座・・・Norma
テーブルさん座・・・Mensa
とびうお座・・・Volans
はえ座・・・Fly seat
さんかく座・・・Triangulum
カメレオン座・・・Chamaeleon
みなみのかんむり座・・・Corona Australis
ちょうこくぐ座・・・Engraving tool seat
レチクル座・・・Reticle seat
みなみのさんかく座・・・Triangulum australe
たて座・・・Scutum
コンパス座・・・Circinus
や座・・・And seat
こうま座・・・Equuleus
みなみじゅうじ座・・・South engaged in seats

間違い等あったらコメントお願いいたします。

12星座の外国語についてはこちら
に詳しく載せています。
また、宇宙、天文の基本用語の英訳についてはこちら
です。

宇宙・天文用語のフランス語訳まとめ

宇宙や天文学に関する用語をカテゴリー別に
フランス語訳して、まとめました。

天体・・・ corps céleste

恒星・・・ étoile
惑星・・・ planète
衛星・・・ satellite

彗星・・・ comète
小惑星・・・ astéroïde

星雲・・・ nébuleuse
星団・・・ groupe d’étoile
銀河・・・ galaxie
銀河群・・・ groupe Galaxy
銀河団・・・ cluster Galaxy
超銀河団・・・ Superamas

連星・・・ étoiles binaire
三連星・・・ Sanrense

水星・・・ Mercure
金星・・・ Vénus
地球・・・ terre
火星・・・ Mars
木星・・・ Jupiter
土星・・・ Saturne
天王星・・・ Uranus
海王星・・・ Neptune
冥王星・・・ Pluton

明けの明星・・・ Lucifer
宵の明星・・・ Hesperus

自転・・・ rotation
公転・・・ révolution
軌道・・・ orbite

人工物・・・ artefact

人工衛星・・・ satellite
宇宙ステーション・・・ station spatial

星座・・・ constellation

おひつじ座・・・ Bélier
おうし座・・・ Taureau
ふたご座・・・ Gémeaux
かに座・・・ cancer
しし座・・・ Lion
おとめ座・・・ Vierge
てんびん座・・・ Balance
さそり座・・・ Scorpion
いて座・・・ Sagittaire
やぎ座・・・ Capricornus
みずがめ座・・・ Verseau
うお座・・・ Poissons

12星座の外国語についてはこちら
に詳しく載せています。

天文現象・・・ phénomènes astronomiques

流星群・・・ Meteor douche
日食・・・ éclipse
月食・・・ éclipse lunaire
超新星・・・ Supernova

天体観測・・・ L’observation astronomique

望遠鏡・・・ télescope
天文台・・・ observatoire

いかがでしたか。
随時更新していきます。

「日本語・・・英語」についてはこちら
に詳しく載せています。

宇宙・天文用語のドイツ語訳まとめ

宇宙や天文学に関する用語をカテゴリー別に
ドイツ語訳して、まとめました。

天体・・・ Himmelskörper

恒星・・・ Stern
惑星・・・ Planet
衛星・・・ Satellit

彗星・・・ Komet
小惑星・・・ Asteroid

星雲・・・ Nebel
星団・・・ Sternhaufen
銀河・・・ Galaxis
銀河群・・・ Galaxy-Gruppe
銀河団・・・ Galaxy Cluster
超銀河団・・・ Super

連星・・・ Doppelstern

水星・・・ Merkur
金星・・・ Venus
地球・・・ Erde
火星・・・ Mars
木星・・・ Jupiter
土星・・・ Saturn
天王星・・・ Uranus
海王星・・・ Neptun
冥王星・・・ Pluto

明けの明星・・・ Lucifer
宵の明星・・・ Hesperus

自転・・・ Rotation
公転・・・ Revolution
軌道・・・ Orbit

人工物・・・ Artefakt

人工衛星・・・ Satellit
宇宙ステーション・・・ Raumstation

星座・・・ Konstellation

おひつじ座・・・ Widder
おうし座・・・ Stier
ふたご座・・・ Zwillinge
かに座・・・ Krebs
しし座・・・ Löwe
おとめ座・・・ Jungfrau
てんびん座・・・ Waage
さそり座・・・ Skorpion
いて座・・・ Schütze
やぎ座・・・ Cornus
みずがめ座・・・ Wassermann
うお座・・・ Fische

12星座の外国語についてはこちら
に詳しく載せています。

天文現象・・・ Astronomische Phänomene

流星群・・・ Meteorregen
日食・・・ verdunkeln
月食・・・ Mondfinsternis
超新星・・・ Supernova

天体観測・・・ Astronomische Beobachtung

望遠鏡・・・ Teleskop
天文台・・・ Observatorium

いかがでしたか。
随時更新していきます。

「日本語・・・英語」についてはこちら
に詳しく載せています。

宇宙に関する用語のラテン語訳まとめ

宇宙に関する用語のラテン語訳のページです。
間違っている可能性もあるので、利用する際はご自身でも調べてみてください。

天体・・・quod corpus caeleste

universe

恒星・・・stella
衛星・・・Equium

彗星・・・Comet
小惑星・・・Etiam

水星・・・Mercurius
金星・・・Venus
地球・・・Tellus
火星・・・Martem
木星・・・Jupiter
土星・・・Saturnus
天王星・・・Uranus
海王星・・・Neptune
冥王星・・・Pluto

自転・・・rotatione
公転・・・Seditio
軌道・・・orbit

人工物・・・artificium

星座・・・Sidus

12星座の外国語についてはこちら
に詳しく載せています。

天体観測・・・astronomiae observatione

望遠鏡・・・Telescopium
天文台・・・Observatorio

いかがでしたか。
随時更新していきます。