協調フィルタリング cos(コサイン)類似度

 

 

グループ分けを行い、各グループの類似度をベクトルの内積の公式を使って、cosθの値で類似度を判断する。

 

  • 類似度が高い・・・似てるほど1に近づく、類似度100%で1
  • 類似度が低い・・・似てないほど0に近づく、類似度0%で0

 

 

補足1. ベクトルの基本的なところ

 

補足2. ベクトルの内積の公式

  • a, bベクトルのなす角θが直角である時にcos90° = 0であり、
    a, bベクトルがそれぞれどのような長さの値でも、内積は0になる性質があります。
  • a, bベクトルのなす角θが0°である時にcos0° = 1であり、
    a, bベクトルの内積は一辺が|a|の大きさ, 一辺が|b|の大きさの長方形の面積と等しくなります。

 

 

 

補足3. ベクトルの正規化, 単位ベクトル

ベクトルの成分に対して、ベクトルの大きさで割ることで大きさ1の成分が出せます。ベクトルの方向を変えずに大きさを1にする操作を正規化と呼びます。

 

  • 大きさが1のベクトルを単位ベクトルと呼ぶ
  • ベクトルの正規化
    ベクトルをそのベクトルの長さで割ると、単位ベクトルを取得できます
  • ベクトルの内積の公式
    単位ベクトルに変換した大きさ1同士のベクトルの内積がcosθということですね。

 

補足4.  cosθって何者?

 

bの長さの屋根から出来る影をcの長さとして見ると、
cosθはbの長さがcの影になった時の縮小率として捉えることが出来ますね。

 

 

単位円の時、cosθは影の長さ

※成分が負(-)を含まない場合 θ = 0~90°

  • ベクトル同士が完全に同じ方向の時はθ = 0°, cosθ= 1
  • ベクトル同士が全く異なる場合はθ = 90°, cosθ = 0

 

ベクトルの内積はどれだけベクトル同士が同じ方向を向いているか = 類似度、この性質を利用します。

 

 

 

 

 

実際にやってみよう! 好きなフルーツの例

ばなな もも ぶどう りんご
Aさん 1 1 1 0
Bさん 1 0 1 0
Cさん 1 1 1 0
Dさん 0 1 0 1
Eさん 1 0 0 1
Fさん 1 0 1 1

 

  • 1 = 好き
  • 0 = 興味なし

 

ばなな好きグループの合算値

構成データ:A, B, C, E, Fさん

 

ばなな もも ぶどう りんご
ばなな好き 5 2 4 2

 

 

各グループの合算値

ばなな もも ぶどう りんご
ばなな好き 5 2 4 2
もも好き 2 3 2 1
ぶどう好き 4 2 4 1
りんご好き 2 1 1 3

 

 

プログラムで計算しよう

 

 

Numpy

  • ベクトルの内積: nunpy.dot(v1, v2)
  • ベクトルの長さ: numpy.linalg.norm(v1)

Functions

  • 正規化:normarize(v)
  • cos類似度: cos_similarity(v1, v2)

 

 

 

 

類似度

ばなな好き もも好き ぶどう好き りんご好き
ばなな好き 1 0.875 0.986 0.811
もも好き 1 0.891 0.730
ぶどう好き 1 0.721
りんご好き 1

ばなな好きグループとぶどう好きグループの好みはほとんど同じだということがわかります。

 

 

ユーモア, 笑いの技術

 

 

緊張と緩和

まじめな話の中でストーリーのセッティングを行い緊張を作り、オチとして緩和を行う。

 

 

漫才でのボケと突っ込みの役割

  • ボケ役 = 緊張を作り出す
    話をセッティングし緊張を作る、聞き手の推測をずらしたボケを行います。
  • 突っ込み役 = 緩和を行う
    ボケ役のボケに対して聞き手の推測とずれていることを、聞き手の代弁者としてボケ役に突っ込みを行うことで聞き手に緩和を与える役割

 

一人ボケつっこみとして、一人二人役を行っても良い。自分のおかしな話に自分で突っ込むことで緩和を行うことで笑いを作る。

 

 

例① いないいない・・・ばぁ!

赤ちゃんを『いないいない・・・』で顔がなくなった!と緊張させ、『ばぁ!』と顔を見せると安心する緩和から赤ちゃんは笑います。大人になっても人は同じように緊張と緩和で笑います。

 

例② ダチョウ倶楽部

押すなよ!絶対押すなよ!“といって押すネタです。
絶対押すなよと言われると押したくなる心理に加えてダチョウ倶楽部の鬼気迫るやりとりで緊張し、押すことで緩和となります。

この場合に押さなかったとしても、突っ込みとして『押せよ!』で緩和となり笑いが生まれます。

 

 

笑って話しをしないのがセオリーである理由

緊張がなくなるから。

 

 

緊張を生むコツ

話す前に映像のあるストーリーをイメージして、身振り手振りや擬音など臨場感を持たせるのが緊張を作るコツ。

 

具体例. 仁志松本のすべらない話

その場にいるような、次が気になる臨場感のある話し方から緊張が生まれ滑舌の悪い声真似自体が緩和として面白く、ジャブの時点で場が温まってます。オチは予測できるものですが、話し方自体が面白くジャブで緊張が十分効いてるので、ダチョウ倶楽部的なお約束のオチな緩和でも十分に笑いは生まれます。

結論としては、
十分な緊張と分かりやすい緩和があれば、オチ自体は予想できるものでも十分面白いのですね。

 

 

一言コメントで笑いをとる

雑談している場のメンバーの想定を超えたユニークで筋の通る一言でも笑いは生まれますが、難易度は高め。

理由として、
はずした時にはずしたことがばれて恥ずかしくなるリスクがあるので難易度が高めになりますね!

回避するには、
はずしてもそのまま斜め上で意味の通る賢くウィットにとんだ一言を言いましょう。

 

 

推測をずらす

話を組み立てて、相手が推測する流れをずらす。
推測とずれた時、自身の推測と目の前に起きた現実とに違いがあると思った時に人は笑う。

普通の話の流れで雑談をしていて不意に相手が一瞬で理解を出来ないボケを言うと、相手は理解できず???となります、その後に相手は一生懸命理解しようとしますが、相手が理解出来ない理由が、『ああ、ボケただけか』と安心した時にも笑いが出ます。

 

 

具体例. サンドウィッチマン パソコン教室

このコントはわかりやすいですね。

 

類似例

相手の想定を超えた一言では理解できないユニークな例えをだして説明し、相手がそれにすとんと納得いった時にも人は笑う。

また一瞬では理解しずらいことを言い、相手がそれがボケなんだと納得した時にも笑いは出ます。

 

 

結局のところどうするの?

 

  • 【緊張と緩和】
  • 【推測をずらす】
  • 【緊張と緩和】 + 【推測をずらす】

 

 

 

YAMAHA SWX2300 show障害解析コマンド

 

ネットワーク障害時に見るコマンド

 

オートネゴシエーションと実際のリンクアップ状況、Dropパケットの確認

 

 

コリジョン、エラーカウンタの確認

 

 

 

リンクアップやリンクダウンのログ

 

 

カウンター情報の初期化

ポート1の情報を初期化する場合

状況再現をする場合にカウンターデータを初期化して、データを取得する為に使用します。

 

 

 

環境設定の確認

 

 

コンフィグの確認

 

 

ファームウェアバージョンの確認

 

 

VLAN

 

 

 

スパニングツリー

 

 

 

ループの確認

 

 

 

マックアドレステーブルの確認

 

 

 

l2ms

 

 

 

送信キュー使用率の表示

 

 

エラー検出機能の情報表示

 

 

 

SFPモジュールの状態表示

 

 

 

 

テクニカルコマンド

この記事で紹介したshow系コマンドをすべて実行する

 

 

暫定コンフィグが再起動で消えて障害に ーーみずほ証券6月の障害 再起動したら情報消えた

 

 

事象

 

処理遅延が続いた後に処理が出来ず、サービス不稼働の事態に至った

 

 

原因

 

再起動したら消える暫定のコンフィグのまま本番稼動し、再起動した結果、暫定のコンフィグが消えて障害に至った。

 

 

恒久対応

 

  • メモリに入った暫定設定を永続ファイルに忘れずに書き込む
  • 設定後のダブルチェック
  • 本番運用前に動作テスト

 

 

>通信できなくなった理由は運用管理サーバーが外部接続サーバーとの通信に必要な「経路の情報」(三橋執行役員)を失ったからだ。みずほ証券は定期メンテナンスのため運用管理サーバーを2カ月に1回の頻度で再起動している。6月23~24日の週末に再起動したところ、経路情報が消えたという。

>みずほ証券は18年5月上旬、それまで使っていた外部接続サーバーが老朽化してきたため、入れ替え用の新たなサーバーを追加し、2系統での運用を始めた。53社分の外部接続機能を段階的に旧サーバーから新サーバーに移行する計画だった。

 ここで新サーバーについて、「暫定的な経路を設定するコマンドで設定してしまった」(同)。この設定だと運用管理サーバーの再起動で経路情報が消えてしまう。新しい外部接続サーバーは二重化していたが、同じ設定方法を採っていたため、再起動で本番機と待機機とも情報が消えた。

本来は再起動しても設定が消えない「正式なやり方」(同)で設定する必要があった。だが、53社の接続機能を全て移行するまで新サーバーは暫定的なものであると誤って認識し、暫定で設定するコマンドを使ったという。

>設定作業は関連会社に委託したが、三橋執行役員は「当社が確認した作業内容に沿って作業してもらった」と話し、障害の責任は自社にあるとの認識を示した。「チェックの甘さがあった」と反省し、今後、漏れがないチェック体制を確立していくとしている。

 

 

https://www.nikkei.com/article/DGXMZO33562260Q8A730C1000000/

 

 

robocopy Windows間でデータ複製

robocopy Windowsファイルサーバの御引越やバックアップに利用しちゃおう!

寄稿しました。

 

 

コマンド例 リモートからローカルのDドライブにコピー

 

/Lオプションでテスト

テストが出来ます。必ず初めにこれを実行して挙動を確認しましょう。実際には実行されないけれど、論理的な結果を確認出来ます。ドライランとも言います。

 

/MIR ミラーリング

ミラーリングです、ファイルが存在しないや削除という結果も複製先で再現されるので、コピー元とコピー先の順序を間違えると死ねます!

 

/SECオプション 権限設定も複製したい

ファイルサーバで重要な権限も複製します。

 

 

/R:5 /W:5

リトライ用のオプションです。

  • /R:失敗した場合の試行回数
  • /W:再試行するまでの待ち秒数

 

/XJD /XJF

特殊フォルダを除外します。

 

/COPY:DAT

  • D:データ
  • A:属性
  • T:タイムスタンプ

これらを含めてコピーします。

 

k近傍法 k-nearest neighbor algorithm, k-NN

 

k近傍法

データのカテゴリが近いかどうかを距離でどれだけ属性が近いかを評価し分類。
レコメンドアルゴリズムの1つ。

 

 

評価項目が2つ(2次元、ユークリッド平面)

2つのデータが似ているかどうかを距離で評価する、
三平方の定理でデータの最短距離の直線、
2次元のユークリッド距離が出せます。

シンプルな直線。

 

 

ex)

評価項目が5つある場合(ユークリッド5次元)

n次元であっても、データ同士の差を2乗した総和の平方根という同じやり方で、データ間のユークリッド距離で評価が出来ます。

 

 

 

 

 

標準ユークリッド距離(2次元)

各次元のデータ同士の差を2乗したものを次元ごとに標準偏差で割った値の総和の平方根

 

 

 

@see

 

 

90日世代管理+データバックアップ date関数使用シェルスクリプト

 

date関数使用

 

90DayDataBackup.sh

rmコマンドが絡むので面倒でも変数の空判定はしましょう。

 

 

 

実行権限付与と実行

 

 

 

CRONに登録

 

 

設定反映

 

 

簡易版

 

 

 

さくっと割り勘計算

 

例題

サラリーマン4人、学生2人の6人で飲み会を行い、27,000円の会計についてワリカンを行う、また学生に対して徴収する金額を少なくする配慮をしたい。

 

結論例:1人から徴収する金額

  • サラリーマン5,000円
  • 学生3,500円

 

 

 

考え方

  1. 27,000円 ≒ およそ30,000円と考える、
    +方向に多めに余剰させて人数で割りやすいおよその金額を出すのがポイント
  2. およその30,000円から一人あたり支払う金額を人数で割って出す、
    人数で割った時に割り切れる、計算しやすい値をおよそに持つと良いです。
  3. およそで出した30,000円から実際の金額27,000円を引いて、差額で余剰する3,000円が算出される。この3,000円は学生へのキャッシュバック分になります。
  4. 差額の3,000円を学生の人数2人で分配してキャッシュバック

 

30,000円 ÷ 6 = 5,000円
実際の会計は27,000円であるから、
30,000円 − 27,000円で3,000円余りますよね。

これが実はキャッシュバック分になります。
キャッシュバック分を学生の人数2人で割って一人分のキャッシュバック分が出ます。
3,000 ÷ 学生2人 = 1,500円

学生に1,500円を予めキャッシュバックすると考えると、
5,000 − 1,500 = 3,500円が学生1人の徴収額になりますね!

 

つまりこういうことになる
27,000円 = (5,000円 × 4) + (3,500円 × 2)

 

結論例:徴収する金額

  • サラリーマン5,000円,
  • 学生3,500円

 

 

 

正方形4拠点間ルート最適化 シュタイナー木問題

合成関数の微分

 

 

分岐が2つの時、ここの角度が120°で最短ルートになる

 

 

三角形の場合

∠APB = ∠BPC = ∠CPA = 120°の時にP点を通る道が最短になる。

 

  • 最大角が 120°以下→P点を結んだものが最短ルート
  • 最大角が 120°以上→2辺を使うものが最短ルート

 

 

 

 

 

@see

  • http://sshmathgeom.private.coocan.jp/solidsteiner/solidsteinerproblem.html
  • https://mathtrain.jp/steiner-2
  • 仕事に役立つ数学
  • https://www.slideshare.net/wata_orz/ss-12208032

 

フーリエ級数展開

 

周期Tの関数について、三角関数の和で表現します。

 

周期2πの時

b0はsin0=0になるので省略されるよ!

 

 

フーリエ係数

a0, an, bnはフーリエ係数と呼びます。

 

 

 

1/2π? 1/π?

 

 

同周期のsin または 同周期のcos同士の関数は直交しないので、周期の区間でも面積πが出ます。
※∫sinx・cosx dx、∫sin2x・sinx dxなど直交している関数の積分において、2πの区間の積分は±の面積の和で=0になります、直交している関数の内積は0になるからです。

 

 

 

anの積分(面積)について、πで割ると一辺である振幅=anが出ます。

a0の時に1/2なのは、n=0の時にcos0で0~2πで積分計算すると2a0になるので、辻褄を合せる為に1/2をかけます。

 

a0はグラフの全体の上下を決める、

 

 

 

周期2πではない時

 

 

 

 

 

※グラフ等追加します。

 

部分積分

 

掛け算の積分を簡単に計算出来ます。

 

 

1×で考えるパターン

 

∫log xの積分の公式?が出せます。

 

 

 

使うタイミング

  1. 掛け算になっている
  2. 片方が微分すると簡単になる
  3. もう片方が積分しても複雑にならない

 

この3つの条件がそろった時がタイミング。

 

こういう簡単に展開するやつの他に置換積分偶関数と奇関数の性質を使ったものもある。

また三角関数の場合、±で周期する範囲の定積分は0で計算できるので無視できる。

 

 

saxa SS5000 UTMレビュー

 

日本向け特化の中小向けUTM

管理がしやすく、優しい設計で保守がしやすいのが特徴。

 

GUIですべての機能が使えるのでシンプルでもあります。

 

saxa SS5000 国産のUTMを試してみる

寄稿しました。

 

ITに詳しくはないけれど、何かしないと不安だ。

大げさな製品はいらないけど、しっかり防御したい中小規模の事業所に最適な製品です(۶•̀ᴗ•́)۶

 

 

 

Python NumPyで三角関数の合成

正弦関数と余弦関数の合成のグラフも簡単に作れます。

 

荒ぶる正接関数のグラフ

 

sin(x)同士でかけ合わせることで、-同士の掛け算だから-がなくなります。
周期も1/2になっているね。

 

sinxとcosxの積は1/2sin2xになりました、
sinxと比べて、振幅が1/2で、周期は2倍早くなっています。

 

一見複雑ですが、広く見ると周期しています。

 

 

 

 

 

 

 

PowerPointマクロ 総スライド

 

会社のパワポのひな形に入っているマクロ
たまにマクロが消えていたりするのでバックアップとしてメモ

 

テイラー展開+マクローリン展開で近似

 

テイラー展開

元の式 = f(a) + 1階微分 + 2階微分 + ・・・ + n階微分した総和

 

数があまりに小さい時に近似として使える。
物理学・統計学、三角関数等を簡単な近似の式にする。

 

 

exp)
(1.008)^20

 

0次近似


1.008^20はほとんど1と同じという考え

1.008^20
≒ 1^20
≒ 1

 

1次近似

(1.008)^20 = (1 + 0.008)^20
≒ (1 + x)^20とします。

近似にする手段として接線の公式を利用します。
f(x) = f(a) +  f'(a)/1!(x-a) 

(1 + x)^20 = (1 + a)^20 + 20(1 + a)^19/1! × (x -a)

 

 

 

マクローリン展開

計算を簡単にする為にaが0の時で計算してみる、
原点周りでの展開で簡単にすること=マクローリン展開

 

a=0とすると、

(1 + 0)^20 + 20(1 + 0)^19 × (x – 0)
= 1 + 20×1^19 × x
= 1 + 20x

 

xが0.008だから、

= 1 + 20 × 0.008
= 1 + 0.16
=1.16

(1.008)^20の0の周りのテイラー展開での1次近似は1.16

(1.008)^20をまともに計算すると下記
1.17276404348

1.1727… ≒ 1.16

 

 

また、高次の導関数を考慮すると、近似はより近くなる。

 

 

2次近似

 

f(x) = f(a) + f'(a)/1!(x-a) + f”(a)/2!(x-a)^2

(1 + x)^20 = (1 + a)^20 + 20(1 + a)^19/1! × (x -a) + 20 × 19(1 + a)^18/2! × (x -a)

 

マクローリン展開
(1 + x)^20 = + (1 + 0)^20 + 20(1 + 0)^19/1! × (x – 0) + 19(1 + 0)^18/2! × (x -0)^2
= 1 + 20x + 19/2! × x
= 1 + 20x + 9.5x^2

f(0.008) = 1 + 20 × 0.008 + 9.5 × 0.008^2
=1.160608